具体学科下构建数据集进行命名实体识别的方案(整体步骤第一步)

本文档介绍了在具体学科场景下构建命名实体识别数据集的步骤,首先通过爬虫获取学科文献,然后进行数据清理,包括去除无效信息和使用词典进行初步筛选。通过将PDF转为DOCX并按句号分割,去除特殊字符,再结合关键词进行初步提取。项目涉及物质、时间和地点的词典,并要求在同一或相邻句子中同时出现。代码实现可提供私聊。
摘要由CSDN通过智能技术生成

项目场景:

在具体学科场景下进行命名体识别是缺少数据集的,如何构建学科领域数据集,从而有效的进行命名实体识别是个关键。


文献数据清理

遇到的问题首先我们确实数据集,从而无法进行命名实体识别,其次关键信息通常都保存在文献中,我们需要通过文献来挖掘数据,最后挖掘来的数据需要打标签才能使用,针对这三个问题,需要三步走来解决。首先需要进行文献数据清理,这边我们是通过爬虫来获取原始学科文献,但学科文献基本上以PDF来显示,在PDF中直接数据抽取是不可能的,对是不可能的。我们先自动去除纯图片形式的PDF,之后要去除文献中的标题作者信息和参考文献,致谢,项目基金,声明等无效或冗余的信息。在这两步骤之前,我们还需要取得学科项目基本的词典,作为关键信息及数据挖掘的基础,例如沉积学学科中的Formation,将他作为关键词,文献中的关键信息可能为 A Formation,B Formation等。
好了我们下面来逐步开始构建文献初步清理和挖掘的流程。

第一步,关键词的导入,这里我们的项目中是需要两部分词典关键词,因此我们便导入两份词典,分别用数组形式保存。

# 时间存储字典
def dict():
    # 打开字典并去掉换行符
    with open("../duc.txt", "r", encoding="utf-8") as f:
        lines = f.readlines()
        # 去除换行符
        result = ([x.strip() for x in lines if x.strip() != ''])
        # 将整理好字典提取成为全局字典
        for x in result:
            Dict.append(x)
    return Dict

# 地点存储词典
def geodict():
    # 打开字典并去掉换行符
    with open("../geosubstance1.txt", "r", encoding="utf-8") as f:
        lines = f.readlines()
        # 去除换行符
        result = ([x.strip() for x in lines if x.strip() != ''])
        # 将整理好字典提取成为全局字典
        for x in result:
            GeoDict.append(x)
    return GeoDict

第二步,导入完词典,需要进行初步筛选,我们首先将PDF文本转换成DOCX文本便可以提取里面内容了,且好处在于,不会受到表格和图片影响。如在PDF中头铁硬来,则需要处理PDF中图片,表格也是以字符流形式存储。由于我做的工作是沉积学文本,里面所发期刊繁杂没有统一的abstract和acknowledgment这类标签,所以需要打个标签,这个工作量比后面一个个打命名实体识别标签要容易太多。这两个先前步骤结束之后就可以数据清理了。我们按照句号分割,把里面特殊的设计到同英文句号的缩写给去除,例如Fig.这些会影响到下一步提取的内容。最终将其分别保存到Txt文本中。

# 读取每段文本
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

经常喝假酒的胡小臣

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值