string - 根据字符串标签列表搜索字符串的算法
问题描述
我目前正在尝试实现一种搜索算法,用户将输入一个字符串查询,该查询将与包含字符串“标签”列表的对象进行比较,或者只是单个单词字符串。我希望结果是按与该查询最匹配的列表排序的对象列表。
我当前的实现是在带有查询的每个标签上使用 Levenshtein 距离,将其加到总数中,然后除以标签的数量。然而,我正在想象这种方法的很多缺点,并且想知道是否有更常见的方法来解决这个问题。
解决方案
我认为这是相似的。 如何从文本中提取关键字(标签)
你的查询多长时间???
对于小的查询文本,您可以访问
https://towardsdatascience.com/extracting-keywords-from-short-text-fce39157166b
我不认为 Levenshtein Distance 是生成令牌的非常有效的方式。它基于未匹配的字符串,但是从查询中您想知道代表查询意图的关键字,然后从您的标签列表中检查,这非常适合它。
您可以使用许多可用的库,例如 nltk 、 apache open nlp 等来满足您的目的。他们直接生成 token 。
这可能会帮助你。 如何从文本中提取关键字(标签)
推荐阅读
- java - 删除实体时违反完整性约束
- spring-mvc - 如何在 SpringMVC 中将表单路径与静态映射键链接?
- css - 在百里香模板中插入css
- python - 如何将日期时间转换为浮点数
- php - 将数据从控制器请求传递到刀片
- powerbi - 如何在 PowerBI 中找到 Datediff 的平均值
- php - 助手中的“消息:在 null 上调用成员函数 post()”
- tdd - 如何在控制器中为以下方法编写测试用例
- google-cloud-datastore - 在谷歌数据存储中构建列表的最佳方法
- javascript - 通过jquery附加css文件但css文件不起作用