FakeNewsDataset

class dgl.data.FakeNewsDataset(name, feature_name, raw_dir=None, transform=None)[source]

基类: DGLBuiltinDataset

假新闻图分类数据集。

该数据集包含从 Twitter 中提取的两组树状结构的假新闻/真实新闻传播图。与大多数用于图分类任务的基准数据集不同,此数据集中的图是定向树状结构图,其中根节点表示新闻,叶节点是转发根新闻的 Twitter 用户。此外,节点特征使用不同的预训练语言模型编码了用户的历史推文。

  • bert: 使用 bert-as-service 编码的 Twitter 用户历史推文组成的 768 维节点特征

  • content: 由 300 维的 “spacy” 向量加上 10 维的 “profile” 向量组成的 310 维节点特征

  • profile: 由十个 Twitter 用户资料属性组成的 10 维节点特征。

  • spacy: 使用 spaCy word2vec 编码器编码的 Twitter 用户历史推文组成的 300 维节点特征。

参考:<https://github.com/safe-graph/GNN-FakeNews>

注意:此数据集仅供学术使用,禁止商用。

统计信息

Politifact

  • 图数量: 314

  • 节点数量: 41,054

  • 边数量: 40,740

  • 类别

    • 假新闻: 157

    • 真实新闻: 157

  • 节点特征大小

    • bert: 768

    • content: 310

    • profile: 10

    • spacy: 300

Gossipcop

  • 图数量: 5,464

  • 节点数量: 314,262

  • 边数量: 308,798

  • 类别

    • 假新闻: 2,732

    • 真实新闻: 2,732

  • 节点特征大小

    • bert: 768

    • content: 310

    • profile: 10

    • spacy: 300

参数:
  • name (str) – 数据集名称 (gossipcop 或 politifact)

  • feature_name (str) – 特征名称 (bert, content, profile 或 spacy)

  • raw_dir (str) – 指定存储下载数据或已存储输入数据的目录。默认值: ~/.dgl/

  • transform (callable, optional) – 一个转换函数,接收 DGLGraph 对象并返回转换后的版本。每次访问 DGLGraph 对象之前都会对其进行转换。

name

数据集名称 (gossipcop 或 politifact)

类型:

str

num_classes

标签类别数量

类型:

int

num_graphs

图的数量

类型:

int

graphs

DGLGraph 对象的列表

类型:

list

labels

图标签

类型:

Tensor

feature_name

特征名称 (bert, content, profile 或 spacy)

类型:

str

feature

节点特征

类型:

Tensor

train_mask

训练集的掩码

类型:

Tensor

val_mask

验证集的掩码

类型:

Tensor

test_mask

测试集的掩码

类型:

Tensor

示例

>>> dataset = FakeNewsDataset('gossipcop', 'bert')
>>> graph, label = dataset[0]
>>> num_classes = dataset.num_classes
>>> feat = dataset.feature
>>> labels = dataset.labels
__getitem__(i)[source]

按索引获取图和标签

参数:

i (int) – 项目索引

返回类型:

(dgl.DGLGraph, Tensor)

__len__()[source]

数据集中图的数量。

返回类型:

int