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

Wit.ai logo

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.