<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def yaml_tag_constructor(loader, tag, node):
 """convert shorthand intrinsic function to full name """

    def _f(loader, tag, node):
        if tag == '!GetAtt':
            return node.value.split('.')
        elif type(node) == yaml.SequenceNode:
            return loader.construct_sequence(node)
        else:
            return node.value

    if tag == '!Ref':
        key = 'Ref'
    else:
        key = 'Fn::{}'.format(tag[1:])

    return {key: _f(loader, tag, node)}