栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

NYT

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

NYT

前言

本文大多数内容均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

我的步骤如下

首先需要先安装wget。 使用直接百度得到的安装方法即可。 在需要下载的目标文件下打开cmd。 或者打开cmd然后移动到目标文件下都一样。 将上述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:wgetGnuWin32/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 连接。
依次运行上述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的压缩文件 解压后如下所示。

对于其中的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。我单从这一点上推测通过第二个方式下载的数据可能会比第一个途径的数据多一些。 详细情况我也不知道。
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/266951.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号