首页 > 解决方案 > 从给定文本中识别与域相关的重要关键字

问题描述

我对 NLP/文本处理领域比较陌生。我想知道如何从给定的文本中识别与域相关的重要关键字。例如,如果我必须构建一个将在银行领域使用的问答聊天机器人,那么 Q 会是:TRADE:12345 的到期日期是什么时候?

从 Q 中,我想提取关键字:到期日期 & TRADE:12345。从提取的信息中,我将构建一个类似 SQL 的查询,搜索数据库,检索 SQL 输出并将响应提供给用户。

任何帮助,将不胜感激。

提前致谢。

标签: pythonnlpnltkchatbottext-processing

解决方案


所以,这就是工作的来源。

通常人们从停用词列表开始。有好几种,慎重选择。但是您很有可能会尝试和/或使用基本列表,然后在该列表中添加更多单词。

根据清单,它将取出

“什么,是,那个,为了,?”

由于这是一个非常简单的示例,因此他们都会这样做。但是你会注意到正在做的事情与你想要的恰恰相反。您要求提供特定于域的单词,但正在发生的事情是删除所有其他垃圾(到库)。

从这里开始,这将取决于您使用什么。NLTK 或 Spacy 是常见的选择。无论你选择什么,都要真正理解概念,否则它会咬你一口(就像数据科学中的几乎所有东西一样)。

期望开始根据语言模式进行思考,因此在您的示例中:

TRADE:12345 的到期日是什么时候?

“what”是疑问句,“the”是定冠词,“for”是介词短语的开头。

可能还有其他线索,例如“:”或 TRADE 全部大写。但是,可能不是。

这应该可以帮助您入门,但您可能会查看其他一些 StackExchange 站点以获得更深入的专业知识。

最后,您希望将这样的问题分解为多个问题(假设您已完成研究并确定该问题尚未被反复提出)。因此,NLTK 和 NLP 是相当新的,但 SQL 查询通常是谷歌搜索。


推荐阅读