大量单词匹配有啥好方法推荐

2022-02-11 12:01:32 +08:00
 a719114136

目前有一批文本,一批人名,需求是在文本中提取出匹配的人名

人名有 300 多个,每段文本大概 1000-3000 字,有啥好的方法

2092 次点击
所在节点    程序员
14 条回复
wellsc
2022-02-11 12:04:10 +08:00
这只能算微量
rainboat
2022-02-11 12:19:55 +08:00
就这点数据量,直接暴力搜索不就完事了
humpy
2022-02-11 12:22:22 +08:00
自动机
Dvel
2022-02-11 12:25:11 +08:00
joApioVVx4M4X6Rf
2022-02-11 12:30:49 +08:00
最好用命名实体识别+规则匹配,准确度比较高
TimePPT
2022-02-11 13:30:41 +08:00
Soar360
2022-02-11 13:30:43 +08:00
暴力 for
czfy
2022-02-11 13:32:13 +08:00
这件事是你就做这一次,还是之后周期性都要做?
kidlj
2022-02-11 13:46:25 +08:00
名字放到字典里( set, hashmap etc.),分割文本,for 循环文本数组匹配,这是一个 O(N) 效率的算法。

我开发的一个浏览器插件「遇见单词」( https://github.com/metwords/extensions ),需要在任意一个网页匹配用户的单词表,在单词表里的单词下划线突出显示,是这样实现的。
DefoliationM
2022-02-11 13:58:45 +08:00
ac 自动机
thevita
2022-02-11 14:01:46 +08:00
抛开这个问题,单独只是为了快速落地的话,暴力方法其实挺好的
---
就这个问题来说,可以是一个多模式匹配问题,经典的算法如 AC 自动机
binux
2022-02-11 14:03:14 +08:00
@kidlj 中文要分词
kidlj
2022-02-11 14:08:54 +08:00
@binux 是噢,没考虑到这个问题,谢谢提醒。
dayeye2006199
2022-02-12 04:14:35 +08:00
写个正则,然后一段一段文本去匹配?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/833161

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX