我目前正在使用 Python 开发一个小型应用程序,并且我的应用程序具有搜索功能(目前使用 difflib),但是我想创建基于用户输入文本的语义搜索,它可以根据数据库中的内容给出前5或10个结果。就像谷歌搜索引擎一样工作。我在这里找到了一些解决方案。
但问题是,以下来自其中一种解决方案的两个陈述在语义上不正确。但我并不关心这一点,因为它们使事情变得太难了,而我不想要那样的效果。我还找到了一些解决方案,这些解决方案显示使用 gensim
和 Glove
嵌入,并查找单词相似度而不是句子。
我想要什么?
假设我的数据库中有语句 display classes
,用户输入 show
、showed
、displayed
、displayed class
、show types
等都是相同的。即使以上两个语句被视为相同,我也不在乎。displayed
和 displayed class
已经显示在 difflib 中。
需要注意的要点
- 从一组固定语句中查找,但用户输入的语句可能会有所不同
- 必须适用于语句