【问题标题】:Identify domain related important keywords from a given text从给定文本中识别与域相关的重要关键字
【发布时间】:2020-06-04 04:50:55
【问题描述】:
我对 NLP/文本处理领域比较陌生。我想知道如何从给定的文本中识别与域相关的重要关键字。
例如,如果我必须构建一个将在银行领域使用的问答聊天机器人,那么 Q 会是:TRADE:12345 的到期日期是什么时候?
从 Q 中,我想提取关键字:到期日期 & TRADE:12345。
从提取的信息中,我将构建一个类似 SQL 的查询,搜索数据库,检索 SQL 输出并将响应提供给用户。
任何帮助将不胜感激。
提前致谢。
【问题讨论】:
标签:
python
nlp
nltk
chatbot
text-processing
【解决方案1】:
所以,这就是工作的用武之地。
通常人们从停用词列表开始。有好几种,慎重选择。但您很有可能会尝试和/或使用基本列表,然后在该列表中添加更多单词。
根据列表会取出来
“什么,是,那个,为了,?”
由于这是一个非常简单的示例,他们都会这样做。但是您会注意到正在做的事情与您想要的相反。您要求提供特定于域的单词,但正在发生的事情是删除所有其他杂乱无章的内容(到库中)。
从这里开始,这将取决于您使用什么。 NLTK 或 Spacy 是常见的选择。不管你选择什么,都要真正理解概念,否则它会咬你一口(就像数据科学中的几乎所有东西一样)。
期望开始思考语言模式,因此,在您的示例中:
TRADE:12345 的到期日是什么时候?
“What”是疑问句,“the”是定冠词,“for”是介词短语的开头。
可能还有其他线索,例如“:”或 TRADE 全部大写。但是,可能不是。
这应该可以帮助您入门,但您可以查看其他一些 StackExchange 站点以获得更深入的专业知识。
最后,您希望将这样的问题分解为多个问题(假设您已完成研究并确定该问题尚未被反复询问)。因此,NLTK 和 NLP 是相当新的,但 SQL 查询通常是谷歌搜索。