≡ edrone Blog
You've successfully subscribed to edrone
Great! Next, complete checkout for full access to edrone
Welcome back! You've successfully signed in.
Success! Your account is fully activated, you now have access to all content.
Success! Your billing info is updated.
Billing info update failed.

Z innej perspektywy — AVA in a nutshell

W trakcie rywalizacji biznesowej niekoniecznie chodzi o to, żeby zrobić coś lepiej niż konkurencja, bo jest to zazwyczaj co najmniej trudne. Tym bardziej, jeśli rozwija się swój produkt wielotorowo i na wielu płaszczyznach.

Marcin Lewek
Marcin Lewek

Tę sytuację określa się jako „czerwony ocean” — biznesowa woda wokół nas jest czerwona przez ciągłą walkę o dominację. Poetyckie, obrazowe określenie, jednak zupełnie niezrozumiałe dla maszyny, która raczej skojarzyłaby go z czymś pięknym i pożądanym — na przykład wakacjami na Bliskim Wschodzie.

Czasami wystarczy, że zrobisz coś inaczej niż konkurencja. Podejście sprawdza się w większości branż, między innymi, jak się okazuje, w obrębie technik uczenia maszynowego. AVA nie będzie służyć rozpoznawaniu biznesowego żargonu, jednak z innym językiem — językiem eCommerce, powinna poradzić sobie bez problemu. A język ten, jak się okazuje, ma wiele pułapek, i to wcale nie wynikających z niedbałości, czy hermetyczności.

  1. W skrócie opiszemy projekt edrone AVA
  2. Omówimy problemy, na jakie można natrafić podczas próby analizy języka naturalnego za pomocą algorytmów uczenia maszynowego.
  3. Powiemy kilka zdań o najpopularniejszych modelach analizy języka naturalnego, ze szczególnym uwzględnieniem ich wad w kontekście eCommerce
  4. Opiszemy w skrócie co zrobić, żeby maszyna rozumiała język klientów eCommerce.

Część poruszonych tematów, zwłaszcza dotyczących detali modeli uczenia maszynowego została znacznie uproszczona — na każdy z nich składa się dorobek życia ich twórców i nie sposób opisać nawet jeden z nich w pełni w krótkim tekście. Zależy mi jednak na tym, aby czytelnik wiedział mniej więcej, z jakimi trudnościami trzeba się mierzyć, ucząc maszyny języka ludzi.

Czym jest AVA?

Celem projektu jest opracowanie platformy AVA — systemu umożliwiającego przeprowadzanie zautomatyzowanych wdrożeń inteligentnych, konwersacyjnych asystentów zakupowych dla ecommerce — nowe narzędzie dla sklepów internetowych, wspierające proces obsługi klienta.

AVA będzie platformą pozwalającą na zautomatyzowane wdrożenia (przez sklepy internetowe) konwersacyjnego, inteligentnego asystenta zakupowego dla eCommerce. System zapewnia wygodne, szybkie i skalowalne wdrażanie inteligentnych asystentów opartych na sztucznej inteligencji, zdolnych do nieoskryptowanej rozmowy z użyciem języka naturalnego, służących do obsługi klientów. Będa to unikalni asystenci — każdy sklep otrzyma bota zdolnego do “poruszania się” w specyficznym środowisku danego sklepu — rozwiązanie dedykowane i spersonalizowane.

Definicje mają to do siebie, że każde słowo w nich zawarte jest prawdą, ale niekoniecznie są pomocne, jeśli dopiero zaczynamy zgłębiać temat. Wypunktujmy więc to, co najważniejsze:

  1. AVA będzie platformą, za pomocą której możliwe będzie dostarczenie rozwiązania klasy Wirtualny Asystent do dowolnego sklepu internetowego. Asystent będzie porozumiewał się za pomocą naturalnej mowy z klientami sklepu.
  2. Długotrwały proces tworzenia wirtualnego asystenta rozumiejącego język naturalny i władającego kompleksową wiedzą na temat produktu, zostaje znacznie uproszczony, dzięki odwróceniu paradygmatu tworzenia wirtualnych asystentów i zastosowaniu rozwiązań własnych (które opiszę w tym tekście).
  3. Główną osią asystenta stworzonego za pomocą edrone AVA, będzie baza wiedzy wygenerowana na podstawie feedu produktowego i rozmów na temat produktów między obsługą a klientami sklepu. Opracowanie narzędzi syntetyzujących informacje o produktach w bazę wiedzy użyteczną dla asystenta jest przedmiotem prac badawczo-rozwojowych.
  4. Użyteczna wiedza w rozumieniu projektu oznacza, wiedzę zrozumiałą i używaną w podobny do ludzkiego sposób. Asystent pomaga klientowi wybrać produkt, który najlepiej spełnia oczekiwania.

Powyższy opis zdradza założenia projektu AVA i daje zajawkę tego, czego się po nim można spodziewać. Nie przedłużając, wytłumaczę Ci, dlaczego AVA zasługuje na taką uwagę i dlaczego jesteśmy z niej tak dumni, chociaż do zaprezentowania jej światu w wersji komercyjnej, droga jeszcze długa. Poszczególne etapy realizacji zawierają też kilka pułapek — które dla osób niemających wiele wspólnego z uczeniem się maszyn, mogą wydawać się jednocześnie trywialne i nieosiągalne.

AVA to projekt badawczo-rozwojowy

Oznacza to tyle, że w trakcie jej przygotowania, nie wystarczy tylko realizować dobre praktyki związane z pracą nad produktem w firmie software’owej. Nie wystarczy również zaoferować interesującej, korzystnej biznesowo funkcjonalności. Tak naprawdę sam feature — w tym przypadku platforma do automatyzacji wdrożeń wirtualnych asystentów — jest tworzona niezależnie od innowacyjnych modeli algorytmów głębokiego uczenia (które równolegle zostaną użyte również w systemie).  Dlaczego nie wykorzystaliśmy istniejących rozwiązań technik i technologii? Odpowiedź jest całkiem prosta. Takowe nie istnieją. Zadanie jest ambitne, ale to właśnie dzięki niemu projekt jest tak ekscytujący.

Wraz z rozwojem technik sztucznej inteligencji, stosunkowo szybko pojawił się pomysł, by uczyć maszyny mówić, a przynajmniej — rozumieć to, co do nich mówimy za pomocą zdań i słów. Nauczyć mowy niejednokrotnie potocznej, tak bardzo różnej od języka, którym zazwyczaj się z nimi porozumiewamy. Zadanie jest jednak tylko pozornie proste. Jako ludzie uczymy się mówić dosyć wcześnie. Rozumiemy język ludzi, zanim uczymy się liczyć, czytać i pisać. Z pewnością wcześniej, niż uczymy się grać w szachy czy go. Te dwie gry pojawiają się najczęściej w kontekście przykładów spektakularnych wdrożeń. Od zarania dziejów uważano, że właśnie umiejętność przewyższenie człowieka w tego typu zadaniach stanowi dowód na istnienie inteligencji. Skoro umiejętność gry w szachy na poziomie mistrzowskim jest charakterystyczna dla wysokiej inteligencji, komputer pokonujący człowieka, musi być od niego inteligentniejszy, a co logicznie za tym idzie — posiada inteligencję.

Szybko okazało się, że to nie takie proste, nie działa w ten sposób, a inteligencja to coś znacznie bardziej ulotnego i złożonego niż gra w nawet najbardziej złożoną grę. Odkrycie to nosi nazwę Paradoksu Moraveca. Mówi ono o tym, że wbrew temu, co wydaje się „na zdrowy rozsądek”, wysokopoziomowe „rozumowanie” (takie jak umiejętność wygrania z arcymistrzem szachowym) wymaga znacznie niższej mocy obliczeniowej, niż naturalne, odruchowe czynności lub podstawowa percepcja. Innymi słowy: Zadania, które są praktycznie niewykonalne dla człowieka, okazują się stosunkowo proste dla maszyny, a jednocześnie te, które są dla niej bardzo trudne, lub wręcz zaporowe, dla ludzi są czymś w pełni intuicyjnym i niewymagającym żadnego wysiłku. Ciężko stwierdzić czy, ta myśl jest bardziej przerażająca, czy fascynująca.

Milenia Treningu

Dzieje się tak, ponieważ nie doceniamy lat ewolucji, które za nami stoją i tego, że każdy osobnik z naszego gatunku, który żył dotychczas miał swój wkład w rozwój naszych podstawowych umiejętności. Jednocześnie nie zdajemy sobie sprawy, jak bardzo właśnie te podstawowe umiejętności, były ważne dla rozwoju i powodzenia naszego gatunku. Jednym z przykładów jest mechanizm rozpoznawania twarzy — chętnie podawany również jako przykład dokonań sztucznej inteligencji. Rozpoznawanie twarzy zazwyczaj przychodzi nam bez problemu. Sprawa komplikuje się, gdy próbujemy rozpoznać twarze osób z innych grup etnicznych. Nasze mózgi są po prostu „wytrenowane” na innych danych i prozaiczna czynność przestaje być tym samym tak oczywista i naturalna. Podobnie jak z rozpoznawaniem twarzy — jest z językiem.

Komunikacja sama w sobie składa się z części werbalnej i niewerbalnej. Według aktualnego stanu wiedzy to część komunikacji niewerbalnej stanowi większość komunikacji samej w sobie, ale akurat na niej, z oczywistych względów, nie będziemy się skupiać. Niewiele jednak zyskujemy, skupiając się wyłącznie na merytorycznym przekazie. Język tylko na pierwszy rzut oka wydaje się logiczny i jednoznaczny. Idiomy, metafory — nawet nieświadomi używamy ich w wypowiedziach, raczej bez większych trudności będąc zrozumiałymi dla innych. Podobnie jest z ironią, czy kontekstem. Nauczeni życiem i doświadczeni, umiemy posługiwać się językiem elastycznie i z łatwością, nawet w przypadku niezrozumienia, wyjaśnić, dopowiedzieć, czy uzupełnić luki w zdaniach. W znacznej mierze pomaga nam, nasze zanurzenie w rzeczywistości — słowom jesteśmy w stanie przypisać istniejące obiekty, kolory, zdarzenia, uczucia. Jednocześnie przez lata, stykamy się z nowymi formami ich użycia, zastosowania. Słowa są tylko opisem rzeczywistości a sam proces ich tworzenia, wypowiadania, jest ściśle powiązany ze świadomością — pojęciem w dalszym ciągu bardzo tajemniczym i którego wyjaśnienia w najbliższym czasie raczej nie powinniśmy się spodziewać.

W zdaniu „Chciałabym kupić czerwoną sukienkę”, nie napotkamy trudności interpretacyjne, bo każde ze słów odpowiada „słownikowej” definicji. Z drugiej strony, „Szukam fotelika Isofix” powoduje więcej trudności, bo Isofix nie jest nazwą fotela, tylko umownym określeniem na fotelik posiadający zapięcie typu Isofix. Wychwycenie i połączenie w logiczną i zrozumiałą całość tych informacji nie jest problemem dla biologicznego asystenta klienta, bo zna on konwencję, ale przede wszystkim jest w stanie połączyć określenie Isofix z fotelem w adekwatny do rzeczywistości sposób — zgodny po prostu z kontekstem wypowiedzi — w tym kontekstem globalnym. Czy to rzeczywiście taki kłopot dla maszyn? Niestety tak. Wbrew obiegowej opinii sztuczna inteligencja, to nie chochlik zamknięty w pudełku, rozwiązujący problemy za pomocą magii.

Jak przetłumaczyć język na cyfry?

Rozwiązania z zakresu sztucznej inteligencji pomimo fajnej nazwy, są w dalszym ciągu programami — produktami. Tak, jak wiertarką słabo wbija się gwoździe, młotkiem niewygodnie maluje, a pędzlem wolno zmienia opony, tak najstarsze rozwiązania są skuteczne tylko w określonych zadaniach i niepozbawione wad. Ostatecznie komputer jest kalkulatorem, i dokładnie takie zadanie przed nim stawiamy – wyliczenie sporej liczby statystycznych zależności między występowaniem słów przedstawionych w postaci liczb. Na nieszczęście rozumienie naturalnej mowy, dodatkowo często potocznej, wymaga od nich również niezawodności w obszarach, w których radzą sobie słabiej, a proste podejście nie jest wystarczające. Oto przykłady technik, najczęściej opisywanych przez literaturę, i dających pewne pojęcie o ich ograniczeniach.

  • Bag-of-words — oparty jest na mechanizmie overall summarization. Model sprowadza się do rejestrowania wystąpień słów, co najprościej wytłumaczyć wyobrażając sobie worek, do którego wrzucamy każde słowo z wypowiedzi. Pod koniec liczymy wystąpienie każdego słowa — rozkład częstotliwości wystąpień tych słów można interpretować, następnie przypisując całej wypowiedzi znaczenie.  Wadą jest brak respektowania sekwencyjnych aspektów mowy. Zdanie “I am Marcin” będzie więc dla maszyny oznaczało to samo co “Am I Marcin”.
  • n-gram — skupia się na kontekście mowy, a więc i kolejności, analizując kolejność występowania słów. Model sprawdza się do przewidywania wystąpień słów, biorąc pod uwagę ich sekwencyjność (jeśli masz teraz skojarzenia ze słownikiem T9, to nie pomyliłeś się tak bardzo).
  • Hidden Markov Model — nieskuteczny ze względu na bezpamięciowość (memorylessness) — model nie zapamiętuje poprzednich stanów. Bardzo niekorzystne zjawisko, bo rozmowa 1:1 opiera się przede wszystkim na utrzymaniu kontekstu wypowiedzi.

Poza bezpamięciowością, do największych przeszkód w wykorzystaniu powyższych, najprostszych modeli, należą także:

  • Przekleństwo wymiarowości — poetycka nazwa mało poetyckiego zjawiska. Wiąże się ona z wykładniczym wzrostem trudności zadania (a co za tym idzie, czasu potrzebnego do analizy) oraz wymaga znacznie większej ilości danych uczących — co niekoniecznie idzie w parze z efektywnością. O wykładniczym wzroście powiemy nieco więcej później — na tym etapie wystarczy Ci wiedzieć, że trudność i zarazem szybkość werdyktów rośnie wykładniczo wraz z ilością „wymiarów”. Chcemy tego uniknąć, bo zależy nam na analizie konwersacji w czasie rzeczywistym.
  • Wzrost ryzyka przeuczenia modelu — tak — sztuczną inteligencję można przeuczyć i staje się wtedy jeszcze mniej „skuteczna” niż w przypadku „niedouczenia”. Parametrów jest tak dużo, że model jest paradoksalnie zbyt precyzyjny, i spadają jego zdolności do generalizowania. To bardzo ciekawe zjawisko, które skutkuje osłabieniem umiejętności do poprawnego przewidywania wyniku, ze względu na zbytnią dokładność modelu. W prostych słowach — model jest tak precyzyjnie dopasowany, że nie jest w stanie działać poprawnie na innych danych, niż te, na których został wyuczony — czy też w tym przypadku przeuczony. Trzeba nam tutaj pamiętać, że dowolny werdykt wydawany przez maszynę jest zawsze pewnym strzałem — rozwiązaniem podawanym na podstawie wcześniejszych wyliczeń prawdopodobieństw.

Nieco uogólniamy, ale to właśnie takie aspekty mowy, i jej właściwego rozumienia okazały się zabójcze, dla pionierów sztucznej inteligencji i były powodem okresowych spadków zainteresowania uczeniem maszyn przez świat nauki. Między innymi oczywiście.

Nowsze modele, które wykorzystują algorytmy głębokiego uczenia, są w mniejszym lub większym stopniu wolne od ograniczeń przedstawionych powyżej. Samo użycie Deep Learning do NLU było swoistym przełomem. Sieci neuronowe co prawda wymagają znacznie większych ilości danych, natomiast są zdolne do rozwiązywania problemów liniowych (czyt. bardziej złożonych). Dodatkowo reprezentują nieco inne podejście. W prostych Modelach przedstawialiśmy słowa jako liczby i wyliczaliśmy statystyczne relacje między nim. W głębokim uczeniu stosuje się inne podejścia, ale najważniejszą różnicą, jest zastosowanie kilku warstw, które „rozumieją” analizowany tekst zupełnie inaczej — każda na innym poziomie abstrakcji. Inaczej mówiąc, każda warstwa sieci odpowiada za zupełnie inny aspekt rozumienia.

Word2Vec (znaczenie słów na podstawie ich otoczenia i kontekstu), GloVe (znaczenie słów na podstawie ich globalnego kontekstu / występowania), BERT (dobrze znany tym, którzy na co dzień zajmują się SEO), Elmo, czy Flair, to przykłady sieci, chętnie używanych współcześnie w analizie mowy. W naszym projekcie nie w pełni wystarczające, ale wciąż użyteczne — z pewnością do wykorzystania jako sieci wspierające określone aspekty AVA, a w najgorszym wypadku, jako dobry punkt wyjścia do dalszych prac.

Zbudowanie asystenta, który „rozumie” naszą naturalną mowę nie jest zadaniem niewykonalnym. Jeśli nie zależy nam na subtelnościach takich jak właśnie odróżnienie ironii od informacji, biegłym władaniu epitetami, czy udzielaniu skomplikowanych odpowiedzi, w wysokim stopniu zależnych od szczegółów zapytania, utworzenie prostego asystenta jest w zasięgu każdego z nas.  Korzystając z oferowanych przez Google czy Amazon platform, osoba posiadająca praktykę (lub wystarczające pokłady samozaparcia) jest w stanie przygotować asystenta, który odpowiada na powtarzalne, nieskomplikowane pytania — bez znajomości wymienionych modeli i technik interpretacji mowy przez maszyny.  Moduły NLU, niezależnie od wykorzystywanych technologii, buduje się, wykorzystując kilka klas obiektów. W zależności od firmy, czy rozwiązania, ich nazwy (a nawet ilość) może się różnić między sobą, ale najważniejsze są Intencje oraz Encje. Do zbudowania chatbota nie jest konieczne ukończenie z wyróżnieniem studiów uczenia maszynowego, natomiast rozumienie tych pojęć — jak najbardziej. Znajdziesz je w większości (o ile nie wszystkich) platform NLU.

  • Intents — intencje — wola, cel, który chce osiągnąć rozmówca (interlokutor). Słowa są reprezentowane w postaci liczb zmiennoprzecinkowych. Numeryczna reprezentacja wypowiedzi klientów jest procesowana pod kątem przypisania jej do jednego ze wzorców — intencji.
  • Entities — encje — nieco mniej oczywiste pojęcie. Entities to 2-wymiarowe tablice cech, które opisują zależności między zmiennymi. Zestaw kolory, będzie zawierał tyle wierszy, ile kolorów chcemy zdefiniować, i w każdej kolumnie znajdzie się odmiana tego koloru — łącznie z fleksją — deklinacją, koniugacją i synonimami. Na podstawie tych obiektów możemy stworzyć dowolny schemat rozmowy. Sprawdza się on całkiem nieźle, do momentu, gdy nie zaczniemy rozmawiać z nim o produktach.

Asystent Google — taki jak w Twoim telefonie — obsługuje kilkanaście, czy też nawet kilkadziesiąt intencji, dlatego bardzo łatwo o pomyłkę. Wiedza ludzi różni się znacznie od wiedzy maszyn. Klasyczny asystent opiera się na słowach kluczowych i wzorcach znajdowanych w wypowiedzi. Dlatego, między innymi, łatwo mu błędnie zinterpretować intencję „szukam białej koszuli”. Równie prawdopodobne jest to, że zwróci Ci wynik wyszukiwania w postaci linka do sklepu internetowego, jak to, że otworzy mapę i pokaże drogę do najbliższego sklepu z koszulami. Gdy znasz podstawy działania takich asystentów, znacznie prościej im wybaczyć takie błędy, prawda?

Co jeśli klient nie udzieli wystarczającej informacji? Kto prowadził aktywną sprzedaż, ten wie, jak czasami trudno dowiedzieć się od klienta co tak naprawdę chce. Koszula, okej, ale jaka? Rozmiar? Dla Mężczyzny czy kobiety? A może dla dziecka? Jaki Kolor?

Dodatkowe ograniczenia Naturalnego Języka eCommerce

Im więcej pojawia się opisów, zmiennych cech, tym robi się trudniej. Zawężając obszar dyskusji do naszej branży, napotykamy również dodatkowe problemy związane z wykorzystaniem współcześnie istniejących rozwiązań.

  1. Przede wszystkim — duża różnorodność kryteriów i atrybutów pojawiających się w pytaniach klientów — utrudnia identyfikację numeryczną. Nie stwarza to aż tak dużych problemów w przypadku powtarzalnych pytań. Jeśli naszym zadaniem jest przygotowanie inteligentnego asystenta zakupowego — problem staje się poważny. Nawet jeśli intencja, która obsługujemy, jest tylko jedna — wyszukanie produktu.
  2. Obsługa zapytań składających się z dużej ilości kryteriów — jeśli już wprowadzona, nie pozwoliłaby na analizę wypowiedzi w czasie rzeczywistym — trudność, a co za tym idzie czas, rośnie wykładniczo.
  3. Niezależnie od obranej techniki, dostarczane przez nas dane, nie są łatwym orzechem do zgryzienia i przetworzenia. Duże bloki tekstu ciągłego analizuje się znacznie prościej niż fragmentaryczne, porozrzucane zdania i równoważniki zdań z poplątanymi wątkami.

W toku AVA opracowaliśmy kilka rozwiązań, które pozwolą nam obejść ograniczenia w rozumieniu mowy przez maszyny. Właściwie poprawne jest stwierdzenie, że wykorzystaliśmy największe wady i niedogodności związane z NLU w eCommerce, do naszych potrzeb.

A co stanie się, jeśli skupimy się właśnie na cechach produktów? W trakcie researchu technologicznego okazało się, że to właśnie największa trudność, może okazać się rdzeniem naszego asystenta. Dla potrzeb eCommerce asystent nie musi umieć rozmawiać o pogodzie, ani mieć swojej opinii na temat geopolitycznych wydarzeń. Wracając do porównań — młotek — pod warunkiem, że dobrze wbija gwoździe, nie musi być dobrą golarką. Postanowiliśmy się skupić właśnie na produktach, które są właściwie tym, co najbardziej interesuje klienta.

Klient poszukuje produktu, który opisuje zestaw cech. Informacje, które podaje w zapytaniu, są tożsame z tymi, jakimi opisany jest produkt w sklepie. Innymi słowy, wyszukiwanie cech produktu wypowiedzi klientów, jest równoważne wyszukiwaniu cech w bazie wiedzy asystenta. Informacje, których żąda klient — dane wejściowe do zapytania, które są jego podstawą, są analogiczne do cech, jakimi opisane są produkty w sklepie. Potrzeba jedynie narzędzia, które jest w stanie ocenić, jak dobrze produkt jest dopasowany do zapytania. O te opisy przecież pyta klient tak naprawdę. Szuka produktu, który spełnia jego cechy. Znalezienie odpowiedniej pary jest celem asystenta.

Mapa Atrybutów Produktów

Tworzymy zatem obiekt, który w projekcie został nazwany MAP — Mapa Atrybutów Produktów. Jedną z jego właściwości będzie to, że jest analogicznie używany w przypadku pytań klientów, jak i w przypadku zapytań do bazy. MAP to struktura danych opisująca w zunifikowany sposób informacje o produkcie.

Wektor jest obiektem n-wymiarowym w przestrzeni kartezjańskiej, gdzie liczba wymiarów, to liczba cech w sklepie. Każdy taki wektor będzie się różnił między sobą — ze względu na właściwości produktu (lub kryteria w zapytaniu).  Docelowo odpowiedz na wyszukiwanie, będzie sprowadzała się do szukania odległości między punktami wyznaczonymi przez wektor pytania i wektor produktu. Im bliższe te punkty, tym lepiej w założeniu produkt pasuje do pytania.  Im więcej cech będzie w stanie obsłużyć, tym lepiej — chcemy, aby algorytm był w stanie wyróżnić ich jak najwięcej. Innymi słowy, będziemy dążyć do utworzenia jak największej liczby wymiarów w tej przestrzeni. Im ich więcej, tym precyzyjniej można wyszukać, a właściwie zarekomendować produkty — będą lepiej dopasowane do tego, co ma w głowie użytkownik.  Ten proces — tworzenia struktury — chcemy znacznie uprościć i przede wszystkim zautomatyzować — bez tego automatyzacja procesu przygotowywania takiego asystenta, nie ma sensu, bo to właśnie to zajęcie, stwarza najwięcej problemów w trakcie przygotowania mądrego asystenta. Za automatyzację odpowiada algorytm nazwany roboczo gMAP — generator Map Atrybutów Produktów.  Stworzenie tego algorytmu gwarantuje spójność danych — nie będzie narażony na ręczne błędy wynikające z “labelowania” (czyli błędy wynikające z pomyłek przy etykietowaniu).  Automatyczne labelowanie pozostaje również nie bez wpływu na działanie Algorytmu RW — Rekomendująco-Wyszukującego. RW będzie taki sam w każdym sklepie, dlatego jego dane, potrzebne mu informacje wejściowe, muszą zostać podane według z góry ustalonej struktury — struktury MAP. Ręczna praca polega na tym etapie na interaktywnych poprawkach przy etykietowaniu — active learning. Sam proces powinien przebiegać przy minimalnym udziale człowieka — ręczne etykietowanie wszystkich cech, wszystkich produktów, to zadanie wyjątkowo czasochłonne (BTW: jeden z powodów nie praktyczności wdrożeń Wirtualnych Asystentów).

To tylko wierzchołek góry lodowej

Serce mi krwawi, ale bez przygotowania kilkunasto-częściowego, ilustrowanego podręcznika, bardzo trudno przedstawić wszystkie ważne informacje, dlatego siłą rzeczy wiele fascynujących tematów w powyższym tekście zostało skróconych do ścisłego minimum. Mam nadzieję że to co najważniejsze – koncepcja i innowacja, którą przygotowaliśmy w trakcie ponad ośmiu miesięcy prac, wybrzmiała w nim nieźle.  Nawiązując do pytania we wstępie tekstu – czy żeby przewyższyć konkurencję, trzeba zrobić coś lepiej? Rozwiązać te same problemy, co inni? Mam nadzieję, że teraz, podobnie jak ja, uważacie, że nie jest to zawsze konieczne. Czasami wystarczy zrobić coś trochę inaczej, lub popatrzeć na problem z innej perspektywy.

ColumnsArtificial intelligenceBig dataDeep learningMachine learningCustomer ExperienceAVA

Marcin Lewek

Designer, digital marketer, and UX/copywriter specialized in combo marketing, artificial intelligence, and digital marketing itself. Science, and holistic approach enthusiast, after-hours musician.