1
czfy 2022-03-29 18:02:36 +08:00 1
呃感觉我好像没太看懂
1. 具体场景就是搜索?类似在今日头条搜新闻这样的感觉? 2. 然后 “实体名词” 都有,是指长文本对应的实体词已经被识别出来?那不是你本身就有模型吗 3. 你又说不想自己训练模型,问题是搜索匹配本身其实就是一个简单规则,主要难点在识别长文本里的实体词,这个理论上要直接部署已有模型也可以,自己训练也可以的吧 |
2
jiezhi OP @czfy #1 就是垂直电商,比如药品电商,那么药品品牌和药品名等于都有了,要识别出用户搜哪个品牌哪个药品(也有症状、疾病名称实体)
所以我指的实体是直接从数据库里用商品信息生产的,我看 opennlp 的自定义模型好像都是输入标注语句来训练的。而我想要的其实就是把用户搜索词里面的实体名称识别出来,应该不需要再训练了吧。 |
3
czfy 2022-03-29 18:18:40 +08:00 1
所以相当于你要做的是
1. 算法识别用户输入的搜索文本 2. 匹配算法识别的用户输入文本的实体词 与 商品已有的实体词 3. 输出搜索结果 那理论上你就先直接用现有模型看看效果咯,根据你的业务指标(用户搜索结果点击率 /跳转率 /下单率之类的)判断,如果符合业务要求就不用重新训练,效果不好那还是要重新训练 |
4
jiezhi OP @czfy #1 我想要的类似这个 https://nlp.stanford.edu/software/regexner.html
指定实体名称和实体类型的输入数据,然后把输入里对应的都解析出来。但感觉用这些框架还要下载很大的数据模型,有点高射炮打蚊子的感觉。 |
5
czfy 2022-03-29 18:20:37 +08:00
如果你觉得这些太大,那就做个最简单的分词吧...
实体识别确实比分词要更复杂 |
6
lhfcws 2022-03-29 21:43:32 +08:00 1
最简单就是借助一些成熟的 nlp 库,把你的实体词(有的要带词性)导入进去,然后调用分词。把分词结果过滤 stopwords 后导入 es 。
|