https://szkolazpieklarodem.pl/
Uruchamiamy poniższy fragment, aby wywołać naszą metodę train_horoskopbot z odpowiednimi parametrami train_horoskopbot(‘./data/data.json’, ‘config.json’, ‘./models/nlu’) Po uruchomieniu tego kodu w naszym rasa-nlu. ipynb, otrzymamy taki wynik:
Epoki: 100%|██████████| 300/300 [00:01<00:00, 175,69it/s,
strata=0,075, acc=1,000]
Kod do szkolenia modelu chatbota utworzy folder models, który możesz wyświetlić za pomocą Jupytera lub eksploratora plików lub aplikacji Finder. Utworzy kilka plików indeksowych, meta i pickle w podanym przez nas docelowym katalogu modelu.
Chatbot z Pytonem : Przewidywanie na podstawie modelu
Wywołajmy metodę przewidywania_intent, przekazując tekst, aby zobaczyć, jak działa nasz wyszkolony model.
predict_intent(“I am looking for my horoscope for today. I am wondering if
you can tell me that.”)
Sama metoda wypisuje wynik. W przypadku powyższego tekstu moje dane wyjściowe wyglądają następująco:
INFO:tensorflow:Restoring parameters from ./models/nlu/default/
horoscopebot/intent_classifier_tensorflow_embedding.ckpt
{
“intent”: {
“name”: “get_horoscope”,
“confidence”: 0.9636583924293518
},
“entities”: [],
“intent_ranking”: [
{
“name”: “get_horoscope”,
“confidence”: 0.9636583924293518
},
{
“name”: “dob_intent”,
“confidence”: 0.03462183475494385
},
{
“name”: “greeting”,
“confidence”: 0
},
{
“name”: “subscription”,
“confidence”: 0
}
],
“text”: “I am looking for my horoscope for today. I am wondering if you
can tell me that.”
}
Wow! Czy to nie magiczne? Nasz model przewidział taki tekst z pewnością 96%. W dostarczonym pliku ipynb widać, że nasz model dobrze radzi sobie również z przewidywaniem innych zamiarów. To jest ogólna siła tensorflow i ML. Nie trzeba dodawać, że biblioteka rasa_nlu sprawia, że tak łatwo w to uwierzyć. Czas więc cofnąć się w czasie i jeśli pamiętasz rozdział 3 tej książki, to musisz pamiętać, że za każdym razem, gdy dodawaliśmy nowy przykład, Dialogflow służył do ponownego uczenia modelu. Właściwie robiliśmy to samo, co przed chwilą, za kulisami. Nie mogliśmy tam zmienić modelu ani dostroić żadnego parametru, ale teraz możemy to wszystko zrobić z pełną kontrolą. Teraz, gdy pomyślnie zbudowaliśmy i wytrenowaliśmy model przy użyciu tensorflow, a także go przetestowaliśmy, przejdziemy do kolejnego tematu Zarządzanie dialogami. Prosiłbym o przetestowanie wszystkich scenariuszy, z którymi może spotkać się Twój bot, aby poznać punkty, w których Twój model nie działa dobrze, i w związku z tym móc dodać więcej danych lub w razie potrzeby dostroić parametry. Należy również pamiętać, że ponowne uczenie modelu wystarczy za każdym razem, gdy nastąpi zmiana danych uczących. Jeśli nie ma zmian w danych szkoleniowych, możemy załadować istniejący model szkoleniowy, aby kontynuować przewidywanie na podstawie nowych przykładów.