-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathtest.py
50 lines (43 loc) · 1.44 KB
/
test.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
from __future__ import division
from OptimizedEntityLinking.core import EntityLinker
import json
import ast
import numpy as np
alphas = [0,0.25,0.5,0.75,1]
with open('test/solutions.txt') as f:
solutions = []
for line in f.readlines():
solutions.append(ast.literal_eval(line))
# print solutions[0]['Thermodynamics']
# quit()
with open('test/testset.txt') as f:
avg_accuracies = []
for alpha in alphas:
el = EntityLinker(alpha, 1)
accuracies = []
for i, line in enumerate(f.readlines()):
currentSolution = solutions[i]
result = el.link(line)
print "result is:"
print result
print "solution is:"
print currentSolution
totalKeywords = len(result.keys())
correctKeywords = 0
for k in result:
print result[k][0]
print currentSolution[k][0]
print result[k][0] == currentSolution[k][0]
if result[k][0] == currentSolution[k][0]:
correctKeywords += 1
print "correctKeywords: "
print correctKeywords
print "totalKeywords"
print totalKeywords
accuracies.append(correctKeywords / totalKeywords)
print "accuracies:"
print accuracies
avg_accuracies.append(np.mean(accuracies))
accuracies = []
f.seek(0)
print avg_accuracies