<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def load_mlf(filename, utf8_normalization=None):
 """Load an HTK Master Label File. :param filename: The filename of the MLF file. :param utf8_normalization: None """

    with codecs.open(filename, 'r', 'string_escape') as f:
        data = f.read().decode('utf8')
        if utf8_normalization:
            data = unicodedata.normalize(utf8_normalization, data)

    mlfs = {}
    for mlf_object in HTK_MLF_RE.finditer(data):
        mlfs[mlf_object.group('file')] = [[Label(**mo.groupdict())
                                           for mo
                                           in HTK_HYPOTHESIS_RE.finditer(recognition_data)]
                                          for recognition_data
                                          in re.split(r'\n///\n', mlf_object.group('hypotheses'))]

    return mlfs