Python i AI dla e-commerce
Uczenie maszynowe w e-commerce
Nie ma potrzeby podawać tu definicji e-commerce i przekonywać o bardzo dynamicznym rozwoju tego zjawiska.
E-sprzedaż wkroczyła do każdej kategorii tradycyjnego handlu, wytworzyła też swoje specyficzne kategorie, np. sprzedaż wirtualnych przedmiotów w grach czy też „weekendowe” zwiększenie mocy w samochodzie (tak — takie coś też można kupić przez internet). Jednak nie wszystko jest takie kolorowe.
Według raportu Bisnode Polska (marzec 2020), siedem z dziesięciu nowych e-sklepów zamyka się w ciągu 6 miesięcy od powstania. Fakt, że wzrost ich roli na rynku jest wciąż imponujący, jednak niwelowanie barier i hamulców to cel zarówno pojedynczych właścicieli sklepów, jak i całej branży.
Liczba sklepów internetowych w Polsce
Problemy napotykane w tej branży są różne. Podstawowym są trudności w pozyskiwaniu klientów, a tym samym wysoki koszt sprzedaży. Na drugim krańcu mieszczą się problemy związane z automatyzacją obsługi sprzedaży, klienta oraz logistyki — to wszystko znów wiąże się ze wzrostem kosztów, zwłaszcza pracowniczych.
Trzeba też wspomnieć o niekończącej się liście problemów z brakiem informacji czy też jej przepływem. E-sklepy skarżą się na brak informacji i wiedzy: o klientach, konkurencji, brak monitoringu cen i trendów rynkowych.
Specjaliści jednoznacznie wskazują na rozwiązania tych problemów: segmentacja klientów i personalizacja, automatyzacja, robotyzacja, chatboty — to wszystko wymaga AI na pokładzie!
Spójrzmy zatem teraz na trendy AI w e-commerce i pokażmy, jakich technik i algorytmów możemy w nich użyć.
Customer Data Platform
To — subiektywnie — jeden z najważniejszych trendów, o dużej mocy sprawczej w maksymalizacji przychodów e-sklepu, bo jest „paliwem” m.in. dla systemów rekomendacji czy personalizacji. Platforma ta jest bazą danych informacji (a bardziej wiedzy) o klientach, udostępnianych innym systemom.
Customer Data Platform — przepływ danych
Dane źródłowe do CDP powinny być zbierane ze wszystkich źródeł, tj. portali społecznościowych, witryn i blogów sklepu, stron landing page, e-sklepu, m-sklepu czy stron partnerów.
Następnie dane są oczyszczane, klasyfikowane (np. zachowanie), wzbogacane o dane zewnętrzne (np. o dane demograficzne, mikroekonomiczne), po czym przeprowadzana jest predykcja danych mających wpływ na sprzedaż (np. wrażliwość na promocję, nowinki, cenę).
Tak ujednolicone profile klientów są udostępniane (najczęściej w postaci API) innym systemom — np. systemom mailingowym, systemom notyfikacji aplikacji mobilnych, programom rekomendacyjnym i serwerom reklamowym. Można powiedzieć, że podczas budowy profili konsumentów wykorzystywany jest cały wachlarz technik z obszaru AI.
Na uwagę zasługuje globalny darmowy projekt Tracardi (jednak o polskich korzeniach) z otwartym kodem, który można wykorzystać do zbierania danych e-commerce dla celów uczenia maszynowego. Tracardi automatyzuje proces zbierania z różnych źródeł, przetwarzania, wzbogacania oraz grupowania danych o klientach.
Korzystanie z systemu nie wymaga zdolności programistycznych, gdyż wszystkie operacje można wykonać w ramach edytora graficznego, za pomocą którego definiujemy proces przetwarzania danych. Dodatkowym atutem systemu jest możliwość jego rozbudowy w języku Python. Zebrane dane można analizować w dowolny sposób za pomocą znanego nam już systemu Kibana lub przesyłać do innych systemów analitycznych.
Istnieje możliwość wzbogacania zbieranych danych o informacje z zewnętrznych systemów teleinformatycznych. Dla przykładu dane o zakupionych towarach można wzbogacić o to, z jakiego regionu kraju pochodzi kupiec, jakiej kategorii był to produkt czy zakup pochodził z urządzenia mobilnego, a nawet takie dane jak warunki pogodowe w momencie zakupu.
System można pobrać z serwisu GitHub. Od klasyfikacji zachowań (uzyskiwanej dzięki nadzorowanemu uczeniu maszynowemu), poprzez scoring klientów (także nadzorowane uczenie maszynowe), analizę publikacji produktowych, opisów produktów, komentarzy użytkowników (tu pomocne będzie NLP — przetwarzanie języka naturalnego) po nienadzorowane uczenie maszynowe (segmentacja klientów).
Automatyczne cechowanie produktów
Bardzo często sklepy internetowe przejmują opisy produktów od „tradycyjnych” dostawców (hurtowani, dystrybutorów, centrów dystrybucyjnych), przyzwyczajonych do „tradycyjnych” katalogów. Natomiast e-sklepy oprócz zdjęcia i słownego opisu potrzebują również mocno ustrukturyzowanych danych.
W przypadku np. sukienki potrzebujemy cech produktu takich jak: fason, typ dekoltu, długość, długość rękawów, materiał, kolor, a także cech pomocnych np. dla systemów rekomendacyjnych — okazja, styl, pora roku. Ręczne cechowanie produktów przy częstej wymianie asortymentu i znacznej wolumetrii (np. sklepy z powyżej 5000 produktów) to ogromne koszty dla sklepu.
Natomiast brak tych cech uniemożliwia wdrażanie np. systemów rekomendacyjnych, CDP, chatbotów czy też wyszukiwarek wizualnych — a wszystkie te elementy są akceleratorami wzrostu przychodu.
Algorytmy mogą się nauczyć automatycznie identyfikować takie cechy. Jak? Dzięki analizie języka naturalnego (NLP), klasyfikacji (uzyskiwanej przez nadzorowane uczenie maszynowe) czy przetwarzaniu obrazu (głębokie uczenie, konwolucyjne sieci neuronowe).
Systemy rekomendacyjne
W tradycyjnym sklepie, kiedy klient będzie potrzebował pomocy w zakupach, np. chcąc dowiedzieć się, czy na pewno produkt jest dla niego, czy coś jeszcze powinien dokupić do już wybranego produktu lub po prostu co najlepiej sprzedaje się z danej grupy asortymentu, wystarczy, że zapyta sprzedawcy.
Natomiast w e-sklepie sytuacja jest dużo gorsza, ponieważ (co nie jest wielkim odkryciem) brak jest pomocnej osoby — sprzedawcy, doradcy czy też asystenta sprzedaży. Dlatego właśnie opracowano system rekomendacyjny, będący subtelnym, programowym asystentem sprzedaży, który cały czas „podpowiada” użytkownikowi co (jeszcze) powinien kupić.
Warto jednak nadmienić, że jest to najstarsza metoda wspierania e-sprzedaży. Internauci, którzy znają czasy modemów i pierwsze sklepy online, pamiętają sekcje „Ci, którzy kupili produkt XXX, kupili także…”. Prosta statystyka, a np. w e-księgarniach wciąż bardzo skuteczna.
Jednak danych przybywa, a profil klienta sklepów elektronicznych powinien uwzględniać pełny przekrój społeczeństwa. Dlatego AI pomaga klasyfikować zachowania klientów (za pomocą nadzorowanego uczenia maszynowego), segmentować ich (dzięki nienadzorowanemu uczeniu maszynowemu), automatycznie kategoryzować produkty i budować relacje między nimi (NLP oraz nadzorowane uczenie maszynowe) w celu budowania najlepszych rekomendacji sprzedażowych i maksymalizacji wartości koszyka.
System rekomendacji w praktyce
Rzeczywistość rozszerzona
(ang. augmented reality)
Oto prosty przykład rzeczywistości rozszerzonej: na obraz z kamery telefonu (ale nie tylko, bo można spotkać kamery także w tzw. inteligentnych lustrach w przebieralniach) nakładany jest obraz wygenerowany cyfrowo (wirtualny).
To świetny sposób np. na wizualizację (przed zakupem) umiejscowienia produktu fizycznego w otoczeniu, w którym planujemy ten przedmiot umieścić. Załóżmy, że chcemy kupić jakiś wybrany mebel; kierujemy kamerę na miejsce w pokoju, gdzie chcemy go postawić, i nagle widzimy wirtualny mebel (3D) nałożony na obraz z kamery.
To także świetny sposób na cross-selling; kierujemy w sklepie kamerę na produkt, a program dobiera dodatki i prezentuje je na ekranie telefonu. Oczywiście systemy tego typu wymagają mocnych silników do generowania obrazów 3D, a także systemów komputerowego widzenia (ang. computer vision) wspieranych głębokim uczeniem.
Rozszerzona rzeczywistość w praktyce. Źródło: GroupeSeb
Prognozowanie popytu
Chyba nikogo nie zdziwi, że prognozowanie zachowania zakupowego klientów, a tym samym estymacja popytu, to klucz do wysokiej marży i zadowolenia klienta. Główne korzyści, jakie daje, to minimalizacja kosztów magazynu, lepsze negocjacje z producentami i dostawcami (bo wiemy, ile dokładnie sprzedamy).
Najważniejsze jednak jest zapewnienie klientom optymalnych czasów dostawy (bez oczekiwania na ściągnięcie towaru od producenta). Popyt wyrażany jest najczęściej wartością numeryczną, np. kwotą przychodu lub liczbą sprzedanych sztuk danego produktu. Dla takich przypadków przydatne będą uczenie nadzorowane i algorytmy regresji.
Wyszukiwanie wizualne i asystenci głosowi
Wyszukiwarki tekstowe to podstawowy moduł każdego sklepu. Użytkownicy, m.in. dzięki sukcesowi Google, przyzwyczaili się do wyszukiwarek i potrafią je wykorzystywać niezależnie od swojego wieku. Jednak są branże, gdzie tekst nie jest dobrym nośnikiem wyrażania potrzeb czy też intencji zakupowych.
Moda, wyposażenie wnętrz, projekty domów i wiele innych branż potrzebują prostych wyszukiwarek wizualnych. Potrzebuję lampy takiej jak na zdjęciu albo pasującej do pokoju jak na zdjęciu (bądź filmie), chciałbym kupić sukienkę podobną do właśnie tej. Wystarczy przesłać zdjęcie lub skierować telefon na produkt, pokój lub osobę. Pstryk — i już można przeglądać lub kupować.
Podobnie jest w przypadku tzw. asystentów głosowych, podobnych do tych „ukrytych” w głośnikach lub telewizorach, dzięki którym za pomocą polecenia głosowego nakazujemy urządzeniu np. zmniejszenie głośności lub przełączenie na inny kanał.
W systemach sklepowych działa to tak: nie tyle wskazujemy produkt, co opisujemy go słownie: „Potrzebuję szybko produkty na przyjęcie dla 4 młodych osób”.
W obu omówionych tu systemach maszyna (urządzenie) stoi przed nie lada wyzwaniem. Pierwszy problem to poprawna identyfikacja obiektów na zdjęciu lub zamiana głosu na tekst. Drugą trudnością jest wyszukiwanie odpowiednich produktów — podobnych wizualnie bądź dobranych poprzez analizę semantyczną zapytania w przypadku asystenta głosowego.
W obu zadaniach związanych z rozpoznaniem potrzeby klienta — analizie obrazu i tzw. automatycznym rozpoznawaniu mowy (ang. automatic speech recognition, ASR) — zdecydowanie najbardziej przydatne będą głębokie uczenie oraz m.in. konwolucyjne sieci neuronowe (Convolutional Neural Network — CNN).
Drugi problem to elementy pozwalające odpowiednio dobrać produkty: klasyfikatory, (tu przyda się nadzorowane uczenie maszynowe), systemy rekomendacyjne (budowane w oparciu o przetwarzanie języka naturalnego — NLP), a być może nawet systemy ekspertowe.
Wyszukiwanie wizualne. Źródło: https://shopify.com/
Dynamiczne ustalanie cen
(ang. dynamic pricing)
Cena w sklepie zależy od wielu czynników — od stanów magazynowych, popytu, zachowania konsumentów, relacji z producentem (dostawcą), trendów czy otoczenia konkurencyjnego (tzn. od tego, po ile te same produkty sprzedaje konkurent).
Wiele z tych czynników możemy prognozować lub monitorować. Jeśli potrafimy określić te czynniki i wiemy, co jest funkcją celu — np. maksymalizacja przychodu czy marży — to już w głowie układa się zadanie optymalizacyjne i możemy siadać do pisania programu.
Na pewno przyda nam się zestaw algorytmów z zakresu nadzorowanego uczenia maszynowego, np. algorytmy regresji, a także techniki optymalizacyjne. Natomiast w przypadku analizy zachowań konkurencji warto sięgnąć po przetwarzanie języka naturalnego (NLP) i mniej związany z AI web scraping (stanowi on przedmiot rozdziału 10.).
Monitorowanie marki i zarządzanie reputacją
Nie trzeba być specjalistą ds. marketingu i PR aby wiedzieć, że dobre opinie o produkcie mogą zdziałać więcej niż wysokobudżetowa reklama. Natomiast złe opinie, niezależnie od tego, czy słuszne, czy też niezasłużone, np. generowane przez konkurencję, mogą „rozwalić” najlepszy biznes.
Jednak codzienne przeglądanie mediów społecznościowych, portali z opiniami czy też komentarzy umieszczanych w sklepie przez klientów to praca na kilka etatów. Nużąca, stresogenna i demotywująca. Co zrobić, aby mieć nad tym kontrolę? Gdzie człowiek nie może, warto wysłać robota.
AI pomoże nam monitorować media (web scraping, NLP), analizować emocje w komentarzach (zarządzane nauczanie maszynowe, NLP), a także wykrywać, czy komentarz jest prawdziwy, czy też fałszywy (np. wygenerowany przez nieuczciwą konkurencję). Można powiedzieć, że ten obszar można całkowicie zautomatyzować dzięki własnym lub zewnętrznym usługom wspieranym przez AI.
Chatboty i automatyzacja obsługi klienta
Zapewnienie wysokiej jakości obsługi klienta to priorytet w dzisiejszym e-biznesie. Jednak co to znaczy wysokiej jakości obsługa klienta? Szybka pierwsza reakcja, szybkie załatwienie sprawy, całodobowa gotowość, nowoczesne metody komunikacji i traktowania klienta, jakby był u nas od zawsze. Potrzebujemy robota pracującego w trybie 24/7.
Takiego, który nigdy nie jest zmęczony, zawsze reaguje w czasie krótszym niż 100 ms i ma dostęp do wspomnianej już na platformy CDP. Jeśli to nawet nie ideał, to coś bardzo mu bliskiego, a chatbot większość tych wymagań spełni wzorowo. Tym bardziej że zdolności komunikacyjne chatbotów rosną wprost niewiarygodnie.
Czego zatem potrzebujemy, aby zbudować dla sklepu chatbota? Przede wszystkim zestawu algorytmów przetwarzania języka naturalnego (NLP) z grupy named entity recognition (NER), rozpoznawania intencji (nadzorowane maszynowe uczenie) no i jakiegoś silnika konwersacyjnego (ewentualnie może wystarczyć własny system ekspertowy).
Jednak zanim siądziecie do pisania własnych skryptów, warto zapoznać się z gotowymi silnikami — zarówno płatnymi, jak i dostępnymi na podstawie licencji wolnego oprogramowania.
Chatbot — wirtualny sprzedawca
Artykuł stanowi fragment książki pt. „Python i AI dla e-commerce” Sebastiana Kondrackiego.