目前有一批文本,一批人名,需求是在文本中提取出匹配的人名
人名有 300 多个,每段文本大概 1000-3000 字,有啥好的方法
1
wellsc 2022-02-11 12:04:10 +08:00 2
这只能算微量
|
2
rainboat 2022-02-11 12:19:55 +08:00
就这点数据量,直接暴力搜索不就完事了
|
3
humpy 2022-02-11 12:22:22 +08:00
自动机
|
4
Dvel 2022-02-11 12:25:11 +08:00 2
|
5
joApioVVx4M4X6Rf 2022-02-11 12:30:49 +08:00
最好用命名实体识别+规则匹配,准确度比较高
|
6
TimePPT 2022-02-11 13:30:41 +08:00
试试 flashtext
https://github.com/vi3k6i5/flashtext |
7
Soar360 2022-02-11 13:30:43 +08:00
暴力 for
|
8
czfy 2022-02-11 13:32:13 +08:00
这件事是你就做这一次,还是之后周期性都要做?
|
9
kidlj 2022-02-11 13:46:25 +08:00
名字放到字典里( set, hashmap etc.),分割文本,for 循环文本数组匹配,这是一个 O(N) 效率的算法。
我开发的一个浏览器插件「遇见单词」( https://github.com/metwords/extensions ),需要在任意一个网页匹配用户的单词表,在单词表里的单词下划线突出显示,是这样实现的。 |
10
DefoliationM 2022-02-11 13:58:45 +08:00
ac 自动机
|
11
thevita 2022-02-11 14:01:46 +08:00
抛开这个问题,单独只是为了快速落地的话,暴力方法其实挺好的
--- 就这个问题来说,可以是一个多模式匹配问题,经典的算法如 AC 自动机 |
14
dayeye2006199 2022-02-12 04:14:35 +08:00
写个正则,然后一段一段文本去匹配?
|