sentiment140-word-gap/roberta_ft/04_predict.py
2021-11-11 10:49:15 +01:00

26 lines
829 B
Python

from tqdm import tqdm
from transformers import pipeline
def get_formatted(text):
answers = unmasker(text, top_k=15)
answers = {x['token_str']:x['score'] for x in answers}
empty = 1 - sum(answers.values())
answers[''] = empty
answers_str =''
for k,v in answers.items():
answers_str += k.strip()+':'+str(v) + ' '
return answers_str.rstrip(' ').lstrip(' ')
def write(f_path_in, f_path_out):
with open(f_path_in) as f_in, open(f_path_out,'w') as f_out:
next(f_in)
for line in tqdm(f_in,total=150_000):
l_in = line.rstrip()
a = get_formatted(l_in)
f_out.write(a + '\n')
model = 'robertamodel'
unmasker = pipeline('fill-mask', model=model, device=0)
write('dev-0_in.csv', '../dev-0/out.tsv')
write('test-A_in.csv', '../test-A/out.tsv')