有几种方法可以使用,它们可以作为一个集合一起使用输出得分。(1) 将意图映射到字符串文字。比较这些字符串文字以进行精确匹配或余弦相似度比较。(2) 基于上下文缩小可能意图的范围。(3) 正则表达式匹配:如果一个句子包含特定的正则表达式(如电话号码),那么它至少可以“缩小搜索意图的范围”。(4) 词移距离:它类似于单词嵌入(即深度学习NLP),但整个句子被传递进去,并且与另一个句子的聚合距离进行比较。(5) 使用双向LSTM:参见tutorial或tensorflow。(6) 使用命名实体识别(NER)来保持“候选意图”列表。 spaCy可以做到这一点。更好的方法是将其用于主语-宾语提取。(7) 如果找不到意图,则使用“回退意图”。这可能涉及到“分层意图”,其中底层叶子表示您所指的意图。这也可能涉及到类似于“机器人不知道该说什么”的意图。