This commit is contained in:
ІО-23 Шмуляр Олег 2025-12-06 16:36:55 +02:00
parent 93229d32d1
commit 8665e3d475
3 changed files with 46 additions and 3 deletions

35
detect.py Normal file
View File

@ -0,0 +1,35 @@
from model import m
from preprocessor import frs
import pickle
import time
from sys import exit
from tensorflow.keras.utils import pad_sequences as kps
m.load_weights("model2.keras")
tk = pickle.load(open('tokenizer.pickle', 'rb'))
while True:
t = ""
try:
t = frs(input("Comment: "))
except EOFError:
print("\nExiting")
exit(0)
print(f"Processed: {t}")
s = tk.texts_to_sequences([t])
print(f"Sequence: {s[0]}")
ps = kps(s, maxlen = 100)
p = m.predict(ps)
if p >= 0.75:
print(f"Result: positive ({p[0]})\n")
elif p <= 0.25:
print(f"Result: negative ({p[0]})\n")
else:
print(f"Result: unsure ({p[0]})\n")

View File

@ -10,6 +10,9 @@ from tensorflow.keras.utils import pad_sequences as kps
import numpy as np import numpy as np
import pandas as pd import pandas as pd
import pickle
print("I") print("I")
t = pd.read_csv("prepped_train.csv", t = pd.read_csv("prepped_train.csv",
header = None, header = None,
@ -22,6 +25,9 @@ r = t['r'].astype(str)
tk = kT(num_words = 6000) tk = kT(num_words = 6000)
tk.fit_on_texts(r) tk.fit_on_texts(r)
with open('tokenizer.pickle', 'wb') as f:
pickle.dump(tk, f, protocol = pickle.HIGHEST_PROTOCOL)
print("F") print("F")
s = tk.texts_to_sequences(r) s = tk.texts_to_sequences(r)
@ -50,6 +56,7 @@ m.compile(optimizer = ko.Lion(learning_rate = 0.0005),
metrics = ['accuracy']) metrics = ['accuracy'])
''' '''
'''
from model import m from model import m
ckpt = kc.ModelCheckpoint('model2.keras', ckpt = kc.ModelCheckpoint('model2.keras',
@ -64,3 +71,4 @@ history = m.fit(ts,
batch_size = 1024, batch_size = 1024,
validation_split = 0.1, validation_split = 0.1,
callbacks = [ckpt]) callbacks = [ckpt])
'''

View File

@ -5,9 +5,9 @@ from nltk.tokenize import word_tokenize
from nltk.stem import WordNetLemmatizer from nltk.stem import WordNetLemmatizer
from spellchecker import SpellChecker as sc from spellchecker import SpellChecker as sc
nltk.download("stopwords") #nltk.download("stopwords")
nltk.download("punkt_tab") #nltk.download("punkt_tab")
nltk.download("wordnet") #nltk.download("wordnet")
def fr(r): def fr(r):
r = r.lower() r = r.lower()