2.3数据-paddlepaddle数据集Conll05

语义角色标注数据集Conll05

  • 语义角色标注数据集,因为Conll05数据集不是免费公开的,所以默认下载的url是Conll05的测试集(它是公开的)
  • 它返回一个reader creator,reader中的每个样本都有九个特征
  • 包括句子序列、谓词、谓词上下文、谓词上下文标记和标记序列

https://www.paddlepaddle.org.cn/documentation/docs/zh/api_cn/data/dataset_cn/Conll05_cn.html

https://github.com/PaddlePaddle/Paddle/blob/release/1.6/python/paddle/dataset/conll05.py#L218

https://www.paddlepaddle.org.cn/documentation/docs/zh/beginners_guide/basics/label_semantic_roles/index.html#id5

import numpy as np
import paddle as paddle
import paddle.dataset.conll05 as conll05
import paddle.fluid as fluid

# 获取维基百科语料库
# 包含:单词、动词 和 标签 字典。
conll05_dict=conll05.get_dict()

# 单词、动词 、标签
# len(conll05_dict) :3

# 3个字典数量
# len(conll05_dict[0].keys()),len(conll05_dict[1].keys()),len(conll05_dict[2].keys())
# 44068, 3162, 109

# 基于维基百科语料库的训练词向量,只是一个文件路径
conll05_embd=conll05.get_embedding()
# conll05_embd:/home/user/.cache/paddle/dataset/conll05st/conll05st%2Femb

# 这里加载PaddlePaddle保存的二进制参数
def load_parameter(file_name, h, w):
    with open(file_name, 'rb') as f:
        f.read(16)  # skip header.
        return np.fromfile(f, dtype=np.float32).reshape(h, w)

conll05_embdding=load_parameter(conll05.get_embedding(), 44068, 32)
# 词向量句子ndarray
# conll05_embdding.shape:(44068, 32)

# 只有测试数据
test_conll05=conll05.test()
# test_conll05:<function paddle.dataset.conll05.reader_creator.<locals>.reader()>
# 取一个数据
a_sample=next(test_conll05())
# 它返回一个reader creator,reader中的每个样本都有九个特征
# 包括句子序列、谓词、谓词上下文、谓词上下文标记和标记序列
# len(a_sample):9

# 放到batch里面加载
test_conll05_reader = paddle.batch(test_conll05, batch_size=64)
for data in test_conll05_reader():
    break
# len(data),len(data[0]):64, 9


原文地址:https://www.cnblogs.com/onenoteone/p/12441677.html