Я успешно внедрил механизм рекомендаций, но у меня проблема с этим, если я помещаю какое-либо несвязанное значение, все еще выдающее результат, должно быть показано, что «вы ввели неправильное значение»
Вот результат правильный вывод смайлов
Если я поставлю неправильные смайлы или что-то, что не принадлежит набору обучающих данных, тогда должно появиться сообщение, в котором необходимо ввести правильные смайлы.
Неверный вывод
Я ввел произвольный текст, поэтому, если я ввожу неправильные улыбки, должен получиться результат как
результат: «Пожалуйста, введите правильные улыбки»
Я помещаю свои code Я пробую Если еще, но не работает.
from rdkit import Chem
from rdkit.Chem import Draw
import pandas as pd
from flask import Flask, jsonify, request, abort
import json
import sys
import random
import unicodedata
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.metrics.pairwise import cosine_similarity
data = pd.read_csv("clean_o2h.csv", sep=",")
app = Flask(__name__)
@app.route('/', methods=["POST"])
def predict_word():
print(request.get_json())
sent = request.get_json()['smiles']
reactants = data["reactants"].tolist()
targets = data["targets"].tolist()
error = ("plese enter correct smiles")
# TFIDF vector representation
vectorizer = TfidfVectorizer()
X = vectorizer.fit_transform(targets)
test = vectorizer.transform([sent])
#test = vectorizer.transform(["NC1=CC=C2C(COC(N[C@H]3C4=C(CC3)C=CC=C4)=N2)=C1"])
cosine_similarities = cosine_similarity(test, X).flatten()
l = []
# n = ["Result 1","Result 2", "Result 3","Result 4"]
# Extract top 5 similarity records
similarity = cosine_similarities.argsort()[:-5:-1]
#print("Top 5 recommendations...")
for sim in similarity:
#print(reactants[sim])
result = reactants[sim]
l.append(result)
print(l)
# output = dict(zip(l,n))
res = { i : l[i] for i in range(0, len(l) ) }
# return jsonify({"Recommendation": res})
if(sent == targets):
return jsonify({"Recommendation": res})
else:
return jsonify({"Error": error})
if __name__ == '__main__':
app.run(port='8080')
Пожалуйста, помогите мне с правильным логом c здесь целевая переменная - это улыбки, а переменная реагентов - это рекомендация.