弹性搜索中基于人类语言的搜索

时间:2016-09-21 13:46:20

标签: elasticsearch nlp named-entity-recognition information-extraction

是否有可能使elasticsearch理解人类语言?

用户类型"需要一台价格低于800美元的笔记本电脑,8 gb ram"在搜索框中,elasticsearch了解并过滤掉8GB内存和不到800美元的笔记本电脑?

是否有任何软件包或elasticsearch自然支持它?或者,如果它在理论上是可能的,那么实现这个的任何基本想法

1 个答案:

答案 0 :(得分:4)

机器对自然语言的理解是一个尚未解决的问题,并且是一个活跃的研究领域,因此简短的答案是否定的,弹性搜索无法理解人类语言。

NLP通常通过信息提取来进行语义(理解),信息提取是NLP中的子字段。 Elasticsearch是一个很好的工具,但它不是为信息提取而设计的 - 它最好被认为是一个带有一些额外功能的索引工具。您可能对命名实体识别(NER)和概念识别更感兴趣,以回答您所描述的在Elasticsearch中支持最少的查询类型。您提出的问题实际上是一个非常难以回答的问题,这就是为什么亚马逊在搜索笔记本电脑时会在屏幕左侧提供类似GB的条款。

我会从Elasticsearch以外的东西开始,也许是Stanford NLP工具包(http://stanfordnlp.github.io/CoreNLP/

祝你好运!