如何高效地对两个excel文件(A,B)进行是否A包含B的查询及标记
主要是想做命名实体识别的标注;
具体来说,有两个excel文件,称之为A(n行1列),B(n行1列)。
举例来说,A中每一行是一句描述性质的话,B中每一行都是一个实体名
请问该如何高效地实现类似以下的功能:
for index,row in A.iterrows():
要判断row['描述']这一句话是否包含了B中的一个或者多个实体,并在A中进行标注
求指点思路。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
加入 A 和 B 都足够大的话可以把 B 的内容放在 AC 自动机里面,然后取用 A 的内容匹配)
感觉这个类似token解析。
可以把B的每一行作为一个正则表达式,用或合并为1个正则。
对于A的每一行对上面的正则进行匹配,通过re.finditer获取当前行所有匹配的token
AC自动机是最好的选择,效率足够高。可以看看https://github.com/vi3k6i5/fl... 这个库,包含了查找和替换的AC自动机实现。