def main(dataset, model): Sentenca = dataset.iloc[:, 1] Intencoes = dataset.iloc[:, 0] cleaner = Cleaner() Sentenca_cleaned = [cleaner.clean_text(x) for x in Sentenca] vectorizer = CountVectorizer() Sentenca_counts = vectorizer.fit_transform(Sentenca_cleaned) model.fit(Sentenca_counts, Intencoes) print("Digite um comando:") nova_sentenca = input() nova_sentenca_clean = cleaner.clean_text(nova_sentenca) #nova_sentenca = "liga a luz" counts_da_nova_sentenca = vectorizer.transform( [cleaner.clean_text(nova_sentenca_clean)]) interpretacao_sentenca(counts_da_nova_sentenca, nova_sentenca)
class DomesticViolenceClassifier: def __init__(self): self.cleaner = Cleaner() self.maxlen = 900 self.tokenizer = None self.parent_path = Path(__file__).parent.parent with open( self.parent_path / 'data/neural_network_config/tokenizer.pickle', 'rb') as handle: self.tokenizer = pickle.load(handle) # load json and create model json_model_keras = open( self.parent_path / 'data/neural_network_config/model.json', 'r') loaded_model_json = json_model_keras.read() json_model_keras.close() self.loaded_model = model_from_json(loaded_model_json) # load weights into new model self.loaded_model.load_weights(self.parent_path / "data/neural_network_config/model.h5") # evaluate loaded model on test data self.loaded_model.compile(optimizer='adam', loss='mean_squared_error', metrics=['mae', 'accuracy']) #returns the sentiment of a text string def domestic_violence_subject_probability(self, text: str): x = self.tokenizer.texts_to_sequences([self.cleaner.clean_text(text)]) x = pad_sequences(x, padding='post', maxlen=self.maxlen) y_new = self.loaded_model.predict(x) return y_new[0][0]
def performance_modelo(dataset, model): Sentenca = dataset.iloc[:, 1] Intencoes = dataset.iloc[:, 0] cleaner = Cleaner() Sentenca_cleaned = [cleaner.clean_text(x) for x in Sentenca] Sentenca_counts = CountVectorizer().fit_transform(Sentenca_cleaned) X_train, X_test, y_train, y_test = train_test_split(Sentenca_counts, Intencoes, test_size=0.15, random_state=1) model.fit(X_train, y_train) y_pred = model.predict(X_test) accuracy_score_model = accuracy_score(y_test, y_pred) return print(f"A acurácia do model é de {accuracy_score_model*100:.1f}%")