Nlp 自然语言搜索(用户意图搜索)
我正在尝试建立一个搜索引擎,允许我的用户使用自然语言命令进行搜索,就像谷歌现在一样。除此之外,我的搜索引擎稍有限制,因为它主要用于电子商务网站,允许用户搜索某些设备 我想提供的一些功能包括: 1) 允许用户按品牌进行搜索 2) 按模式 3) 按价格范围 4) 通过3g/4g能力 5) 按操作系统 等等等等 我创建了一个模拟版本,使用它查找某些关键字,如“价格”、“成本”、“iPhone5”等 建立自己的字典/关键字数组是实现这一目标的最佳方式吗 或者是否有现有的词典/API来帮助解析用户的搜索查询并返回适当的信息。Nlp 自然语言搜索(用户意图搜索),nlp,search-engine,keyword,voice-recognition,naturallyspeaking,Nlp,Search Engine,Keyword,Voice Recognition,Naturallyspeaking,我正在尝试建立一个搜索引擎,允许我的用户使用自然语言命令进行搜索,就像谷歌现在一样。除此之外,我的搜索引擎稍有限制,因为它主要用于电子商务网站,允许用户搜索某些设备 我想提供的一些功能包括: 1) 允许用户按品牌进行搜索 2) 按模式 3) 按价格范围 4) 通过3g/4g能力 5) 按操作系统 等等等等 我创建了一个模拟版本,使用它查找某些关键字,如“价格”、“成本”、“iPhone5”等 建立自己的字典/关键字数组是实现这一目标的最佳方式吗 或者是否有现有的词典/API来帮助解析用户的搜索查
我想你会想要这样的东西。参见以下示例: “给我找一部具有4 gb内存和至少16 gb存储空间的android手机。” 首先,您需要一个单词列表,可以直接从输入中提取并插入到搜索查询中。这是最简单的部分 “给我找一部安卓手机,内存为4 gb,存储空间至少为16 gb。” 接下来,输入中将有数字 “给我找一部安卓手机,内存4gb,存储空间至少16gb。” 到现在为止,您已经提取了“android”和“phone”这两个词。现在你必须提取数字,以及前后的2或3个单词 “给我找一部安卓手机,其内存为4 gb且存储空间至少为16 gb” 下一步是弄清楚这些数字的含义。为此,您需要一个如下表:(让我们称此表为“属性”) 将上表与从输入中提取的数字周围的数字和文字进行比较: 4---手机,带,gb,ram 6---至少,gb,存储 通过使用一个合适的算法和属性表,您可以很容易地找出数字的含义。只需将每个数字与每个属性进行比较-首先检查数字是否在属性范围内,然后检查输入中数字周围的单词是否与属性的标记匹配。 现在您知道了每个数字的含义(4=ram,6=存储),您必须检查输入中的不平等性 检查不等式: 如果存在诸如“至少”、“不超过”、“最多”等短语,则存在一个不等式。在我们的例子中,在数字4附近找不到这样的词,但在数字6附近可以找到术语“至少”。这意味着用户希望手机的ram正好为4 gb(使用==),但内部存储空间可能大于或等于6 gb(使用>=) 还要注意的是,如果您无法将某个数字与某个属性相关联,则该数字很可能就是价格 您可以添加更多功能。。例如,允许用户按属性的递增/递减顺序对结果进行排序。例如: “给我找一部具有4 gb内存和至少16 gb存储空间的android手机。先展示便宜的手机”