import pandas as pd
import wimarka
from wimarka.utils.model import load_model
from wimarka.utils.helper import get_column
import numpy as np
import torch
import sys
sys.modules['__main__'].get_column = wimarka.utils.helper.get_column
[docs]
def classify(score):
if score >= 0.81:
return "Very High"
elif score >= 0.61:
return "High"
elif score >=0.41:
return "Average"
elif score>=0.21:
return "Poor"
return "Very Poor"
[docs]
def scoring(source, target, errors):
model = load_model('regression')
data = {
'Source': [source],
'Original Translation': [target],
'Errors': [errors]
}
X_new = pd.DataFrame(data)
predictions = model.predict(X_new)
tensor = torch.tensor(predictions)
predictions = tensor.tolist()
scores = []
for i,score in enumerate(predictions[0]):
scores.append(f"{classify(score)} ({round(score, 2)})")
return scores[0], scores[1], scores[2]