/
calc_time_feedback.py
77 lines (55 loc) · 2.88 KB
/
calc_time_feedback.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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
import base64
import http.client
import json
# from hashlib import blake2b
from pyblake2 import blake2b
import os
AUTH_SIZE = 16
import time
from tqdm import *
API_KEY = 'aaeaa04350f3485eb3074dd3a2c4429a' # use the provided one
SECRET_KEY = '2a4309a8a2c54e539e5cb57e3a4816d9' # use the provided one; keep this one well protected
def generate(msg):
h = blake2b(digest_size=AUTH_SIZE, key=SECRET_KEY.encode('utf-8'))
h.update(msg.encode('utf-8'))
return h.hexdigest()
text = """Markus' Aggressionen, mangelnde Ausdauer bei der Aufabenbearbeitung und großer Bewegungsdrang würden auf ADHS deuten; interessanterweise hat seine Grundschullehrerin aber ADS vermutet, was bedeutet, dass er damals nur unkonzentriert war, aber kein aggressiver Unruhestifter; doch ADHS würde sich nicht mehr im Nachhinein ausbilden, sondern wäre schon seit früher Kindheit vorhanden. Außerdem hat Markus freiwillig ein Buch Zuhause gelesen und zeichnet gerne, was beides Aktivitäten sind, die "still" sind und Ausdauer erfordern. Somit wäre ADHS nun schon aus zwei Gründen ausgeschlossen, sodass nur noch emotionale Probleme (trotz seiner freundlich scheinenden Famile), Pubertät oder ein schwieriger Charakter übrigblieben."""
text = """Ich denke dass entweder die nicht zu Ende diagnostizierte Krankheit ADS mit bei Markus im Spiel ist, gekoppelt mit einem stark ausgeprägtem pubertärem Verhalten. Auch die häusliche Umgebung scheint den Jungen zu belasten. (Vater nie da...). Dies macht nach außen einen ganz anderen Anschein als Markus preis gibt."""
def predict_text(text, case):
case = str(case)
data = {
'text': base64.b64encode(text.encode('utf-8')).decode('utf-8'),
'api-key': API_KEY,
'user': '2IFQKT0_1_1',
'case': case,
'proof': generate(text)
}
print(data)
host = 'neuralweb.ukp.informatik.tu-darmstadt.de'
# host = '127.0.0.1'
host = '0.0.0.0'
# port = '12890'
port = '12892'
port = '5000'
path = '/api/external/v1/feedback/flair'
# path = '/loadModel/flair'
headers = {"Content-type": "application/json", "charset": "utf-8"}
conn = http.client.HTTPConnection(host, port)
conn.request("POST", path, json.JSONEncoder().encode(data), headers)
response = conn.getresponse()
# print(response.status, response.reason)
tag_result = response.read()
# print(tag_result)
dir_files = 'data_text_samples/'
with open('pred_time.csv', 'w') as pt:
for file_name in tqdm(os.listdir(dir_files)):
if file_name.endswith('.txt'):
case = file_name[-5]
with open(dir_files + file_name, 'r') as f:
text = ''
for line in f:
text += line
start = time.time()
predict_text(text, case)
seconds = time.time() - start
pt.write(str(len(text)) + ';' + str(seconds) + '\n')