0 Pluspunkte 0 Minuspunkte

Ich habe dieses Tensorflow Model.

import tensorflow as tf
from tensorflow import keras
import numpy as np
import sys

positive_sentences = ["Dieses Buch ist grossartig", "Ich liebe diesen Film", "Das Essen war koestlich", "Kann ich nur empfehlen", "So schlecht war es nicht"]
negative_sentences = ["Der Film war schrecklich", "Das Buch war langweilig", "Also das war wirklich nicht gut", "Das muss echt besser sein"]

positive_labels = np.ones(len(positive_sentences))
negative_labels = np.zeros(len(negative_sentences))

sentences = positive_sentences + negative_sentences
labels = np.concatenate([positive_labels, negative_labels])

tokenizer = keras.preprocessing.text.Tokenizer()
tokenizer.fit_on_texts(sentences)

word_index = tokenizer.word_index
sequences = tokenizer.texts_to_sequences(sentences)
padded_sequences = keras.preprocessing.sequence.pad_sequences(sequences)

model = keras.models.Sequential([
    keras.layers.Embedding(len(word_index) + 1, 16, input_length=padded_sequences.shape[1]),
    keras.layers.GlobalAveragePooling1D(),
    keras.layers.Dense(128, activation='relu'),
    keras.layers.Dense(1, activation='sigmoid')
])

model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])

model.fit(padded_sequences, labels, epochs=1000, verbose=1)

Wie kann ich diesem Model eine Frage stellen und eine Zahl als Antwort erhalten die mir sagt ob die Eingabe positiv oder negativ war??

bezieht sich auf eine Antwort auf: Text Klassifizierung mit Tensorflow
von  

1 Antwort

0 Pluspunkte 0 Minuspunkte

Hier hast du ein Beispiel wie du das gezeigte Modell befragen kannst.

# Die Eingabedaten
sentence = "Das ist ein tolles Buch"

# Tokenisiere die Eingabe 
sequence = tokenizer.texts_to_sequences([sentence])

# Auf die Länge des Tokenizer auffüllen.
padded_sequence = keras.preprocessing.sequence.pad_sequences(sequence, maxlen=padded_sequences.shape[1])

# Abfrage erstellen
prediction = model.predict(padded_sequence)[0][0]
von (716 Punkte)