许多NLP API提供API.ai和wit.ai等意图提取。但是我不清楚他们的细节。他们是做依赖解析然后提取关系,还是简单地从句子中取出关键词?如何解析"检查明天是否会下雨"?
答案 0 :(得分:1)
我知道有一些方法。它们可以一起用作输出分数的整体。
(1)将意图映射到字符串文字。比较这些字符串文字以获得完全匹配或余弦相似性。
(2)根据背景缩小可能意图的范围。
(3)正则表达式匹配:如果一个句子包含一个特征正则表达式(如电话号码),那么它至少可以“缩小搜索范围”。
(4)单词移动距离:它就像单词嵌入(即深度学习NLP),但传入整个句子,并比较与另一句子的总距离。
(5)使用双向LSTM:请参阅tutorial或tensorflow。
(6)使用命名实体识别(NER)保留“候选意图”列表。 spaCy这样做。更好的是将它用于subject-object extraction。
(7)如果找不到,则使用“后备意图”。这可以指“层次意图”,其中底层叶子表示您所指的意图。这也可以指“机器人不知道该说什么”的意图。