Wit.ai logo

Sztuczna inteligencja na przykładzie Wit.ai, cz. 1

Sztuczna inteligencja i chatboty to słowa kluczowe, które w ostatnim czasie zyskują ogromną popularność. Wizja wirtualnych asystentów rozmawiających z nami jak ludzie pobudza naszą wyobraźnię i powoduje, że coraz śmielej dążymy do technologii dostępnej do tej pory wyłącznie w filmach science-fiction.

Jednym z ważniejszych i najbardziej skomplikowanych zagadnień w świecie chatbotów jest przetwarzanie języka naturalnego (ang. Natural Language Processing), czyli zdolność systemów do rozumienia i generowania języka zrozumiałego dla człowieka. Systemów oraz frameworków, które próbują zmierzyć się z tym problemem i udostępniają nam ku temu narzędzia jest bardzo wiele. Dziś chcieliśmy się skupić na jednym z nich – Wit.ai, czyli darmowe narzędzie kupione przez Facebook’a, wspomagające rozumienie języka naturalnego i wspomagające implementację chatbotów. Co wyróżnia to narzędzie? Z pewnością wsparcie dla ponad 50 języków, w tym dla języka polskiego (co prawda zaznaczają, że język polski jest w wersji beta, ale sam fakt jego obecności należy do rzadkości w tego typu systemach).

Jak to działa?

Poniżej znajdziecie obrazek przedstawiający koncept systemów NLP oraz ich wykorzystania w chatbotach na przykładzie Dialogflow (dawniej api.ai).

Wit.ai

http://site.clairvoyantsoft.com/google-api-artificial-intelligent-assistant/

Przepływ wygląda następująco: użytkownik wpisuje lub zwraca się głosowo do naszego bota, a ten przesyła informację do systemu przetwarzającego język naturalny (np. Wit.ai). System ten na podstawie wcześniej wyuczonego modelu wyciąga z wiadomości tzw. intent, czyli słowo kluczowe określające zamiar użytkownika. Na podstawie tego słowa kluczowego podejmowane są dalsze decyzje i generowana jest odpowiedź, która wraca do użytkownika.

Schemat wygląda dość prostu i taki jest, biorąc pod uwagę fakt, że najważniejszy krok, czyli zrozumienie intencji robi za nas Wit.ai. Zaznaczyć przy tym jednak trzeba, że sukces procesu zależy od wytrenowania naszego modelu – im lepiej został nauczony tym precyzyjniejsze będą odpowiedzi.

Przykład

Aby zobrazować sposób działania systemów przetwarzania języka naturalnego posłużymy się dość tradycyjnym przykładem – botem pogodowym.

Załóżmy, że mamy już wyuczony model (w jaki sposób wytrenować model opiszemy w kolejnych artykułach) i użytkownik wpisuje frazę:

Jaka będzie jutro temperatura we Wrocławiu?

 

W tej chwili dobrze nauczony model będzie w stanie wywnioskować z wpisanej frazy, że chodzi o „pogodę” ( intent ). Poza tym będzie w stanie wyciągnąć dodatkowe dane, tzw. entities  ( w naszym przypadku będzie do lokalizacja „Wrocław” oraz data – „jutro„).

Mając takie dane jesteśmy w stanie przetworzyć żądanie, np. poprzez wysłanie zapytania do zewnętrznego API w celu pobrania aktualnej prognozy pogody na jutrzejszy dzień w okolicach Wrocławia. Odpowiedź, którą otrzymamy możemy następnie opakować w odpowiedź i przesłać do użytkownika.

Co dalej?

W tym wpisie przedstawiliśmy w podstawowym zakresie budowę systemów NLP oraz to w jaki sposób działają. T co najciekawsze jednak czeka Was w kolejnych wpisach – w większej części poświęconej frameworkowi Wit.ai.

W kolejnym wpisie przedstawimy możliwości jakie ze sobą niesie Wit.ai oraz krótki przewodnik po podstawowych funkcjonalnościach.



Udostępnij: