def model_key(row, headers, use_problem = True):
    """ Generate a unique key for models that make them identifiable. """
    model = ["ico_encoder", "article_encoder", "attn", "cond_attn", 
             "tokenwise_attention", "pretrain_attention", 
             "tune_embeddings", "no_pretrained_word_embeddings"]
    problem = ["article_sections", "data_config"]
    
    key = ""
    for id_ in model:
        key += row[headers[id_]] + "|||"
        
    if (use_problem):
        for id_ in problem:
            key += row[headers[id_]] + "|||"
    
    return key