python - 如何在 wit.ai 中使用多个实体
问题描述
我刚刚wit.ai
为披萨预订创建了聊天机器人,假设如果我输入一个句子:“我想订购奶酪披萨”,它必须问我尺寸是多少。相反,它再次问我你想要什么订单。谁能建议如何在wit.ai
下面的代码中使用多个实体?
def first_entity_value(entities, entity):
if entity not in entities:
return None
val = entities[entity][0]['value']
if not val:
return None
return val
def handle_message(response):
entities = response['entities']
print (entities)
greetings = first_entity_value(entities, 'greetings')
order= first_entity_value(entities, 'intent')
pizza=first_entity_value(entities, 'pizza')
pizza_type = first_entity_value(entities, 'pizza_type')
pizza_size = first_entity_value(entities, 'pizza_size')
if greetings:
return 'Hi, How can i help you?'
elif order:
return 'What u want to order?'
elif pizza:
return 'u ordered pizza,select type of pizza?'
elif pizza_type:
return 'U have ordered cheese,vege or spinach type, Please select size?'
elif pizza_size:
return 'thank you for ordering the pizza'
else:
return 'Um .. i dont recognise that request'
解决方案
这意味着您的 Wit 客户端正在从“我想订购奶酪披萨”的话语中解析一个订单实体。我建议首先在您的 Wit 应用程序页面中测试示例短语,以确保它已针对您的需求进行了适当的培训。
推荐阅读
- excel - 如何在 WScript.Shell 命令中使用变量?
- ios - 使用即时标记接口共享屏幕截图不会调用 didSelectPost()
- sql-server - 为什么 FireDAC 忽略索引名称?
- mysql - 是否为 INSERT IGNORE ... SELECT 指定了插入顺序?
- python - 何时使用交叉验证和网格搜索在 imblearn 管道中进行特征选择
- ios - Swift 协议委托返回 nil
- c - 从C中的文件中读取字符串的问题
- python - 数据框根据该类别中的字符串值列表将列更新为类别名称
- r - 如何将多个功能应用于by内的多个列?
- python - 代码适用于小数据集,但不适用于相同形状的较大数据集