Пример #1
0
    agent = RequestInformSlotAgent(kb, act_set, slot_set, agent_params,
                                   movie_request_slots, movie_inform_slots)
elif agt == 5:  # movie request rule agent
    agent = RequestBasicsAgent(kb, act_set, slot_set, agent_params,
                               movie_request_slots)
elif agt == 6:  # restaurant request rule agent
    agent = RequestBasicsAgent(kb, act_set, slot_set, agent_params,
                               restaurant_request_slots)
elif agt == 7:  # taxi request agent
    agent = RequestBasicsAgent(kb, act_set, slot_set, agent_params,
                               taxi_request_slots)
elif agt == 8:  # taxi request-inform rule agent
    agent = RequestInformSlotAgent(kb, act_set, slot_set, agent_params,
                                   taxi_request_slots, taxi_inform_slots)
elif agt == 9:  # DQN agent for movie domain
    agent = AgentDQN(kb, act_set, slot_set, agent_params)
    agent.initialize_config(movie_request_slots, movie_inform_slots)
elif agt == 10:  # restaurant request-inform rule agent
    agent = RequestInformSlotAgent(kb, act_set, slot_set, agent_params,
                                   restaurant_request_slots,
                                   restaurant_inform_slots)
elif agt == 11:  # taxi request-inform-cost rule agent
    agent = RequestInformSlotAgent(kb, act_set, slot_set, agent_params,
                                   taxi_request_slots, taxi_inform_cost_slots)
elif agt == 12:  # DQN agent for restaurant domain
    load_actions(dialog_config.restaurant_sys_request_slots,
                 dialog_config.restaurant_sys_inform_slots)
    agent = AgentDQN(kb, act_set, slot_set, agent_params)
    agent.initialize_config(restaurant_request_slots, restaurant_inform_slots)
elif agt == 13:  # DQN agent for taxi domain
    load_actions(dialog_config.taxi_sys_request_slots,
Пример #2
0
agent_params['cmd_input_mode'] = params['cmd_input_mode']

if agt == 0:
    agent = AgentCmd(movie_kb, act_set, slot_set, agent_params)
elif agt == 1:
    agent = InformAgent(movie_kb, act_set, slot_set, agent_params)
elif agt == 2:
    agent = RequestAllAgent(movie_kb, act_set, slot_set, agent_params)
elif agt == 3:
    agent = RandomAgent(movie_kb, act_set, slot_set, agent_params)
elif agt == 4:
    agent = EchoAgent(movie_kb, act_set, slot_set, agent_params)
elif agt == 5:
    agent = RequestBasicsAgent(movie_kb, act_set, slot_set, agent_params)
elif agt == 9:
    agent = AgentDQN(movie_kb, act_set, slot_set, agent_params)

################################################################################
#    Add your agent here
################################################################################
else:
    pass

################################################################################
#   Parameters for User Simulators
################################################################################
usersim_params = {}
usersim_params['max_turn'] = max_turn
usersim_params['slot_err_probability'] = params['slot_err_prob']
usersim_params['slot_err_mode'] = params['slot_err_mode']
usersim_params['intent_err_probability'] = params['intent_err_prob']
Пример #3
0

if agt == 0:
    agent = AgentCmd(course_kb, act_set, slot_set, agent_params)
elif agt == 1:
    agent = InformAgent(course_kb, act_set, slot_set, agent_params)
elif agt == 2:
    agent = RequestAllAgent(course_kb, act_set, slot_set, agent_params)
elif agt == 3:
    agent = RandomAgent(course_kb, act_set, slot_set, agent_params)
elif agt == 4:
    agent = EchoAgent(course_kb, act_set, slot_set, agent_params)
elif agt == 5:
    agent = RequestBasicsAgent(course_kb, act_set, slot_set, agent_params)
elif agt == 9:
    agent = AgentDQN(course_kb, act_set, slot_set, agent_params)
    
################################################################################
#    Add your agent here
################################################################################
else:
    pass

################################################################################
#   Parameters for User Simulators
################################################################################
usersim_params = {}
usersim_params['max_turn'] = max_turn
usersim_params['slot_err_probability'] = params['slot_err_prob']
usersim_params['slot_err_mode'] = params['slot_err_mode']
usersim_params['intent_err_probability'] = params['intent_err_prob']
Пример #4
0
        curr_user_goals = {}
        if num_goals != 120:
            curr_user_goals = select_random_user_goals(train_user_goals_no_req_slots, train_user_goals_with_req_slots,
                                                    training_user_goals_no_req_cardinality[i],
                                                    training_user_goals_req_cardinality[i])
        else:
            curr_user_goals["all"] = []
            curr_user_goals["all"].extend(copy.deepcopy(train_user_goals))

        # create pretrain user simulator
        pretrain_user_sim = RuleSimulator(mock_dictionary, act_set, slot_set, copy.deepcopy(curr_user_goals), pretrain_usersim_params)
        # create not a pre-trained user simulator
        user_sim = RuleSimulator(mock_dictionary, act_set, slot_set, copy.deepcopy(curr_user_goals), usersim_params)

        # create the pre-trained agent
        pretrained_agent = AgentDQN(kb, act_set, slot_set, pretrained_agent_params)
        # create the agent from scratch
        agent = AgentDQN(kb, act_set, slot_set, agent_params)

        # create dialogue manager for pre-trained agent
        pretrain_dialog_manager = DialogManager(pretrained_agent, pretrain_user_sim, act_set, slot_set, kb)

        # create dialogue manager for not pre-trained agent
        dialog_manager = DialogManager(agent, user_sim, act_set, slot_set, kb)

        # the warmup success rate of the pre-trained model
        pretrain_warmup_succ_rate = 0
        # the warmup success rate of the scratch model
        warmup_succ_rate = 0