Exemplo n.º 1
0
                strdelta.append('-%s' % (f,))
        elif ';' in f1 or ';' in f2:
            f1 = f1.split(';')
            f2 = f2.split(';')
            minus = ['-%s' % (e,) for e in f1 if e != '' and e not in f2]
            plus = ['+%s' % (e,) for e in f2 if e != '' and e not in f1]
            if minus or plus:
                strdelta.append('%s(%s%s%s)' % (f, ','.join(minus), (' | ' if (plus and minus) else ''), ','.join(plus)))
        else:
            strdelta.append('%s(%s->%s)' % (f, f1[:4], f2[:4]))
    return ', '.join(strdelta)


if __name__ == "__main__":
    qlist, questions = answerfv.load_questions(sys.argv[1])
    for qid in qlist:
        print("[%s] %s  (%s)" % (questions[qid]['id'], questions[qid]['text'], questions[qid]['anspattern']))
        alist1, ans1 = answerfv.load_answers(sys.argv[2], qid)
        alist2, ans2 = answerfv.load_answers(sys.argv[3], qid)
        # List answers in the order of confidence in set #2
        for a in alist2:
            if a not in ans1:
                continue  # Not common answer
            a1 = ans1[a]
            a2 = ans2[a]
            delta = compare_fv(ans2['_header'], a1, a2)
            if delta == []:
                continue
            print("\t%-38.38s\t%s %.3f\t%s" % (a, a2['iM'], float(a2['confidence']), delta2str(delta)))
        print('')
Exemplo n.º 2
0
    print("%38.38s" % ('', ) + "\tin %Q\tin %A\tavg%A\tavg%CA\tavg%CAp\tRR B")
    for field in qacounter.columns:
        print("%38.38s\t%.3f\t%.3f\t%.3f\t%.3f\t%.3f\t%c%c %c" % (
            field,
            qacounter.portion_questions(field),
            qacounter.portion_answers(field),
            qacounter.mean_portion_all_answers(field),
            qacounter.mean_portion_correct_answers(field),
            qacounter.mean_portion_answers_correct(field),
            '!' if qacounter.policy_too_rare(field) else '.',
            '!' if qacounter.policy_extremely_rare(field) else '.',
            '!' if qacounter.policy_bad_predictor(field) else '.',
        ))


if __name__ == "__main__":
    """ Gather data """

    qlist, questions = answerfv.load_questions(sys.argv[1])

    qacounter = QACounter()

    for qid in qlist:
        alist, ans = answerfv.load_answers(sys.argv[2], qid)

        acounter = AnswerCounter()
        acounter.from_alist(qid, alist, ans)
        qacounter.add_question(acounter)
    """ Report data """
    stats_report(qacounter)
Exemplo n.º 3
0
            plus = ['+%s' % (e, ) for e in f2 if e != '' and e not in f1]
            if minus or plus:
                strdelta.append('%s(%s%s%s)' %
                                (f, ','.join(minus),
                                 (' | ' if
                                  (plus and minus) else ''), ','.join(plus)))
        else:
            strdelta.append('%s(%s->%s)' % (f, f1[:4], f2[:4]))
    return ', '.join(strdelta)


if __name__ == "__main__":
    qlist, questions = answerfv.load_questions(sys.argv[1])
    for qid in qlist:
        print("[%s] %s  (%s)" % (questions[qid]['id'], questions[qid]['text'],
                                 questions[qid]['anspattern']))
        alist1, ans1 = answerfv.load_answers(sys.argv[2], qid)
        alist2, ans2 = answerfv.load_answers(sys.argv[3], qid)
        # List answers in the order of confidence in set #2
        for a in alist2:
            if a not in ans1:
                continue  # Not common answer
            a1 = ans1[a]
            a2 = ans2[a]
            delta = compare_fv(ans2['_header'], a1, a2)
            if delta == []:
                continue
            print("\t%-38.38s\t%s %.3f\t%s" %
                  (a, a2['iM'], float(a2['confidence']), delta2str(delta)))
        print('')
Exemplo n.º 4
0
    for field in qacounter.columns:
        print("%38.38s\t%.3f\t%.3f\t%.3f\t%.3f\t%.3f\t%c%c %c" %
              (field,
               qacounter.portion_questions(field),
               qacounter.portion_answers(field),
               qacounter.mean_portion_all_answers(field),
               qacounter.mean_portion_correct_answers(field),
               qacounter.mean_portion_answers_correct(field),
               '!' if qacounter.policy_too_rare(field) else '.',
               '!' if qacounter.policy_extremely_rare(field) else '.',
               '!' if qacounter.policy_bad_predictor(field) else '.',
               ))


if __name__ == "__main__":
    """ Gather data """

    qlist, questions = answerfv.load_questions(sys.argv[1])

    qacounter = QACounter()

    for qid in qlist:
        alist, ans = answerfv.load_answers(sys.argv[2], qid)

        acounter = AnswerCounter()
        acounter.from_alist(qid, alist, ans)
        qacounter.add_question(acounter)

    """ Report data """
    stats_report(qacounter)