Einstein Prediction Builder. Sztuczna Inteligencja od Salesforce

Obecnie na rynku projektów IT ciężko znaleźć temat bardziej sexy niż sztuczna inteligencja. Biorąc pod uwagę obiektywne argumenty, nie ma się czemu dziwić. AI (Artificial Intelligence) to przyszłość, która dzieje się teraz, na naszych oczach i na pewno wpłynie na poważne zmiany w wielu branżach.

Pawel Niedziela. Director, Salesforce Technical Services w PolSource S.A. W ekosystemie Salesforce obecny od 2012 roku. Dołączył do PolSource w kwietniu 2015 roku jako Senior Salesforce Developer. Z biegiem czasu stał się Technical Leaderem w projektach dla globalnych klientów firmy, a następnie Team Leaderem nowego oddziału PolSource w Lublinie. Łączenie umiejętności miękkich z technicznymi, pozwala mu na prowadzenie praktyki Sztucznej Inteligencji/Salesforce Einstein czy pracę z Klientami biznesowymi.


Salesforce jako lider rynku CRM, nie jest wyjątkiem i bardzo mocno zainwestował w Einsteina, czyli implementację sztucznej inteligencji na swojej platformie. Robi to z bardzo dużym rozmachem i ciężko byłoby opisać wszystkie funkcjonalności w jednym artykule. Przyjrzyjmy się więc najprostszej, ale jednocześnie niesamowicie skutecznej i przydatnej — Einstein Prediction Builder.

POINT. CLICK. PREDICT.

Co sprawia, że Einstein Prediction Builder jest tak bardzo dostępnym, elastycznym i przydatnym narzędziem?

1. Jest oparty o Machine Learning, czyli używa danych historycznych do wyznaczenia wzorów i zasad w nich zawartych, a następnie używa ich do przewidywania przyszłych wyników.

2. Clicks, not code. Użytkownik biznesowy nie musi mieć jakiejkolwiek wiedzy na temat pisania kodu, żeby być w stanie przewidywać przyszłość na podstawie danych historycznych z jego własnego systemu. Wystarczy znajomość Prediction Buildera.

3. Każdy użytkownik z uprawnieniami administratora może zbudować tzw. predykcje na każdym obiekcie (zarówno na obiektach standardowych jak i customowych).

4. Szybkie wyniki — dostępne są po maksymalnie 24 godzinach.

5. Proces przewidywania przyszłych danych może być częścią każdego procesu czy aplikacji opartych na Salesforce (np. zestaw akcji wykonywanych w danym procesie może być zależny od wyniku predykcji).

Jak wspomniałem wyżej, wyniki przewidywane są na podstawie danych historycznych — Prediction Builder wymaga co najmniej 400 rekordów, aby mógł wykonać predykcje. W przypadku predykcji binarnych (gdzie zmienna przechowująca wynik predykcji przyjmuje tylko dwie, wykluczające się nawzajem wartości) liczba rekordów to minimum 100.

Zanim przejdziemy do szczegółów technicznych spójrzmy na przykładowe przypadki użycia Einstein Prediction Buildera:

SZKOLNICTWO

  • Który kandydat na studia wyższe ma największe szanse odnosić najlepsze wyniki? Oczywiście wynik uzyskany dzięki Predition Builder nie powinien być w tym przypadku decydujący, ale daje Komisji Rekrutacyjnej kolejne narzędzie do oceny.
  • Któremu studentowi towarzyszy wysokie ryzyko rzucenia studiów? Mając odpowiedź na to pytanie, można wdrożyć dla niego plan pomocowy.
  • Jaka będzie końcowa średnia ocen danego studenta?

BRANŻA RESTAURACYJNA

  • Który z klientów nie przyjdzie na wcześniej zarezerwowaną kolację?

FINANSE

  • Która faktura, z dużym prawdopodobieństwem, nie zostanie opłacona w terminie?

PROJEKTY IT

  • Ile dni potrwa dany task/projekt?

Przyjrzyjmy się bliżej implementacji jednego z przytoczonych przypadków użycia:

Która faktura, z dużym prawdopodobieństwem, nie zostanie opłacona w terminie? Ogólny plan można opisać następującymi punktami:

1. Zbierz dane historyczne dla danego obiektu

Tak jak wspomniałem wyżej, Einstein tworzy predykcje w oparciu o dane historyczne. Konieczne jest więc zgromadzenie wystarczającej ich ilości — im więcej danych, tym lepsze predykcje.

2. Przygotowanie danych

Einstein Prediction Builder wspiera dane numeryczne, logiczne (tzw. checkbox data types) oraz formuły zwracające wartości TRUE, FALSE albo NULL. Dlatego też, chcąc wykorzystać pole innego typu (np. picklistę) należy wspomóc Prediction Buildera tworząc formułę ‘tłumaczącą’ dane spoza wspomnianych typów, na wartości logiczne — true/false.

Przykład:

Obiekt ‘Invoice’ ma pole ‘Invoice Status’ przyjmujące wartości:

  • Paid on Time
  • Pending
  • Late

Aby wspomóc Prediction Buildera, tworzymy na obiekcie Invoice pole typu formula dające wynik typu checkbox o nazwie Late Payment, dające wynik następującego wyrażenia, które zwróci true, kiedy dana faktura była przedawniona oraz false w pozostałych przypadkach:

ISPICKVAL(Invoice_Status__c,"Late")

3. Uaktywnij Einsteina i stwórz nową predykcję

Zanim zaczniemy działać na ‘świeżym’ środowisku, należy włączyć Einstein Prediction Buildera, a następnie stworzyć nową predykcję.

4. Wyznacz segmenty/Przefiltruj dane

Nie zawsze chcemy brać pod uwagę wszystkie rekordy danego obiektu. Na przykład, jeśli tylko posiadamy taką wiedzę, możemy nie brać pod uwagę faktur od Klientów, którzy mają ustawione polecenie zapłaty. W takim przypadku płatności za faktury zawsze dotrą na czas, więc nie są dobrym materiałem do ‘treningu’ sztucznej inteligencji.

5. Wybierz pole, którego wynik chcesz przewidzieć oraz rekordy ‘przykłady’ żeby pomóc Einsteinowi w treningu.

Po przygotowaniu danych należy wskazać Prediction Builderowi materiał do nauki. W naszym przykładzie należy w tym celu użyć historycznych faktur ze statusami Paid on Time oraz Late, pomijając faktury, które nadal mają status Pending. Wynika to z tego, że chcemy brać pod uwagę jedynie te faktury, które w danym momencie możemy jednoznacznie określić jako opóźnione lub opłacone.

6. Wybierz pola, które powinny być brane pod uwagę przy predykcjach.

W większości przypadków najlepszą opcją jest wykorzystanie wszystkich dostępnych pól. Wynika to z tego, że często nie jesteśmy świadomi mocy, którą daje nam sztuczna inteligencja, potrafiąca znaleźć szablony i wzorce w pozornie nieznaczących danych, a dających dużą wartość do ostatecznego wyniku predykcji.

Inną kwestią jest konieczność wykluczenia pewnych pól ze względów prawnych (np. nie można robić predykcji w oparciu o pola określające płeć, kolor skóry, religię) lub ze względu na występowanie swoistego zapętlenia i zakłócenia predykcji (ang. handsight bias).

7. Stwórz pole, które będzie przechowywało wynik predykcji.

Wynik predykcji musi być przechowywany w specjalnie do tego celu stworzonym polu. Będzie ono wskazywało prawdopodobieństwo wystąpienia danego zdarzenia — w naszym przykładzie będzie to prawdopodobieństwo opóźnionej płatności.

8. Wystartuj Prediction Buildera i poczekaj na wynik

Na koniec nie pozostaje nic innego jak wystartować Prediction Buildera i poczekać na wyniki. Maksymalny czas oczekiwania to 24 godziny. Dla mniejszych zbiorów danych (np. 3 tys rekordów), jest to zazwyczaj około kilka minut.

9. Dane są gotowe do prezentacji na layoucie (np. używając do tego celu salesforcowego komponentu List View)

Czy oprócz Einstein Prediction Buildera są jakieś inne funkcjonalności zapewniające tzw. “efekt WOW”? Oczywiście! Czy pojawienie się Einstein Discovery oznacza koniec zawodu analityka biznesowego i odtąd managerowie będą dostawać opracowane dane opisane biznesowym językiem, prosto ze sztucznej inteligencji? Czy Einstein Image Classification API sprawi, że już niedługo zniknie zawód przedstawiciela handlowego? Między innymi te tematy poruszymy w kolejnych artykułach.

*Przy tworzeniu artykułu korzystałem z materiałów Salesforce.


Zdjęcie główne artykułu pochodzi z unsplash.com.

Patronujemy

 
 
Polecamy
Wojna przeciwko AI. Protesty w Hong Kongu