首页 > 解决方案 > 根据字符串标签列表搜索字符串的算法

问题描述

我目前正在尝试实现一种搜索算法,用户将输入一个字符串查询,该查询将与包含字符串“标签”列表的对象进行比较,或者只是单个单词字符串。我希望结果是按与该查询最匹配的列表排序的对象列表。

我当前的实现是在带有查询的每个标签上使用 Levenshtein 距离,将其加到总数中,然后除以标签的数量。然而,我正在想象这种方法的很多缺点,并且想知道是否有更常见的方法来解决这个问题。

标签: stringalgorithmsearchtagsstring-comparison

解决方案


我认为这是相似的。 如何从文本中提取关键字(标签)

你的查询多长时间???

对于小的查询文本,您可以访问

https://towardsdatascience.com/extracting-keywords-from-short-text-fce39157166b

我不认为 Levenshtein Distance 是生成令牌的非常有效的方式。它基于未匹配的字符串,但是从查询中您想知道代表查询意图的关键字,然后从您的标签列表中检查,这非常适合它。

您可以使用许多可用的库,例如 nltk 、 apache open nlp 等来满足您的目的。他们直接生成 token 。

这可能会帮助你。 如何从文本中提取关键字(标签)


推荐阅读