Example #1
0
def compute_score(gts, val_caps, train_imgids, val_imgids, i, j):
    res = {}
    for imgid in train_imgids:
        res[imgid] = [val_caps[val_imgids[i]][j]]

    
    scorer = Meteor()
    score, scores = scorer.compute_score(gts, res, train_imgids)
    #print(score)
    #print(len(scores))
    return np.array(scores)
Example #2
0
def evaluate(ref, hyp):
    with open(hyp, 'r') as r:
        hypothesis = r.readlines()
        res = {
            k: [" ".join(v.strip().lower().split())]
            for k, v in enumerate(hypothesis)
        }
    with open(ref, 'r') as r:
        references = r.readlines()
        gts = {k: [v.strip().lower()] for k, v in enumerate(references)}

    meteor = Meteor()
    score_Meteor = meteor.compute_score(gts, res)
    print("Meteor: " + str(score_Meteor))

    rouge = Rouge()
    scores_Rouge = rouge.get_scores([i[0] for i in gts.values()],
                                    [i[0] for i in res.values()],
                                    avg=True)
    print("Rouge: " + str(scores_Rouge))