def extract_info_attributes(turn):
    """Extract information attributes for current round using NLU annotations.

    Args:
        turn: Current round information

    Returns:
        get_attribute_matches: Information attributes
    """
    user_annotation = eval(turn["transcript_annotated"])
    assistant_annotation = eval(turn["transcript_annotated"])
    annotation = user_annotation + assistant_annotation
    # annotation = user_annotation
    all_intents = [ii["intent"] for ii in annotation]
    get_attribute_matches = []
    for index, intent in enumerate(all_intents):
        if any(
                ii in intent
                for ii in ("DA:ASK:GET", "DA:ASK:CHECK", "DA:INFORM:GET")
        ):
            # If there is no attribute added, default to info.
            if "." not in intent:
                get_attribute_matches.append("info")
                continue

            attribute = intent.split(".")[-1]
            if attribute == "info":
                new_matches = [
                    ii["id"].split(".")[-1]
                    for ii in annotation[index]["slots"]
                    if "INFO" in ii["id"]
                ]
                if len(new_matches):
                    get_attribute_matches.extend(new_matches)
                else:
                    get_attribute_matches.append("info")
            elif attribute != "":
                get_attribute_matches.append(attribute)
    return sorted(set(get_attribute_matches))