所以我做了这个情感分析模型,它在训练-测试脚本中运行良好。我用streamlit为我保存的模型构建了一个简单的界面,但它总是对任何输入文本返回相同的分数。另外,它不知何故返回了这么多分数,而它应该只对一个输入返回一个分数。
下面是我代码:
import streamlit as st
import tensorflow as tf
from tensorflow.keras.preprocessing.text import Tokenizer
from tensorflow.keras.preprocessing.sequence import pad_sequences
import numpy as np
import pickle
with open("tokenizer.pkl", "rb") as f:
tokenizer = pickle.load(f)
@st.cache(allow_output_mutation=True)
def load_model():
model = tf.keras.models.load_model('C:/Users/k/Downloads/test/model_final.h5')
return model
if __name__ == '__main__':
model = load_model()
st.title('Analisis Sentimen')
txt = st.text_input('masukkan teks')
if not txt:
st.warning("masukkan teks sebelum lanjut")
st.stop()
else:
text = txt
text = tokenizer.texts_to_sequences(text)
text = pad_sequences(text)
prediction = model.predict(text)
st.title('sentimen: ')
if (prediction > 0.5).any():
st.write(prediction)
st.write('positif')
else:
st.write(prediction)
st.write('negatif')
这里是一些快照,当我尝试与streamlit
1条答案
按热度按时间gorkyyrv1#
ML几乎都是反复试验,我修改了模型,得到了很好的效果,请尝试改变模型。
请在这里找到工作代码。谢谢!