taishan1994 / BERT-BILSTM-CRF

使用BERT-BILSTM-CRF进行中文命名实体识别。
291 stars 32 forks source link

数据集问题 #23

Open Kkx-b opened 3 months ago

Kkx-b commented 3 months ago

你好,我想请教一下,博主自带数据集dgre运行成功,但是再换成自己数据集时,自己的数据集格式应该调成什么样的格式呢? 以下是本人数据集中的一条实例: {"id":65521,"text":"811:北京市发展和改革委员会发文字号:京发改〔2023〕293号公布日期:2023.03.03施行日期:2023.03.03时效性:现行有效效力位阶:地方规范性文件法规类别:能源综合规定节能管理北京市发展和改革委员会关于印发数据中心项目年可再生能源利用水平核实评价技术导则(试行)的通知(京发改〔2023〕293号)各有关单位:  根据《关于进一步加强数据中心项目节能审查的若干规定》(京发改规〔2021〕4号)相关工作要求,为依据节能审查意见和节能报告做好取得节能审查批复的数据中心项目的年可再生能源利用水平核实评价工作,我们研究制定了《数据中心项目年可再生能源利用水平核实评价技术导则(试行)》,现予以印发。试行期间,如有问题和意见建议,请及时反馈。  特此通知。北京市发展和改革委员会  2023年3月3日  附件:数据中心项目年可再生能源利用水平核实评价技术导则(试行)附件预览无相关内容","entities":[{"id":473,"label":"政策主体-政策制定者","start_offset":341,"end_offset":352},{"id":483,"label":"政策过程-政策评估","start_offset":261,"end_offset":267},{"id":5917,"label":"政策主体-政策制定者","start_offset":103,"end_offset":114}],"relations":[],"Comments":[]}。

lw404-ai commented 3 months ago

转为BIO,部分核心伪代码:

function convertToBioLabels(data):
    id = data["id"]
    text = data["text"]
    entities = data["entities"]
    bio_labels = createList("O", length(text))
    for each entity in entities:
        start_offset = entity["start_offset"]
        end_offset = entity["end_offset"]
        label = entity["label"]
        // Set the BIO labels for the entity
        bio_labels[start_offset:end_offset] = ["B-" + label] + ["I-" + label] * (end_offset - start_offset - 1)
    return {"id": toString(id), "text": toArray(text), "labels": bio_labels}