下面是我的Python文件名application.py。当我用python/application.py
在终端中运行这个文件时,出现了一个问题。它工作正常,并给出了结果。但是当我尝试使用flask run
时,它不起作用,并给出错误,下面是我的错误
Error :-
**AttributeError: module '__main__' has no attribute 'LemmaTokenizer'
127.0.0.1 - - [22/Aug/2020 23:31:05] "[35m[1mGET /predict?botinput=hello HTTP/1.1[0m" 500 -**
import os
from flask import Flask, request, Response
import joblib
from nltk.stem import WordNetLemmatizer
from nltk import word_tokenize
import pandas as pd
app=Flask(__name__)
@app.route('/predict')
def predict():
le=joblib.load('label_encode.tf')
pipeline=joblib.load('chatbot_pipeline.mdl')
bot_input=request.args['botinput']
X_input_vect=pipeline["vect"].transform([bot_input]).toarray()
y_input_pred=(pipeline["model"].predict(X_input_vect))
y_input_pred_decoded=le.inverse_transform(y_input_pred)
responsesdf=pd.read_pickle('responses.df')
input_response=responsesdf[responsesdf["tag"]==y_input_pred_decoded[0]]["response"].values[0]
#responses=flask.Markup(bot_reply=bot_input)
resp=Response("{reply:'"+input_response+"'}",status=200, mimetype='application/json')
return resp
class LemmaTokenizer:
def __init__(self):
self.wnl = WordNetLemmatizer()
def __call__(self, doc):
return [self.wnl.lemmatize(t) for t in word_tokenize(doc)]
if __name__ == "__main__":
app.run(port=5000)
目前没有回答
相关问题 更多 >
编程相关推荐