python - 如何过滤掉 Elasticsearch 中的无效输入

标签 python elasticsearch nlp

我们目前正在尝试处理用户输入并检查用户是否使用 Elasticsearch 输入了食品。

通过 Elasticsearch ,我们能够获得各种术语的结果:大蒜、大蒜提取物等...

我们应该如何处理用例蓝莓洗碗皂或苹果皂。我们如何省略这些搜索?

当我搜索蓝莓洗碗皂时,我仍然得到与蓝莓相关的搜索结果

最佳答案

您的目标要求您对查询执行词性标记,然后使用这些标记来识别名词。

然后,您需要将提取的名词与预先策划的食物字符串列表进行比较,并在识别出那些不是食物的字符串后,删除这些名词作为主语的从句和/或它们所属的短语对象。

此功能未内置到elasticsearch 中。根据您处理查询所用的语言,有各种用于词性标记和字符串操作的库。

更新的答案:

刚刚读完这篇文章,发现这个答案不太好。解决此问题的最佳方法是使用文档/短语矢量化。正确矢量化后,您应该能够将名词短语“蓝莓”和“蓝莓洗碗皂”编码为非常不同的向量,然后您可以采取各种方法从这些向量推断分类。

关于python - 如何过滤掉 Elasticsearch 中的无效输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48891679/

相关文章:

python - 根据其他数组的条件按索引提取数组的最大元素

Visual Studio 2012 的 Python 工具。工具/选项窗口中缺少 Python

python - FigureCanvasWxAgg 在 linux 的面板(或笔记本)中无法正确调整大小

python - nltk pos 标记器看起来包含 '.'

用于日期自然语言处理的 iOS 库?

nlp - 在实现用于词性标注的维特比算法时,HMM 中的开始和结束状态是否必要?

python - Python 中的正则表达式用于检测整数、 float 或科学记数法中的数字

elasticsearch - 与通配符multi_match和boost

java - elasticsearch安装插件: Could not reserve enough space for object heap

elasticsearch - 如何使用include和regex正确查询elasticsearch中术语聚合值的内部?