我的目标是让用户输入"显示给我'gopro'的顶级供应商";在搜索栏中,他会看到5个最热门的列表。
在一天结束时,我希望上面的查询执行以下sql。
SELECT "customername" AS "CustomerName", "last1yearspend" AS "Last1YearSpend"
FROM "xx"."spend" AS "SupplierModel"
WHERE "SupplierModel"."supplierid" = 333
ORDER BY "SupplierModel"."rank" ASC
LIMIT 5;
我这里说的不仅仅是"文本"搜索。
我不确定Kendra能不能做到。肯德拉可以理解NLP,所以"show me ~"也许可以正确处理。但是,请注意,我不是在这里寻找"顶级供应商"字符串。相反,它需要了解如何获得"顶级供应商"。要做到这一点,它需要像上面那样运行sql查询。不只是从索引数据中搜索"文字"值。
不理解,因为它只能提取实体和情感。
不是ES,因为它只是简单的字符串匹配,没有/有NLP。
这可行吗?还有其他技术吗?
你看过quicksight了吗?Quicksight Q支持自然语言查询数据集,您可以在Quicksight和RDS数据库之间建立连接。
或者,您可以构建lex bot,并结合sql查询创建意图分类。你可能想迭代多个意图,以提高准确性。