def __call__(self, utterances_batch: list, history_batch: list,<EOL>states_batch: Optional[list]=None) -> Tuple[list, list, list]:
batch_len = len(utterances_batch)<EOL>confidence_batch = [<NUM_LIT:1.0>] * batch_len<EOL>response_batch: List[Optional[str]] = [None] * batch_len<EOL>infer_indexes = []<EOL>if not states_batch:<EOL><INDENT>states_batch: List[Optional[dict]] = [None] * batch_len<EOL><DEDENT>for utt_i, utterance in enumerate(utterances_batch):<EOL><INDENT>if not states_batch[utt_i]:<EOL><INDENT>states_batch[utt_i] = {'<STR_LIT>': list(self.model.in_x), '<STR_LIT>': []}<EOL><DEDENT>if utterance:<EOL><INDENT>states_batch[utt_i]['<STR_LIT>'].pop(<NUM_LIT:0>)<EOL>states_batch[utt_i]['<STR_LIT>'].append(utterance)<EOL><DEDENT>if states_batch[utt_i]['<STR_LIT>']:<EOL><INDENT>response = self.proposal.format(states_batch[utt_i]['<STR_LIT>'][<NUM_LIT:0>])<EOL>response_batch[utt_i] = response<EOL><DEDENT>else:<EOL><INDENT>infer_indexes.append(utt_i)<EOL><DEDENT><DEDENT>if infer_indexes:<EOL><INDENT>infer_utterances = zip(*[tuple(states_batch[i]['<STR_LIT>']) for i in infer_indexes])<EOL>infer_results = self.model(*infer_utterances)<EOL>if len(self.model.out_params) > <NUM_LIT:1>:<EOL><INDENT>infer_results = ['<STR_LIT>'.join([str(out_y) for out_y in result]) for result in zip(*infer_results)]<EOL><DEDENT>for infer_i, infer_result in zip(infer_indexes, infer_results):<EOL><INDENT>response_batch[infer_i] = infer_result<EOL>states_batch[infer_i] = None<EOL><DEDENT><DEDENT>return response_batch, confidence_batch, states_batch<EOL>
Returns skill inference result.

        Returns batches of skill inference results, estimated confidence
            levels and up to date states corresponding to incoming utterance
            batch. Also handles interaction with multiargument models using
            skill states.

        Args:
            utterances_batch: A batch of utterances of any type.
            history_batch: Not used. A batch of list typed histories for each
                utterance.
            states_batch: A batch of states for each utterance.

        Returns:
            response: A batch of arbitrary typed skill inference results.
            confidence: A batch of float typed confidence levels for each of
                skill inference result.
            states: Optional. A batch of states for each response.