NYT-10数据获取(1.74G)

前言

本文大多数内容均copy于关系抽取数据集 NYT-10 SemEval2010


一、NYT-10是什么?

NYT-10数据发布于Riedel et al, 2010这篇论文中,其文本来源于纽约时报New York Times所标注的语料,命名实体是通过 Stanford NER 工具并结合 Freebase 知识库进行标注的。命名实体对之间的关系是链接和参考外部的Freebase知识库中的关系,结合远监督方法所得到的。

二、数据下载

1.OpenNRE

数据可直接从这一链接中进行下载:https://github.com/thunlp/OpenNRE/tree/master/benchmark
以其中的download_nyt10.sh为例其内容如下:

mkdir nyt10
wget -P nyt10 https://thunlp.oss-cn-qingdao.aliyuncs.com/opennre/benchmark/nyt10/nyt10_rel2id.json
wget -P nyt10 https://thunlp.oss-cn-qingdao.aliyuncs.com/opennre/benchmark/nyt10/nyt10_train.txt
wget -P nyt10 https://thunlp.oss-cn-qingdao.aliyuncs.com/opennre/benchmark/nyt10/nyt10_test.txt

我的步骤如下:

  1. 首先需要先安装wget。(使用直接百度得到的安装方法即可。)
  2. 在需要下载的目标文件下打开cmd。(或者打开cmd然后移动到目标文件下都一样。)
  3. 将上述4条命令改成如下:
mkdir nyt10
wget --no-check-certificate -P nyt10 https://thunlp.oss-cn-qingdao.aliyuncs.com/opennre/benchmark/nyt10/nyt10_rel2id.json
wget --no-check-certificate -P nyt10 https://thunlp.oss-cn-qingdao.aliyuncs.com/opennre/benchmark/nyt10/nyt10_train.txt
wget --no-check-certificate -P nyt10 https://thunlp.oss-cn-qingdao.aliyuncs.com/opennre/benchmark/nyt10/nyt10_test.txt

如果不修改会报错,报错内容如下。(我的是windows系统。)

SYSTEM_WGETRC = c:/progra~1/wget/etc/wgetrc
syswgetrc = D:\wget\GnuWin32/etc/wgetrc
--2021-09-25 23:26:05--  https://thunlp.oss-cn-qingdao.aliyuncs.com/opennre/benchmark/nyt10/nyt10_rel2id.json
正在解析主机 thunlp.oss-cn-qingdao.aliyuncs.com... 119.167.128.167, 119.167.128.167
Connecting to thunlp.oss-cn-qingdao.aliyuncs.com|119.167.128.167|:443... 已连接。
ERROR: cannot verify thunlp.oss-cn-qingdao.aliyuncs.com's certificate, issued by `/C=BE/O=GlobalSign nv-sa/CN=GlobalSign Organization Validation CA - SHA256 - G2':
  Unable to locally verify the issuer's authority.
ERROR: certificate common name `*.oss-cn-beijing.aliyuncs.com' doesn't match requested host name `thunlp.oss-cn-qingdao.aliyuncs.com'.
To connect to thunlp.oss-cn-qingdao.aliyuncs.com insecurely, use `--no-check-certificate'.
无法建立 SSL 连接。
  1. 依次运行上述4条命令。(直接运行shell脚本应该也可以,不过我不会。【@_@|||】)

    通过这一方法下载会得到总计170+M的数据

2.Tsinghua Cloud 或 Google Drive

Tsinghua Cloud链接:https://link.zhihu.com/?target=https%3A//cloud.tsinghua.edu.cn/f/11391e48b72749d8b60a/%3Fdl%3D1
Google Drive链接(没打开过):https://link.zhihu.com/?target=https%3A//drive.google.com/file/d/1eSGYObt-SRLccvYCsWaHx1ldurp9eDN_/view%3Fusp%3Dsharing
通过这一方式会下载得到大约3G的压缩文件,解压后如下所示。
在这里s入图片描述
对于其中的protobuf2json.py文件中可以掉到get_entities如下:

def get_entities(file_name):
    print("Loading entities...")
    f = open(file_name, 'rb')
    for line in f.readlines():
        line = line.rstrip()
        guid, word, type = line.split('\t')
        guid2entity[guid] = {'id': guid, 'word': word, 'type': type}       
    f.close()
    print("Finish loading, got {} entities totally".format(len(guid2entity)))

将其修改为如下(仅修改第5行):

def get_entities(file_name):
    print("Loading entities...")
    f = open(file_name, 'rb')
    for line in f.readlines():
        line = line.rstrip().decode()
        guid, word, type = line.split('\t')
        guid2entity[guid] = {'id': guid, 'word': word, 'type': type}       
    f.close()
    print("Finish loading, got {} entities totally".format(len(guid2entity)))
打开其中的README.md,按照里面的指示需要运行
protoc --proto_path=. --python_out=. Document.proto
python protobuf2json.py

要运行第一条就需要先安装protoc。(安装方法百度得到的方法即可。)
然后,运行以上两条命令即可。


总结

因为,在寻找数据集的过程中没有找到一个直接下载就可用的。在这个过程中甚至还从CSDN的上下载了,结果感觉还是不行。通过第二个方式得到的数据集大小是1.74G,而通过第一个方式下载得到的大小是170+M。我单从这一点上推测通过第二个方式下载的数据可能会比第一个途径的数据多一些。(详细情况我也不知道。)
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值