python深度学习NER任务中:对段落的分割

在深度学习模型中,有时需要避免输入的是一段话而不是一个句子。我们需要把一段话分割成多个短句子,比如:

目前诊断:1、肺癌pT1cN0M0R0切除,IA期,EGFR(+2、化疗后骨髓抑制3、高血压病。长期住院原因分析及针对性诊疗计划:患者肺癌复发,目前行同步放化疗,放疗时间较长,需要长期住院治疗。

将句号作为分割点,将这句话分割成两句话,每句话作为模型的输入,这样做的原因是:防止输入句子太长,模型在处理时将关键信息裁剪,此时就抽取不出想要的信息了。
代码实现如下:

cur_seedtext = '目前诊断:1、肺癌pT1cN0M0R0切除,IA期,EGFR(+)2、化疗后骨髓抑制3、高血压病。长期住院原因分析及针对性诊疗计划:患者肺癌复发,目前行同步放化疗,放疗时间较长,需要长期住院治疗。'
cur_seedtext = cur_seedtext.replace('。','@@@')
cur_seedtext = '。\n'.join([x.strip() for x in cur_seedtext.split('@@@')])
print(cur_seedtext)  

在医疗病例单中使用命名实体识别技术提取医生对患者的诊断时,利用此方法就可以用模型单独对句子进行处理,这样的效果似乎更好。

以下是上面的代码对段落的处理结果

目前诊断:1、肺癌pT1cN0M0R0切除,IA期,EGFR(+2、化疗后骨髓抑制3、高血压病。
长期住院原因分析及针对性诊疗计划:患者肺癌复发,目前行同步放化疗,放疗时间较长,需要长期住院治疗。

mediecalNER模型的识别结果为

[
{
"start": 7,
"stop": 20,
"word": "肺癌pT1cN0M0R0切除",
"type": "BODY"
},
{
"start": 22,
"stop": 24,
"word": "IA期",
"type": "BODY"
},
{
"start": 26,
"stop": 32,
"word": "EGFR(+)",
"type": "BODY"
},
{
"start": 44,
"stop": 47,
"word": "高血压病",
"type": "BODY"
}
]
-------------------------------------
[]
-------------------------------------

显然模型识别出了第一句话中提出的几个诊断病情,但是精度没那么高。。。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

饿了就干饭

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

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

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

打赏作者

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

抵扣说明:

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

余额充值