目前有一批文本,一批人名,需求是在文本中提取出匹配的人名
人名有 300 多个,每段文本大概 1000-3000 字,有啥好的方法
![]() | 1 wellsc 2022-02-11 12:04:10 +08:00 ![]() 这只能算微量 |
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 ![]() |
5 joApioVVx4M4X6Rf 2022-02-11 12:30:49 +08:00 最好用命名实体识别+规则匹配,准确度比较高 |
![]() | 6 TimePPT PRO 试试 flashtext https://github.com/vi3k6i5/flashtext |
![]() | 7 Soar360 2022-02-11 13:30:43 +08:00 暴力 for |
![]() | 8 jr55475f112iz2tu 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 写个正则,然后一段一段文本去匹配? |