def conll2dict(conll, iter_id=None, agent=None, mode='train', doc=None, epoch_done=False):
    """
    Opens the document, reads it, and adds its contents as a string to the dictionary.
    Args:
        conll: path to the conll file
        iter_id: number of operations
        agent: agent name
        mode: train/valid mode
        doc: document name
        epoch_done: flag

    Returns: dict { 'iter_id': iter_id,
                    'id': agent,
                    'epoch_done': epoch_done,
                    'mode': mode,
                    'doc_name': doc
                    'conll_str': s}

    """
    data = {'iter_id': iter_id,
            'id': agent,
            'epoch_done': epoch_done,
            'mode': mode,
            'doc_name': doc}

    with open(conll, 'r', encoding='utf8') as f:
        s = f.read()
        data['conll_str'] = s
        f.close()
    return data