def read_paraphrase_file(filename):
with open(filename, '<STR_LIT:rb>') as input_file:<EOL><INDENT>doc = etree.parse(input_file)<EOL><DEDENT>assert doc.getroot().tag == '<STR_LIT>'<EOL>paraphrases = []<EOL>for child in doc.getroot():<EOL><INDENT>if child.tag == '<STR_LIT>':<EOL><INDENT>paraphrase = child<EOL>warn_attribs('<STR_LIT>', paraphrase, PARAPHRASE_ATTRIBS)<EOL>if <NUM_LIT:0> < len(paraphrase):<EOL><INDENT>print('<STR_LIT>',<EOL>list(paraphrase))<EOL><DEDENT>paraphrase_dict = dict(paraphrase.items())<EOL>if paraphrase_dict['<STR_LIT>'] not in MAP_YESNO_TO_BOOL:<EOL><INDENT>print('<STR_LIT>',<EOL>paraphrase_dict['<STR_LIT>'])<EOL><DEDENT>else:<EOL><INDENT>paraphrase_dict['<STR_LIT>'] = MAP_YESNO_TO_BOOL[<EOL>paraphrase_dict['<STR_LIT>']]<EOL><DEDENT>if not paraphrase_dict['<STR_LIT>'].isdigit():<EOL><INDENT>print('<STR_LIT>'<EOL>'<STR_LIT>', paraphrase_dict['<STR_LIT>'])<EOL><DEDENT>else:<EOL><INDENT>paraphrase_dict['<STR_LIT>'] =int(paraphrase_dict['<STR_LIT>'], <NUM_LIT:10>)<EOL><DEDENT>paraphrases.append(paraphrase_dict)<EOL><DEDENT>else:<EOL><INDENT>print('<STR_LIT>', child)<EOL><DEDENT><DEDENT>return paraphrases<EOL>
Reads in a GermaNet wiktionary paraphrase file and returns its
contents as a list of dictionary structures.

Arguments:
- `filename`: