def determine_intent(self, utterance, num_results=1):
"""
Given an utterance, provide a valid intent.
:param utterance: an ascii or unicode string representing natural language speech
:param num_results: a maximum number of results to be returned.
:return: A generator the yields dictionaries.
"""
intents = []
for domain in self.domains:
gen = self.domains[domain].determine_intent(utterance=utterance,
num_results=1)
for intent in gen:
intents.append(intent)
heapq.nlargest(
num_results, intents, key=lambda domain: domain['confidence'])
for intent in intents:
yield intent
评论列表
文章目录