|
import streamlit as st |
|
import transformers |
|
from transformers import pipeline |
|
from transformers import AutoTokenizer, AutoModelForSequenceClassification |
|
import torch |
|
torch.manual_seed(0) |
|
|
|
tokenizer_name = "sberbank-ai/ruRoberta-large" |
|
model_name = "orzhan/ruroberta-ruatd-binary" |
|
|
|
|
|
def load_model(model_name): |
|
tokenizer=AutoTokenizer.from_pretrained(tokenizer_name) |
|
model = AutoModelForSequenceClassification.from_pretrained(model_name) |
|
return pipeline(task="text-classification",model=model,tokenizer=tokenizer) |
|
|
|
model = load_model(model_name) |
|
|
|
|
|
|
|
default_value = "Никто ни разу не навестил меня в больнице" |
|
examples = [default_value, |
|
"Под монастырем, на самой верхушке скалы, обнаружил почти 200 древних археологических находок.", |
|
"Они чем-то кормились на земле и только в случае тревоги взлетали на деревья.", |
|
"--- свой текст ---"] |
|
|
|
|
|
st.title("Демо определения сгенерированного текста") |
|
sent = st.selectbox("Пример", examples) |
|
if sent == "--- свой текст ---": |
|
sent = st.text_area("Исходный текст", default_value) |
|
|
|
|
|
|
|
st.button('Сгенерировано или нет?') |
|
|
|
pred = model(sent) |
|
|
|
|
|
|
|
if pred[0]['label'] == "LABEL_0": |
|
st.write("Текст сгенерирован"); |
|
else: |
|
st.write("Текст написан человеком"); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|