def get_nlgeval_methods()

in tseval/feature_extraction.py [0:0]


def get_nlgeval_methods():
    """Returns all scoring methods from nlgeval package.

    Signature: method(complex_sentence, simple_setence)
    """
    def get_scoring_method(metric_name):
        """Necessary to wrap the scoring_method() in get_scoring_method(), in order to set the external variable to
        its current value."""
        def scoring_method(complex_sentence, simple_sentence):
            return get_all_nlgeval_metrics(complex_sentence, simple_sentence)[metric_name]
        return scoring_method

    nlgeval_metrics = [
        # Fast metrics
        'Bleu_1', 'Bleu_2', 'Bleu_3', 'Bleu_4', 'METEOR', 'ROUGE_L', 'CIDEr',
        # Slow metrics
        # 'SkipThoughtCS', 'EmbeddingAverageCosineSimilairty', 'VectorExtremaCosineSimilarity', 'GreedyMatchingScore',
    ]
    methods = []
    for metric_name in nlgeval_metrics:
        scoring_method = get_scoring_method(metric_name)
        scoring_method.__name__ = f'nlgeval_{metric_name}'
        methods.append(scoring_method)
    return methods