首页 > 解决方案 > 如何在 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'

标签: pythonwit.ai

解决方案


这意味着您的 Wit 客户端正在从“我想订购奶酪披萨”的话语中解析一个订单实体。我建议首先在您的 Wit 应用程序页面中测试示例短语,以确保它已针对您的需求进行了适当的培训。


推荐阅读