def load(self, path=None):
        """
        Load the dialogue policy from the provided path

        :param path: path to load the dialogue policy from
        :return:
        """
        pol_path = path

        if not pol_path:
            pol_path = self.policy_path

        if not pol_path:
            pol_path = 'models/camrest_policy/sys_policy.pkl' + \
                       self.agent_role + '_' + str(self.agent_id)

        self.policy = None
        if isinstance(pol_path, str):
            if os.path.isfile(pol_path):
                with open(pol_path, 'rb') as file:
                    obj = pickle.load(file)

                    if 'dialogue_policy' in obj:
                        self.policy = obj['dialogue_policy']

                    print(f'Calculated dialogue policy {self.agent_role} '
                          f'policy loaded.')

            else:
                print(f'Warning! {self.agent_role} dialogue policy file '
                      f'{pol_path} not found')
        else:
            print(f'Warning! Unacceptable value for policy file name: '
                  f'{pol_path}')

        Load the dialogue policy from the provided path

        :param path: path to load the dialogue policy from
        :return:
        
plato/agent/component/dialogue_policy/calculated_policy.py