已有实体词的情况下,搜索词命名实体识别(NER)如何快速匹配 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
jiezhi
V2EX    问与答

已有实体词的情况下,搜索词命名实体识别(NER)如何快速匹配

  •  
  •   jiezhi 2022-03-29 14:11:57 +08:00 1441 次点击
    这是一个创建于 1294 天前的主题,其中的信息可能已经有所发展或是发生改变。

    刚接触搜索不久,在实体名词都有的情况下,如何对搜索词进行实体匹配呢(不考虑复杂场景,只把对应实体识别出来)?

    看了一圈资料,OpenNLPCoreNLP似乎都要自己训练出模型来,有没有直接加载已有的实体词(就像 ES 那样)然后进行匹配的?

    还是只能自己实现前缀词匹配?

    6 条回复    2022-03-29 21:43:32 +08:00
    jr55475f112iz2tu
        1
    jr55475f112iz2tu  
       2022-03-29 18:02:36 +08:00   1
    呃感觉我好像没太看懂

    1. 具体场景就是搜索?类似在今日头条搜新闻这样的感觉?
    2. 然后 “实体名词” 都有,是指长文本对应的实体词已经被识别出来?那不是你本身就有模型吗
    3. 你又说不想自己训练模型,问题是搜索匹配本身其实就是一个简单规则,主要难点在识别长文本里的实体词,这个理论上要直接部署已有模型也可以,自己训练也可以的吧
    jiezhi
        2
    jiezhi  
    OP
       2022-03-29 18:11:34 +08:00
    @czfy #1 就是垂直电商,比如药品电商,那么药品品牌和药品名等于都有了,要识别出用户搜哪个品牌哪个药品(也有症状、疾病名称实体)

    所以我指的实体是直接从数据库里用商品信息生产的,我看 opennlp 的自定义模型好像都是输入标注语句来训练的。而我想要的其实就是把用户搜索词里面的实体名称识别出来,应该不需要再训练了吧。
    jr55475f112iz2tu
        3
    jr55475f112iz2tu  
       2022-03-29 18:18:40 +08:00   1
    所以相当于你要做的是

    1. 算法识别用户输入的搜索文本
    2. 匹配算法识别的用户输入文本的实体词 与 商品已有的实体词
    3. 输出搜索结果

    那理论上你就先直接用现有模型看看效果咯,根据你的业务指标(用户搜索结果点击率 /跳转率 /下单率之类的)判断,如果符合业务要求就不用重新训练,效果不好那还是要重新训练
    jiezhi
        4
    jiezhi  
    OP
       2022-03-29 18:18:47 +08:00
    @czfy #1 我想要的类似这个 https://nlp.stanford.edu/software/regexner.html

    指定实体名称和实体类型的输入数据,然后把输入里对应的都解析出来。但感觉用这些框架还要下载很大的数据模型,有点高射炮打蚊子的感觉。
    jr55475f112iz2tu
        5
    jr55475f112iz2tu  
       2022-03-29 18:20:37 +08:00
    如果你觉得这些太大,那就做个最简单的分词吧...
    实体识别确实比分词要更复杂
    lhfcws
        6
    lhfcws  
       2022-03-29 21:43:32 +08:00   1
    最简单就是借助一些成熟的 nlp 库,把你的实体词(有的要带词性)导入进去,然后调用分词。把分词结果过滤 stopwords 后导入 es 。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     898 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 19ms UTC 21:28 PVG 05:28 LAX 14:28 JFK 17:28
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86