python中如何实现识别多个实体并进行标注

假设所有实体名存在A.xlxs中(补充一下,大概几百个实体,几万条序列),
假设其中一个序列为"现场可见屏幕有坏点,听筒声音过小,连接上耳机通话时偶尔对方听不清楚。”
上面这个序列中实体有三个,但是在一个序列中实体个数其实是不定的,如何实现识别出实体后,并记录实体所在的索引区间。
一个思路是,用re.search()找到第一个实体后,分割序列,如分割为I.【现场可见屏幕】,II.【有坏点,听筒声音过小,连接上耳机通话时偶尔对方听不清楚。】两部分,接着对II部分接着re.search(),重复上述步骤,直到re.search()返回值为空。
感觉上面的思路不是很好,求指点一下,谢谢。

忘记提标注的事情了,大家见谅 = =
然后已知实体在该序列中的索引值,该怎么写入到txt文件中,大致如下:
现 O
场 O
可 O
见 O
屏 B-Part
幕 I-Part
有 O
坏 O
点 O
, O
听 B-Part
筒 I-Part
声 O
音 O
......

阅读 3.1k
2 个回答

简单粗暴一点,把所有实体名用|拼起来,直接正则匹配

import re

s = '现场可见屏幕有坏点,听筒声音过小,连接上耳机通话时偶尔对方听不清楚'
p = '屏幕|听筒|耳机|其他'

print re.findall(p, s)

正则匹配在这个模式并不适用。题主没有指明实体名和句子的数量级。难道写代码不考虑复杂度的么…

CeGq3T.png

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题