NER 数据集格式
格式一
某些地方的数据和标签拆成两个文件了
sentences.txt
如 何 解 决 足 球 界 长 期 存 在 的 诸 多 矛 盾 , 重 振 昔 日 津 门 足 球 的 雄 风 , 成 为 天 津 足 坛 上 下 内 外 到 处 议 论 的 话 题 。
该 县 一 手 抓 农 业 技 术 推 广 , 一 手 抓 农 民 科 技 教 育 和 农 技 水 平 的 提 高 。
而 创 新 的 关 键 就 是 知 识 和 信 息 的 生 产 、 传 播 、 使 用 。
联 合 国 秘 书 长 安 南 2 0 日 发 表 讲 话 , 敦 促 有 关 各 方 采 取 克 制 态 度 , 以 避 免 塞 岛 紧 张 局 势 进 一 步 升 级 。
他 出 任 总 理 后 因 怕 惹 怒 美 国 才 改 抽 多 米 尼 加 生 产 的 雪 茄 。
同 时 , 三 毛 集 团 自 身 也 快 速 扩 张 , 企 业 新 创 造 了 3 0 0 0 多 个 就 业 岗 位 , 安 置 了 一 大 批 下 岗 职 工 。
金 融 人 员 一 旦 犯 法 , 自 己 进 监 狱 不 说 , 上 司 也 要 受 惩 罚 , 而 且 所 在 公 司 名 誉 会 受 损 害 , 这 是 非 常 严 重 的 事 情 。
我 想 以 这 句 话 向 母 亲 说 明 女 儿 也 同 样 爱 她 , 同 样 在 远 方 思 念 着 她 , 虽 然 在 她 身 旁 时 , 我 总 违 心 地 说 我 不 想 家 。
韩 国 人 向 国 外 借 款 、 投 资 和 发 行 海 外 证 券 , 外 国 人 在 韩 国 投 资 和 购 买 不 动 产 , 原 则 上 将 不 予 限 制 。
现 在 , 全 球 经 济 逐 渐 融 合 , 世 界 性 的 知 识 经 济 时 代 已 经 来 临 , 在 新 的 经 济 形 势 下 , 乡 镇 企 业 更 应 抓 住 机 遇 , 开 拓 进 取 。
tags.txt
O O O O O O O O O O O O O O O O O O O O O B-LOC I-LOC O O O O O O O O B-LOC I-LOC O O O O O O O O O O O O O O
O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O
O O O O O O O O O O O O O O O O O O O O O O O
B-ORG I-ORG I-ORG O O O B-PER I-PER O O O O O O O O O O O O O O O O O O O O O O O O B-LOC I-LOC O O O O O O O O O O
O O O O O O O O O O B-LOC I-LOC O O O B-LOC I-LOC I-LOC I-LOC O O O O O O
O O O B-ORG I-ORG I-ORG I-ORG O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O
O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O
O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O
B-LOC I-LOC O O O O O O O O O O O O O O O O O O O O O B-LOC I-LOC O O O O O O O O O O O O O O O O O O
O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O
格式二
{"text": "如何解决足球界长期存在的诸多矛盾,重振昔日津门足球的雄风,成为天津足坛上下内外到处议论的话题。", "label": {"LOC": {"津门": [[21, 22]], "天津": [[31, 32]]}}}
{"text": "联合国秘书长安南20日发表讲话,敦促有关各方采取克制态度,以避免塞岛紧张局势进一步升级。", "label": {"ORG": {"联合国": [[0, 2]]}, "PER": {"安南": [[6, 7]]}, "LOC": {"塞岛": [[32, 33]]}}}
{"text": "他出任总理后因怕惹怒美国才改抽多米尼加生产的雪茄。", "label": {"LOC": {"美国": [[10, 11]], "多米尼加": [[15, 18]]}}}
{"text": "同时,三毛集团自身也快速扩张,企业新创造了3000多个就业岗位,安置了一大批下岗职工。", "label": {"ORG": {"三毛集团": [[3, 6]]}}}
{"text": "韩国人向国外借款、投资和发行海外证券,外国人在韩国投资和购买不动产,原则上将不予限制。", "label": {"LOC": {"韩国": [[0, 1], [23, 24]]}}}
{"text": "当有了一定的实力后,他就成立了武义县重点实用菌公司,不仅负责为菇农提供技术指导和菌种,而且负责原料代购,产品回收,经自己加工,或出口、或内销,从而使高温香菇栽培技术迅速扩散到浙西南山区的10多个县市,100多个乡镇,栽培规模由1991年的23万袋增加到1995年的3000万袋,仅此一项就使当地农民增加收入1亿多元。", "label": {"ORG": {"武义县重点实用菌公司": [[15, 24]]}, "LOC": {"浙": [[87, 87]]}}}
{"text": "四十九岁的田春美曾是老三届下乡知青,返城时已是二十七八岁的老姑娘,仓促成婚。", "label": {"PER": {"田春美": [[5, 7]]}}}
{"text": "阿巴查8日晨因心脏病突发在首都阿布贾去世。", "label": {"PER": {"阿巴查": [[0, 2]]}, "LOC": {"阿布贾": [[15, 17]]}}}
{"text": "例如,要对社会主义市场经济与公有制为主体、多种所有制经济共同发展的基本经济制度如何结合的问题,加强社会主义民主法制建设与政治体制改革问题,以及社会主义市场经济条件下的文化建设和价值观念问题,进行深入研究和剖析,为不断丰富我们对有中国特色社会主义发展规律的认识,避免盲目性和片面性,提供更有效的理论支持。", "label": {"LOC": {"中国": [[114, 115]]}}}
{"text": "”由于设备先进科技水平高、管理严格,天象生产的“文林”牌铅笔各项技术标准均达到国际先进水平,畅销近40个国家和地区。", "label": {"ORG": {"天象": [[18, 19]]}}}
我个人比较喜欢这种格式,json解析
格式1转格式2
import re
from collections import defaultdict
with open('sentences.txt', 'r') as f:
sentences = f.readlines()
sentences = [i.strip().split(' ') for i in sentences]
with open('tags.txt', 'r') as f:
tags = f.readlines()
tags = [i.strip().split(' ') for i in tags]
dataset = []
for s, t in zip(sentences,tags):
assert(len(s) == len(t))
text = ''.join(s)
features = [i.split('-')[0] for i in t]
entities = [i.split('-')[-1] for i in t]
biotags = ''.join(features)
pattern = re.compile('BI*')
ne_label = re.finditer(pattern, biotags)
ne_list = []
label = {}
for ne in ne_label:
start, end = int(ne.start()), int(ne.end())
entity_group = entities[start]
words = text[start: end]
if entity_group in label:
if words in label[entity_group]:
label[entity_group][words] += [[start, end-1]]
else:
label[entity_group][words] = [[start, end-1]]
else:
label[entity_group] = {words: [[start, end-1]]}
if len(label) > 0:
sample = {"text": text, "label": label}
dataset.append(sample)
import json
with open('msra.train.json', 'w') as file:
for i in dataset:
file.write(json.dumps(i, ensure_ascii=False))
file.write('\n')
附
中文NER数据集:https://www.cluebenchmarks.com/dataSet_search_modify.html?keywords=ner