Example #1
0
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)
Example #2
0
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]
Example #3
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}%")