我正在尝试为本地搜索站点构建查询解析算法,该算法可以将自由文本搜索查询(单输入文本框)分类为站点上可能的各种类型的搜索。
例如,用户可以键入 xyz 附近的中国餐馆。鉴于此,我应该如何将其分解为 Cuisine:“chinese”,locality:“xyz”
- there could be spelling mistakes
- keywords may match in different columns e.g. a restaurant may have "chinese" in its name
这并不是一个真正的自然语言解析问题,因为我们试图在非常有限的一组可能性中进行搜索
我最初的想法是将特定类型的所有值从数据库中转储到一个字段中,并使用用户查询来匹配所有这些字段。然后根据分数(和预定义的置信度)将查询划分为 3-4 个搜索字段,例如名称/美食/地点。
有没有更好/标准的方法来做到这一点。