Strona korzysta z plików cookies w celu realizacji usług i zgodnie z Polityką Plików Cookies.



25.09.2020

Konferencja PIKE 2020 „Nowy...

Liderzy branży telekomunikacji i mediów o nowych wyzwaniach i przyszłości branży w...
24.09.2020

Microsoft ogłosił harmonogram...

Ta chwila prędzej czy później musiała nadejść – Microsoft ogłosił harmonogram porzucania...
24.09.2020

Nowe mobilne jabłka

Premiera iOS-a 14
24.09.2020

Kompleksowa ochrona

Kaspersky 2021
24.09.2020

Kolejny zielony robot

Android 11
24.09.2020

Mobilne bezpieczeństwo

ESET Mobile Security 6.0
24.09.2020

QNAP

QNAP wprowadził na rynek serwery NAS serii TS-x32PXU przeznaczone do montażu w szafie...
24.09.2020

Wytrzymałe SSD

WD My Passport
24.09.2020

Laptopy dla biznesu

MSI Summit

Jak zbudować własnego bota?

Data publikacji: 16-07-2020 Autor: Marcin Szeliga
Rys. 1. Dobrze zaprojektowany...

Z niektórymi botami możemy rozmawiać za sprawą komunikacji głosowej, z innymi – poprzez wpisywanie pytań i odpowiedzi. W obu wypadkach zadaniem bota jest pomoc w rozwiązaniu konkretnego problemu z określonej dziedziny. Jeden bot zajmuje się składaniem reklamacji, a drugi może nauczyć nas grać w szachy.

 

Boty to programy, które komunikują się z użytkownikiem za pomocą języka naturalnego. W przeciwieństwie do innych programów bot nie ma własnego interfejsu, bo integruje się z używanymi programami, takimi jak komunikatory czy przeglądarki WWW. Ciekawym przykładem jest – stworzony w ramach projektu health bot project – bot wspomagający diagnozowanie typowych dolegliwości zdrowotnych. Żeby wypróbować jego działanie, połącz się ze stroną microsoft.com/en-us/research/project/health-bot/ i kliknij odnośnik Try a demo of an example end-user experience (rys. 1). Możesz opisać swój stan zdrowia w celu otrzymania wstępnej porady medycznej.


Na pierwszy rzut oka stworzenie bota wydaje się skomplikowane i wymagające – oprócz umiejętności programistycznych – wiedzy z zakresu sztucznej inteligencji, a przynajmniej z obszaru przetwarzania języka naturalnego. Celem artykułu jest pokazanie, że takie zadanie nie musi być trudne. Żeby to udowodnić, wspólnie zbudujemy prostego bota, bez napisania choćby jednej linijki kodu oraz nauczymy go odpowiadać na pytania z określonej dziedziny, bez konieczności samodzielnego przetwarzania języka naturalnego.


> Usługa QnA Maker


Odpowiedzi na większość typowych zadawanych pytań można zaleźć w dokumentacji czy na listach FAQ. Usługa QnA Maker reaguje na pytania użytkowników zadane w języku naturalnym, dopasowując je do najlepszych możliwych odpowiedzi znajdujących się w jej bazie wiedzy. Bazę wiedzy usługi QnA Maker tworzy się za pomocą portalu internetowego. Wystarczy wskazać dokumenty zawierające odpowiedzi na pytania, a następnie opublikować automatycznie utworzoną na ich podstawie bazę wiedzy – tak żeby bot mógł z niej korzystać. Usługa QnA Maker dostępna jest pod adresem qnamaker.ai. Skorzystanie z niej wymaga subskrypcji Azure (bezpłatną, demonstracyjną subskrypcję Azure można założyć na stronie azure.microsoft.com/pl-pl/free). W ramach tej subskrypcji należy posiadać zasób QnA Maker. Zaczniemy budowanie bota od dodania tego zasobu.

 

  1. Zaloguj się do portalu Azure portal.azure.com.
  2. Kliknij ikonę Utwórz zasób.
  3. Wpisz nazwę tworzonego zasobu (QnA Maker), wybierz go z listy i kliknij przycisk Utwórz.


Wdrożenie usługi QnA Maker sprowadza się do podania kilku informacji:

 

  • unikatowej nazwy usługi;
  • subskrypcji, w ramach której zostanie ona utworzona;
  • warstwy cenowej (na potrzeby artykułu wystarczy nam darmowa wersja F0, pozwalająca wykonać do 100 transakcji na minutę);
  • nazwy grupy zasobów (grupy zasobów są logicznymi kontenerami, w których umieszcza się powiązane ze sobą usługi; jeżeli – wykonując ćwiczenia z poprzednich artykułów – utworzyłeś grupę zasobów SemistructuredDataAnalysis, wybierz ją – jeśli nie, utwórz nową grupę zasobów);
  • warstwy cenowej usługi Azure Search (usługa wyszukiwania jest niezbędna do prawidłowego działania usługi QnA Maker, używanej do analizy plików źródłowych bazy wiedzy), do naszych potrzeb wystarczy darmowa wersja F;
  • lokalizacji zintegrowanej usługi wyszukiwania (wybierz najbliższą lokalizację);
  • nazwy zintegrowanej usługi WWW (domyślnie jest ona taka sama jak nazwa usługi QnA Maker);
  • lokalizacji zintegrowanej usługi WWW (umieść ją w tej samej lokalizacji co usługę wyszukiwania).

 

Opcjonalnie możemy włączyć usługę App Insight. Pozwala ona automatycznie zbierać i analizować dane o działaniu tworzonej usługi QnA Maker. Klikając przycisk Utwórz, rozpoczniemy wdrożenie. Po kilkunastu, może kilkudziesięciu sekundach usługa QnA Maker będzie gotowa do użycia.


> SupportBot


Baza wiedzy usługi QnA Maker składa się z pytań i odpowiedzi, ewentualnie uzupełnionych o opisujące je metadane. Pytania powinny odpowiadać pytaniom, które będą zadawać użytkownicy, i muszą być powiązane z odpowiedziami. Wiele przykładowych pytań można powiązać z tą samą odpowiedzią. Natomiast metadane są przechowywane jako pary klucz – wartość, opisujące pytanie i powiązaną z nim odpowiedź. Aby utworzyć bazę wiedzy:

 

  • zaloguj się do portalu qnamaker.ai na to samo konto Microsoft, na które zalogowałeś się wcześniej do portalu Azure;
  • kliknij znajdujący się na górnym pasku przycisk Create a knowledge base;
  • ponieważ utworzyliśmy już usługę QnA Maker, pierwszy krok został wykonany. Kliknij znajdujący się poniżej pierwszego kroku przycisk Refresh i wskaż utworzoną wcześniej usługę. Wymaga to wybrania właściciela subskrypcji, samej subskrypcji i usługi. Odpowiadając na ostatnie pytanie, wybierz język angielski. (W czasie pisania artykułu usługa QnA Maker była dostępna w dziewięciu językach, ale na liście wspieranych języków nie było języka polskiego).


W trzecim kroku podaj nazwę tworzonej bazy wiedzy. Ponieważ moja baza wiedzy będzie używana przez bota odpowiadającego na pytania dotyczące chmury Azure, nazwałem ją SupportBot. Do rozwiązania prostych problemów wystarczy zadać jedno pytanie, np. odpowiedzią na pytanie – Czy czwarta wersja platformy jest kompatybilna z poprzednią? – może być proste: Nie. Rozwiązanie bardziej skomplikowanych problemów często wymaga zadania dodatkowych pytań. Usługa QnA Maker potrafi tworzyć takie dialogi na podstawie struktury dokumentów źródłowych, o ile dokument zawiera hierarchiczną strukturę nagłówków czy sekcji. Żeby skorzystać z tej funkcjonalności, należy zaznaczyć pole wyboru Enable multi-turn extraction from URLs, .pdf or .docx files, a następnie wpisać tekst domyślnej odpowiedzi: I didn't
understand. Could you please rephrase your question. Ponieważ w czasie pisania artykułu włączenie tej opcji powodowało problemy z importem niektórych plików, ja pozostawiłem ją wyłączoną.
Bazę wiedzy możemy tworzyć na podstawie stron internetowych oraz plików. Mogą to być strony FAQs albo dokumentacja techniczna, broszury marketingowe czy instrukcje w formatach PDF, DOC, XLS i TXT. Tworzenie przykładowej bazy wiedzy zaczniemy od dodania do niej strony bit.ly/3fhnsEj. Następnie w obszarze Chit-chat wybierz pozycję Professional, aby dodać wstępnie zdefiniowaną osobowość do bazy wiedzy. Funkcja konwersacji dodaje do bazy wiedzy odpowiedzi na takie wiadomości jak hello czy goodbye. Kliknij przycisk Create your KB. Po chwili baza wiedzy utworzona na podstawie strony
bit.ly/3fhnsEj oraz pliku qna_chitchat_Professional.tsv będzie gotowa.

 

[...]

 

Pracownik naukowy Wyższej Szkoły Bankowej w Poznaniu Wydział Zamiejscowy w Chorzowie; jest autorem książek poświęconych analizie danych i posiada tytuł Microsoft Most Valuable Professional.

Pełna treść artykułu jest dostępna w papierowym wydaniu pisma.

.

Transmisje online zapewnia: StreamOnline

All rights reserved © 2019 Presscom / Miesięcznik "IT Professional"