def parse_flattened_result_only_intent(to_parse):
    """
        Parse out the belief state from the raw text.
        Return an empty list if the belief state can't be parsed

        Input:
        - A single <str> of flattened result
          e.g. 'User: Show me something else => Belief State : DA:REQUEST ...'

        Output:
        - Parsed result in a JSON format, where the format is:
            [
                {
                    'act': <str>  # e.g. 'DA:REQUEST',
                    'slots': [
                        <str> slot_name,
                        <str> slot_value
                    ]
                }, ...  # End of a frame
            ]  # End of a dialog
    """

    def parse_intent(intent_str):
        pos_list = []
        for i in range(len(intent_str)):
            for j in range(i + 1, min(len(intent_str), i + 4)):
                sub_str = intent_str[i:j + 1]
                if sub_str == 'da:' or sub_str == 'err:':
                    pos_list.append(i)
                    break
        if not pos_list or len(pos_list) == 1:
            return [intent_str]
        return [intent_str[:pos] for pos in pos_list[1:]] + [intent_str[pos_list[-1]:]]

    belief = []

    # Parse
    # to_parse: 'DIALOG_ACT_1 : [ SLOT_NAME = SLOT_VALUE, ... ] ...'
    to_parse = to_parse.strip()

    intents = parse_intent(to_parse)
    for idx, dialog_act in enumerate(intents):
        d = dict()
        d['act'] = dialog_act.replace('.', ':')
        d['slots'] = []

        if d != {}:
            belief.append(d)

    return belief