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 defaultdictwith 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