Cvičení – použití neurální sítě k analýze mínění v textu
Skutečný test přichází, když do modelu zadáte vlastní text a zjistíte, jak to funguje – tedy jak zdatně dokáže kvantifikovat mínění v textu. V této lekci napíšete funkci Pythonu, která jako vstup přijme textový řetězec, předá ho do modelu a vrátí skóre mínění. Pak pomocí funkce analyzujete mínění vyjádřené v různých textových řetězcích.
Do buňky na konci poznámkového bloku přidejte tento kód a buňku spusťte:
import string import numpy as np def analyze(text): # Prepare the input by removing punctuation characters, converting # characters to lower case, and removing words containing numbers translator = str.maketrans('', '', string.punctuation) text = text.translate(translator) text = text.lower().split(' ') text = [word for word in text if word.isalpha()] # Generate an input tensor input = [1] for word in text: if word in word_dict and word_dict[word] < top_words: input.append(word_dict[word]) else: input.append(2) padded_input = sequence.pad_sequences([input], maxlen=max_review_length) # Invoke the model and return the result result = model.predict(np.array([padded_input][0]))[0][0] return result
Tyto příkazy definují funkci s názvem
analyze
, která jako vstup přijme řetězec a vrátí číslo od 0,0 do 1,0, kterým kvantifikuje mínění vyjádřené v řetězci. Čím vyšší je číslo, tím pozitivnější je mínění. Funkce vyčistí vstupní řetězec, převede ho na seznam celých čísel odkazujících na slova ve slovníku vytvořeném funkcíload_data
a nakonec zavolá funkcipredict
modelu, která určí skóre textu z hlediska mínění.Pomocí poznámkového bloku spusťte tento příkaz:
analyze('Easily the most stellar experience I have ever had.')
Výstupem je mínění vyjádřené ve vstupním textu jako číslo od 0,0 do 1,0. Souhlasíte s vyhodnocením modelu?
Teď zkuste tento příkaz:
analyze('The long lines and poor customer service really turned me off.')
Jak model kvantifikuje mínění vyjádřené v tomto textu?
Nakonec model otestujete vlastními vstupními řetězci. Výsledky nebudou dokonalé, ale měli byste zjistit, že je model v kvantifikaci mínění poměrně zdatný. I když je model vytrénovaný pomocí recenzí filmů, neomezuje se na analýzu recenzí filmů. Je to pochopitelné, protože existují základní podobnosti mezi jazykem, který vyjadřuje, jak se někomu líbí nebo nelíbí film, a slovy vyjádřujícími pocity ohledně dalších nesouvisejících témat.