odcinek 95
Edukacja,  Natural Language Processing,  Podcast

3 krótkie historie efektywnego rozwoju

Jak rozwijać się, aby czuć rozpęd i satysfakcję? Praktyczne uczenie maszynowe to bardzo rozległy obszar wiedzy i działań, który daje wiele możliwości, ale także potrafi zwieść na manowce i sprawić, że zacznie się błądzić, co może kosztować wiele czasu, energii i frustracji. Poznaj 3 krótkie historie efektywnego rozwoju, które mogą stać się dla Ciebie inspiracją i cenną wskazówką.

Jeśli jesteś na tym blogu od dłuższego czasu, to wiesz, jak bardzo zależy mi na tym, żeby dzielić się wiedzą i uwalniać potencjał. Tym razem zaprosiłem do rozmowy trzy osoby, które brały udział w kursach DataWorkshop. Gdy obserwuję, jak się zmienia świat po tych kursach, to czuję wartość dodaną.

Dlatego nagrywam podcast i piszę ten tekst dla osoby, która w tej chwili potrzebuje takiej pomocy. Lubię zapraszać uczestników kursów, bo ich historie są inspirujące i nierzadko motywują słuchaczy podcastu i czytelników bloga do zmiany czegoś w życiu. Często zdradzają, że wcześniej nie mieli w swoim otoczeniu nikogo, kto interesowałby się omawianymi tutaj tematami, a znaleźli tu dla siebie coś wartościowego. Niektórzy dzięki kursowi zmieniają firmę lub stanowisko na bliższe uczeniu maszynowemu.

Chcę o tym mówić szczególnie, że w tej branży krąży wiele mitów m.in. dotyczących tego, że machine learning to dziedzina tylko dla osób technicznych, programistów. Najpierw trzeba mieć 5-10 lat doświadczenia w programowaniu, dopiero później wkracza się do świata uczenia maszynowego. Oczywiście to wszystko nie jest łatwe. Widuję też osoby, które nie chcą zrobić nic i mieć wszystko – to się zdarza i to nie działa.

Widzę także takie przypadki, kiedy człowiek, który wcześniej wątpił, wahał się, czy warto zacząć, czy to jest aby na pewno dla niego – po prostu dołącza do kursu, próbuje swoich sił i nie tylko zdobywa wiedzę techniczną, ale udowadnia sobie, że najzwyczajniej “da radę”. Dużą rolę odgrywają konkursy organizowane w trakcie kursów, które dają możliwość i poczucie, że sam sobie udowadniasz, że potrafisz.

To brzmi może prosto i trywialnie, ale pamiętaj, że tak naprawdę największym blockerem, jaki możesz spotkać w swoim życiu, jesteś Ty sam. Tak naprawdę wiele ograniczeń to są ograniczenia nie ze świata zewnętrznego, a z wewnętrznego. Owszem, świat do Ciebie przemawia w ten czy inny sposób, różne prognozowania tworzy i mówi, gdzie jest Twoje miejsce, ale ostatecznie to Ty decydujesz, czy iść do przodu, czy działać albo czego potrzebujesz, żeby to było jak najbardziej wartościowe dla Ciebie. 

Ostatnio zauważyłem, że w świecie akademickim jest bardzo wiele młodych ludzi, którzy spędzili dużo czasu pracując na uczelniach, ale zaczęli gubić swój potencjał. Gdy dołączają do kursu, zaczynają inaczej widzieć swoje otoczenie. Zauważają, że nie muszą pozostawać w miejscu, w którym się nie rozwijają.

Wtedy zaczynają dziać się rzeczy, które mnie bardzo inspirują. Osoby, które przez 5, 10, 15 pracowały w tym bardzo zamkniętym środowisku, decydują się na zmiany. To jest trochę paradoksalna rzecz, bo ja właściwie jestem samoukiem. Mam wykształcenie wyższe, ale większość swoich umiejętności nauczyłem się sam.

Wdrażam projekty w praktyce, pomagam w praktyce i stąd czerpię całą wiedzę i inspirację. Paradoks polega na tym, że to też zaczyna przemawiać do wielu osób ze świata akademickiego, którym zależy na wyniku, a nie na tym, żeby zajmować się papierologią. Jeżeli jesteś z tego świata i czujesz pewien dyskomfort, że coś Ci nie gra i być może warto byłoby ten potencjał wykorzystać inaczej, to zapraszam.

Dla mnie to była niespodzianka w pewnym sensie, że tak duża grupa osób ma taki niedosyt. Samorealizacja ma też takie pewne stereotypowe myślenie polegające na tym, że po prostu nie można wychodzić poza pewne ramy, granice. Tak naprawdę zwykle się nie robiło coś poza to, co było powiedziane. To nie jest innowacyjne podejście. W taki sposób nie da się nic stworzyć nowego, jeżeli my z góry wiemy wszystko. Tu chodzi o eksperymentowanie. 

Zwykle mówię, że Praktyczne uczenie maszynowe od podstaw jest dla osób początkujących i to jest prawda. Osoby, z którymi będą rozmawiać opowiedzą o swoich doświadczeniach.



Vladimir w kilku słowach opowiada o tym, dlaczego ML 😉



Z drugiej strony czasem osoba, która już w tej chwili pracuje jako inżynier machine learning albo data scientist, pracuje przy pewnym projekcie, w szczególności jeśli to jest duża firma i duży projekt, dość często jest w wąskim kanale myślowym, cały czas przerabia w kółko te same schematy i brakuje jej szerszego poglądu.

Zauważyłem, że część już doświadczonych osób, które jednak się zdecydowały dołączyć, już po pierwszym lub drugim module w „Praktycznym uczeniu maszynowym od podstaw” również czuła, że dowiaduje się nowych, przydatnych rzeczy. Nie chodzi tu o trudniejsze, bardziej skomplikowane rzeczy, lecz takie, które najzwyczajniej można przeoczyć koncentrując się na konkretnym problemie.

Kursów powstaje coraz więcej. W tej chwili przygotowany jest kurs Praktyczne uczenie maszynowe od podstaw„. Przed nim warto przerobić „Wprowadzenie do Pythona”. Też są jeszcze odmiany NLP, czyli Praktyczne przetwarzanie języka naturalnego„Praktyczne prognozy szeregów czasowych”, który był zawieszony w tej edycji, ale być może w kolejnej będzie uruchomiony. 

Natutal Language Processing w Twojej firmie





Zaprosiłem dzisiaj 3 osoby, żeby podzieliły się swoim doświadczeniem, historią życiową. Też warto powiedzieć, że czasy, w których żyjemy, są dość niepewne, niestabilne i pewne rzeczy będą się zmieniać. Warto przyznać, że w wielu branżach  pewne rzeczy będą się optymalizować i zobaczymy, jak dalej uczenie maszynowe będzie się rozwijać.

To jednak temat na osobny wpis. Ta automatyzacja również będzie się uwydatniać w tej branży, ale widać, że w tej chwili jest popyt na to rozwiązanie. Wynika to między innymi z tego, że biznes, który w tej chwili ma dość duże kłopoty w obecnych zamieszaniach, musi sobie jakoś radzić.

Nie może sobie pozwolić na działanie, które znaliśmy dotychczas i musi zrobić coś, żeby to było bardziej optymalne, przemyślane. De facto to się sprowadza do tego, że gdzieś tutaj automatyzacja, a jeszcze lepiej inteligentna automatyzacja (czyli uczenie maszynowe) będzie przydatne. 

Zaprosiłem dzisiaj trzy osoby. Dwie z kursu Praktyczne uczenie maszynowe od podstawi jedną z kursu NLP, przy czym ta osoba już wcześniej ukończyła również kurs „Praktyczne uczenie maszynowe od podstaw”. 





Pierwszym gościem będzie Maja, z którą poznaliśmy się w ramach kursu „Praktyczne uczenie maszynowe”

Maja w tej chwili mieszka w Wielkiej Brytanii. Pracuje w większej instytucji i chciała zobaczyć praktyczne spojrzenie na uczenie maszynowe, bo przedtem przerabiała różne rzeczy (na kursie i w Internecie), ale brakowało praktycznego spojrzenia i części związanej z programowaniem.


Dodatkowo wartością jest to, że poczuła wewnętrzne przekonanie, że da radę i np. braki z Pythonem nie zawsze powinny być blockerem. 

Cześć Maja. Przedstaw się: kim jesteś i opowiedz o swoim doświadczeniu.



Maja - gość podcastu Biznes Myśli. Absolwentka kursu "Praktyczne uczenie maszynowe".

Cześć Vladimir. Mam na imię Maja. Jestem związana z data science od 2 lat, bo właśnie 2 lata temu zaczęłam studia magisterskie w tym obszarze. Studiowałam w Anglii i pracuję teraz na stanowisku Food and nutrition data scientist, czyli zajmuję się data science w żywności i diecie. Pracuję w instytucie badawczym w od kilku miesięcy. Jestem na kursie Vladimira, żeby poprawić swoje umiejętności praktyczne w obszarze uczenia maszynowego. 



Jesteś na kursie, pewnie jest ku temu jakiś cel. Jak uczenie maszynowe może pomóc naukowcom? Jak to może pomóc Tobie? Po co sięgać po te narzędzia?

W moim przypadku to nie chodzi koniecznie o naukę. Nie jestem w obszarze naukowym dlatego, że taki miałam cel od początku. Akurat tak się zdarzyło, że ten instytut będzie potrzebował kogoś, kto będzie zajmował się interesującym mnie obszarem.


Myślę jednak, że w przyszłości bardziej będę się skłaniała ku pracy w przemyśle. Widzę duże możliwości, jeżeli chodzi o przemysł żywnościowy i uczenie maszynowe, ponieważ wydaje mi się, że ten przemysł generuje duże ilości danych. Jest wielki, ogromny, codziennie produkuje się dużą ilość żywności i już są aplikacje takie jak rozpoznawanie poprzez computer vision, czy jakiś produkt już jest zepsuty czy nie (coś czego człowiek nie może zauważyć).




Jeżeli chodzi o to, czym się zajmuję obecnie, to tutaj przede wszystkim chodzi o spersonalizowaną dietę. Wszyscy wiemy, że niektórzy ludzie potrafią jeść i nigdy nie tyją, a inni tyją bardzo łatwo. Ludzie reagują w bardzo różny sposób na żywność. Naukowcy próbują zbadać przyczyny, ale nie do końca jest to wiadome. Teraz z uczeniem maszynowym i z ilością danych, która już została wygenerowana lub które możemy wygenerować, jest szansa, żeby znaleźć te czynniki.




Jedno źródło danych – np. Fitbit. Dużo ludzi używa tego zegarka, który jest w stanie zmierzyć różne parametry – jak oni się zachowują w ciągu całego dnia. Będą to bardziej dokładne dane niż kiedykolwiek indziej. Jeżeli pytamy ludzi, co robili wczoraj, wtedy wiadomo, że oni nie pamiętają większości rzeczy i nigdy się do końca nie dowiemy, ale jeżeli mamy teraz metody, żeby sprawdzić to, to badania mogą pójść dalej. 



Ja będę próbowała stworzyć model, który będzie w stanie przewidzieć, jak człowiek zareagują odpowiedzią glikemiczną na dane jedzenie, na podstawie jego indywidualnych cech np. konkretnych bakterii w jelicie.


Tutaj może warto sprostować jedną rzecz, bo “glikemiczne” brzmi fachowo. Pewnie chodzi o poziom cukru, prawda?


Tak, chodzi o to, jak zmienia się poziom cukru po spożyciu danego produktu przez daną osobę albo przez osobę o danych cechach.



Brzmi to ciekawie. A propos diety i tego, że każdy z nas jest inny – genetyka robi cuda przeróżne, że w jednym przypadku wystarczy zjeść trochę i człowiek tyje, a w innym człowiek siedzi cały czas i jest całkiem spoko. W obecnych czasach, biorąc pod uwagę liczbę fast-foodów, których ludzie spożywają sporo, to ta genetyka im też się niestety psuje.



To jest też ciekawe, że to wszystko jest dynamiczne, więc jest dużo wyzwań, które masz przed sobą albo osoby, które tym się zajmują. Dlaczego wybrałaś kurs i czy już czujesz, w czym Ci pomaga?



Tak, zdecydowanie czuję, że mi pomógł. A dlaczego akurat wybrałam ten kurs? Gdy zaczęłam pracę kilka miesięcy temu, wiedziałam, że będę musiała stworzyć model uczenia maszynowego i moja szefowa zapytała mnie, czy chcę dodatkowo się doszkolić. Na to odpowiedziałam, że oczywiście, że tak, bo zawsze dobrze wiedzieć więcej niż mniej. Szczególnie, że miałam dotychczas tylko doświadczenie z uczelni, więc nie miałam praktycznego doświadczenia jak zbudować model, który będzie można do czegoś użyć.



Szukałam konkretnie kursów, które będą miały praktyczne nastawienie. Niestety dla mnie, większość kursów o uczeniu maszynowym albo ogólnie w data science odbywają się tylko online. Co prawda są to często świetne kursy, bardzo dobrze prowadzone, ale wiem już z doświadczenia, że taka formuła nie do końca mi odpowiada. Zapisałam się na naprawdę setki kursów w moim życiu i bardzo ciężko jest mi dobrnąć do końca.



Ciężko mi zdobyć motywację na coś takiego. To jest w sumie dość ciężkie psychologicznie dla mnie, myśląc, że ta cała wiedza jest już w Internecie, że gdybym tylko miała motywację, żeby przejść przez to, zmusić się, żeby to zrozumieć, to mogłabym wiedzieć o wiele więcej. Jak wiemy, to nie jest takie łatwe. Dlatego właśnie ten kurs przekonał mnie tym, że już sam opis podkreślał to, że to nie jest taki po prostu kurs online, mimo że nie odbywa się osobiście.



Opcję stacjonarną niestety miałam zminimalizowaną do zera przez obecną sytuację z pandemią, więc zdecydowałam się na ten kurs, ponieważ było bardziej osobiste podejście, że jednak był jakiś kontakt z ludźmi i muszę powiedzieć, że naprawdę to się świetnie sprawdziło. Fakt, że wszyscy przechodzimy przez kurs w tym samym czasie, nie jak w trakcie kursów online, że można zacząć kiedykolwiek się chce.



Fakt, że mamy całą społeczność ludzi, z którymi możemy rozmawiać na Slacku i naprawdę ludzie są aktywni na tym czasie, więc ciągle wiadomo, że to nie tylko ja robię ten kurs. Mogę zadać pytanie i ludzie mi odpowiadają, więc nie jest tak, że utknę w którymś momencie. Fakt, że widzimy się co sobotę na webinarach. Też sam konkurs, który był elementem kursu.



Taka dodatkowa motywacja, że muszę to skończyć przed terminem i mam motywację, żeby nauczyć się więcej i polepszyć mój wynik przez samą rywalizację. Myślę, że te wszystkie elementy pozwoliły mi wreszcie zebrać moją motywację, usiąść do tego i nauczyć się porządnie. Jeszcze jeden element kursu, który mi się podoba, to to, że wiedza jest przedstawiona w sposób przemyślany i nie jest to płytkie, jak niektóre kursy, które można znaleźć w Internecie.



Vladimir bierze przykłady i treści ze swojego własnego doświadczenia praktycznego, więc nie pozostaje tylko na fundamentach teoretycznych, a resztę pozostawia uczestnikowi, żeby sam sobie później znalazł. Wysoki poziom merytoryczny i to zaangażowanie to dwa główne aspekty, które pomogły mi w tym kursie. 

Jak wyglądała sprawa ze znajomością Pythona, czyli języka, którego używamy do kodowania? Jak ewolucja wyglądała w tym przypadku?


Wspomniałam, że mam studia magisterskie jednoroczne w obszarze data science, ale nie jestem informatykiem i nie mam programistycznego doświadczenia, więc mam obawy, że nie mogę być dobrym specjalistą, jeżeli nie umiem programować lepiej. Tutaj właśnie kurs bardzo mi pomógł, ponieważ mimo tego, że nie wiedziałam tak dużo o Pythonie, bo głównie używałam w trakcie studiów i w pracy języka programowania R, to udało mi się po pierwsze poprzez pierwszy moduł, który Vladimir nam dał do powtórki z Pythona.



Poza tym po prostu przez praktykę udało mi się poczuć o wiele pewniej teraz. Też w trakcie konkursu używając Pythona, udało mi się osiągnąć dobry wynik. Pomyślałam, że może wcale nie muszę być programistą, żeby umieć stworzyć dobre modele i żeby być w tym dobra. To był dla mnie moment, w którym poczułam, że może faktycznie mogę to zrobić i być może powinnam pozbyć się tych wszystkich swoich obaw.



Pomimo że teoretycznie oczywiście wiele razy czytałam i słyszałam ludzi mówiących, że programowanie to nie wszystko, trzeba mieć jeszcze inne umiejętności, żeby być dobrym w uczeniu maszynowym, ale właśnie doświadczyłam teraz tego w praktyce i bardzo mnie to podbudowało.



Rozmawialiśmy o tym, że jeżeli spojrzeć na Twoje rozwiązania z konkursu i pokazać Ci 4 tygodnie przed startem kursu i powiedzieć, żebyś poczytała ten kod, to niekoniecznie było Ci łatwo to odczytać. Ale potem sama to wszystko stworzyłaś. W ramach kursu jest konkurs, czyli mamy 2 tygodnie na to, żeby rozwiązać konkretny problem. W edycji 7. mieliśmy prognozowanie cen samochodów.

Predykcja cen samochodów



Były prawdziwe dane, dużo różnych kłopotów z życia wziętych, duplikaty, braki w danych, niejasności, dane trzeba łączyć odpowiednio itd. Ten konkurs trwał 2 tygodnie, wzięło udział ponad 50 osób i zajęłaś trzecie miejsce. Była bardzo gorąca rywalizacja i rozwiązania, które były na pierwszym, drugim miejscu nie były bardziej zaskakujące, tylko kwestia pewnych szczegółów, które później były omawiane. Ta sama liga. 


Jak Ci pomógł konkurs i jaka największa wartość jest po nim dla Ciebie?

Są dwa aspekty, w których konkurs mi pomógł – aspekt psychologiczny i praktyczny. Aspekt psychologiczny: dodało mi to wiary w siebie, że jestem w stanie stworzyć rozwiązanie, które może będzie lepsze niż rozwiązania innych ludzi i że jestem w stanie osiągnąć wynik, który jest satysfakcjonujący.



Aspekt praktyczny: lubię rywalizację, więc byłam dość zmotywowana tą sytuacją, kiedy musiałam coś stworzyć w przeciągu 2 tygodni. Miałam motywację, żeby wrócić do lekcji, które mieliśmy w trakcie kursu i wyciągnąć stamtąd wszystko, co mogłam, żeby tylko pomóc mojemu modelowi dostać jeszcze lepszy wynik w konkursie.


Czuję, że na pewno pozwoliło mi to przejść przez materiał lepiej, głębiej zapisać to w mózgu, tak że teraz na pewno już tego nie zapomnę. Na pewno poprawiło mi to pewność siebie i bardziej mnie upewniło w tym, że to jest to, co chcę robić.



Informacyjnie dodam, że dostępne jest nagranie, które zrobiliśmy już po konkursie. Tam były prezentacje, też Maja występowała, opowiadała o swoim rozwiązaniu bardziej technicznie, jak do tego podchodziła. Ciekawostka mi się przypomniała, bo każda osoba z top 3 potwierdziła to, że aspekt psychologiczny jest ważny.



Omówienie wyników konkursu podczas 7 edycji kursu „Praktyczne uczenie maszynowe od podstaw”





To ciekawa rzecz, na ile człowiek potrzebuje czasem sam sobie udowodnić, że da radę. To jest ważne, bo faktycznie wtedy czujesz, że masz moc, siłę, teraz możesz iść dalej do przodu. Chociaż de facto jakby nic się nie zmieniło, bo nadal jest ten sam człowiek, te same ręce, głowa itd., ale ta energia, która płynie ze sprawdzenia, że faktycznie dam radę, jest istotna. Człowiek jest istotą psychologiczną i ta psychologia ma duże znaczenie.


Jeszcze dodam, że właśnie tutaj też rolę gra to, że ludzie tacy jak ja, rzadko mamy taką okazję. Ja pracuję z ludźmi, którzy nie mają nic wspólnego z data science. W gronie znajomych też nie ma wielu ludzi, którzy tym się zajmują, więc jedyną wiedzę o ludziach, którzy to robią, mam z Internetu i widzę ich super skomplikowane rozwiązanie. Pewnie najlepsi ludzie publikują w Internecie i to może stworzyć takie wrażenie, że tak naprawdę to się nie wie nic. Taka okazja, żeby zweryfikować się na swoim poziomie, jest bardzo cenna.



Przypomniał mi się cytat jednej osoby na podsumowaniu konkursu, która mówiła, że też nie ma ani kolegów związanych z ML i data science. Na co była odpowiedź:


– Jak to nie masz? Przecież jest ponad 100 osób na kursie, więc już masz trochę znajomych w tej branży.



Bardzo dziękuję Maju za podzielenie się swoim doświadczeniem, przemyśleniami. Na koniec powiedz jeszcze – z Twojego punktu widzenia, komu warto polecić ten kurs?


Poleciłabym ten kurs osobom, które mają już trochę teoretycznego przygotowania, bo też muszę przyznać, że na początku czułam, że gdybym nie wiedziała w teorii, czym są te modele, to też ciężko byłoby mi używać potem tego w praktyce.


Więc jednak ludziom, którzy mają już jakąś pierwszą styczność z ML teoretyczną, ale chcą nauczyć się używać tego w praktyce. Kurs Vladimira jest pełen praktycznych porad z jego doświadczenia, które moim zdaniem są świetne. Super jest właśnie usłyszeć to od kogoś, kto tego używa na co dzień i ma bardzo praktyczne nastawienie. Polecam to ludziom, którzy lubią praktykę.


Dziękuję Ci za tę informację. Życzę wszystkiego dobrego, sukcesów w tej dziedzinie, w której teraz działasz. Mam nadzieję, że za jakiś krótki czas pewne aplikacje będą się pojawiać i ludzie zaczną lepiej się odżywiać. Przynajmniej w jakimś drobnym stopniu, bo ten problem sam w sobie jest dość skomplikowany. Też tam jest psychologii dużo w tym problemie, ale to już temat na inny odcinek. Dzięki wielkie Maja.


Kolejnym moim gościem będzie Bartek, który jest po kursie NLP, czyli Przetwarzanie języka naturalnego„. Bartek ukończył pierwszy kurs Praktyczne uczenie maszynowe od podstaw jakiś czas temu i wtedy dopiero rozważał, żeby przejść na samodzielną pracę, żeby prowadzić freelancing.



Faktycznie to się udało i w tej chwili realizuje różne projekty. Całkiem fajnie się rozpędza, czuć na ile ten człowiek ciągle chce się rozwijać, żeby poszerzyć swoje portfolio. Zawsze powtarzam, że technologia jest tylko narzędziem, liczy się bardziej umiejętność zastosowania tej technologii. Bartek z jednej strony pochodzi ze środowiska języka R. To jest alternatywa do Pythona.



Czasem te środowiska są bardzo rozłączne. Przy okazji kursu, a później też samodzielnie, poznał Python. To fajnie łączy, bo tak naprawdę to, czego się nauczył z czasem, to nie mylić narzędzia z rozwiązaniem, bo w biznesie wszystko jedno czy tam się użyje narzędzia „a” czy „b”, ważne żeby to przynosiło wartość dodaną. 


Cześć Bartek. Powiedz kilka słów o sobie, czym się zajmujesz?

Bartek - gość podcastu Biznes Myśli. Absolwent kursu "Praktyczne uczenie maszynowe", a także "NLP".

Cześć Vladimir. Dziękuję za zaproszenie. Ja jestem już po raz drugi absolwentem kursu DataWorkshop. Z wykształcenia jestem matematykiem, natomiast jeśli chodzi o programowanie, to jestem samoukiem. Niektórzy mogą mnie kojarzyć z języka R. Jestem entuzjastą R, współorganizatorem krakowskich spotkań tego języka.



Też jestem w zarządzie Fundacji “Why R?”, która zajmuje się promowaniem R trochę szerzej. Natomiast jeśli chodzi o pracę to jestem freelancerem, który jest otwarty na nowe wyzwania. Interesuje mnie szeroko pojęta analiza danych, automatyzacja procesów. Mój background to właśnie statystyka, R, Python, VBA. Ogólnie często bardzo dopasowuję się do klientów i staram się spełniać ich oczekiwania. 



Dopasowanie się do klientów to prawdopodobnie odpowiedź na kolejne pytanie – dlaczego zdecydowałeś nauczyć się albo zgłębić wiedzę w temacie NLP?



Poszerzenie swojego portfolio – zauważyłem, że na portalach freelancerskich tematyka NLP bardzo często się pojawia i wydaje mi się, że to nie są też trudne zagadnienia, bo zazwyczaj chodzi o jakąś klasyfikację, analizę sentymentu. Natomiast dodatkowo mam pewne komercyjne, niekomercyjne projekty, które chciałbym zrealizować.



Mam jeden projekt dla aktualnego klienta, który dotyczy aktualizacji danych wyszukiwarki o lekach. Natomiast drugi projekt jest hobbystyczny, ale też z naciskiem na własną działalność, czyli zastosowanie NLP w web scrapingu, czyli pobieraniu danych.



Czyli rynek NLP, jeżeli chodzi o przetwarzanie języka naturalnego jest dość szeroki i rośnie, bo firmy dostrzegają ten potencjał. Jak planujesz wykorzystać zdobytą wiedzę i czujesz rozwój po kursie?



Czuję duży przyrost wiedzy po kursie. To na pewno bardzo mi pomogło. Nie wiem, czy chcesz wiedzieć w szczegółach czy tak ogólnie na temat tych projektów, gdzie chciałbym to zastosować?



Może żeby nie wchodzić zbytnio w szczegóły, ale możesz podać jeden przykład bardziej konkretny tylko, żeby też wybrzmiało, że to są konkretne przykłady.



W przypadku tej wyszukiwarki celem jest to, żeby ona sama się aktualizowała. Tworzę skrypty, które zbierają dane ze stron i to, co jest potrzebne, to otagowanie tych informacji. Głównie właśnie nazwa leku, substancji czy jakiś innych rzeczy medycznych. Bardzo często na to idą regexy, ale niektóre źródła danych wymagają ingerencji człowieka, więc tutaj widzę zastosowanie NLP, żeby tagowanie robić automatycznie. 



Dodam, że regexy to wyrażenia regularne, dla osób, które nie miały z tym styczności. Co okazało się najbardziej przydatne, zaskakujące, przełomowe dla Ciebie podczas nauki NLP na kursie?



Mam wrażenie, że wszystko. Ale teraz jest mi trudno ocenić, jestem świeżo po kursie i praktyka pokaże, co będzie przydatne faktycznie. Natomiast z rzeczy zaskakujących to taka rzecz, że przy pewnych zagadnieniach naprawdę nie trzeba dużo wysiłku, żeby uzyskać satysfakcjonujący wynik. Te metody są już na tyle fajnie zbudowane, że wystarczy lekko oczyścić dane, wrzucić je w pudełko i już mieć sensowne wyniki. 



Zaczęliśmy od tego, że zobaczyłeś, że na rynku NLP jest pewien popyt, więc zdecydowałeś się zaangażować i rozwinąć swoje umiejętności w tym kierunku. Jakbyś mógł powiedzieć osobom, które być może rozważają, czy warto wejść do świata NLP, czy warto wybrać jakąś inną dziedzinę: co chciałbyś powiedzieć takiej osobie?



Też pod kątem wejścia, bo tutaj są dylematy, w który temat warto się zaangażować, gdzie tematy faktycznie są bardzo skomplikowane, bo NLP jeszcze jakiś czas temu to w ogóle było zupełnie inne NLP niż teraz. Teraz po prostu bierzesz w miarę gotowe pudło, wiesz, które przyciski wcisnąć i już dostajesz wynik. Z tej perspektywy, co powiedziałbyś osobie, która tej ścieżki jeszcze nie przeszła? 



Tak naprawdę jestem na początku tej ścieżki, ale uważam, że kurs jest bardzo dobrym początkiem. Jest wszystkim, czego potrzeba na start. Jest bardzo duża dawka wiedzy, dużo praktyki, świetna społeczność i konkurs, przez który można zarwać niejedną noc. 



Konkurs, podobnie jak na innych kursach, pojawia się też w tym o NLP. Trwa on 2 tygodnie. Na początku było tak, że zbiór danych był nieco łatwiejszy. Potem uznaliśmy wspólnie z grupą, że walka o czwarty czy piąty znak po przecinku w wyniku modelu raczej mija się z celem. Z definicji problem został ten sam, ale zbiór danych nieco się skomplikował. Zrobiłem to specjalnie, żeby podrzucić więcej wyzwań, żeby nie było to takie łatwe.


Co Ci dał konkurs? Jakie są Twoje spostrzeżenia o konkursie?


Przede wszystkim bardzo szybko można przetestować zdobytą wiedzę. Natomiast to, co chciałem zrobić, to jeszcze za pomocą dodatkowych źródeł spróbować różnych rozwiązań, niestety ostatecznie już w tej drugiej formie konkursu to za bardzo nie pomogło, bo chyba siódmy czy ósmy wylądowałem. Natomiast przede wszystkim można było sobie szybko utrwalić tę wiedzę, którą się nabyło przez ostatnie 4 czy 5 tygodni. 



Konkurs zaczynał się w czwartym tygodniu kursu, trwającego łącznie 6 tygodni. Będzie też podsumowanie konkursu. Postaramy się to nagranie udostępnić w notatkach, żeby można było obejrzeć, bo każdy uczestnik ma swoją własną perspektywę. Nie chodzi tu tylko o aspekty techniczne.



Komu polecasz ten kurs? Kto najbardziej się odnajdzie w branży NLP i poprzez kurs może wystartować?



Według mnie, żeby przejść przez ten kurs, dobrze byłoby już mieć podstawy NLP zrobione. Dobrze już mieć podstawy z machine learningu – to tak z mojego doświadczenia, bo już startujemy od jakiegoś pułapu i w sumie każdy, kto pracuje nad tekstem, mógłby być tym zainteresowany. Szczególnie jeśli jego praca polega na klasyfikacji, wyciąganiu informacji z dokumentów.



Dzięki wielkie. Jeżeli ktoś dopiero wchodzi w świat ML, to faktycznie może być nieco trudniej i polecam zrobić krok wstecz i przerobić kurs podstawowy. 



Dzięki za podzielenie się swoim doświadczeniem, informacjami. Trzymam kciuki, żeby udało się tę wiedzę maksymalnie zastosować w praktyce. Przed nagraniem wywiadu o tym trochę więcej porozmawialiśmy i czuć, jak u Ciebie to ciekawie się rozpędza, więc trzymam kciuki, żeby udało się jak najszybciej to zastosować i potem przy okazji wymienimy się opiniami, na ile te rzeczy używałeś albo których bardziej używałeś, żebym też dostał taką informację zwrotną. 






Na koniec poznajcie historię Michała, który osobą z tej grupy biznesu. Prowadzi szereg spółek, w których podejmuje cały szereg decyzji biznesowych. To jest bardzo ciekawe podejście, kiedy człowiek, który uświadamia sobie, że od jego decyzji zależy wiele i to są decyzje wiążące (nie da się tak łatwo z pewnych rzeczy się wywiązać). Oczywiście można tym ryzykiem zarządzać, ale zdecydowanie lepiej z czasem sobie uświadamiać, na ile fajnie jest podjąć trafniejsze decyzje na początku niż próbować potem jakoś to prostować. 



Są takie branże, gdzie danych mamy więcej, więc można się spodziewać, że faktycznie ta jakość usprawnienia tej decyzji będzie zauważalna, więc pojawia się bardzo prosta decyzja, że trzeba tego się nauczyć. Jak z Michałem rozmawiałem o tym, on fajnie powiedział, że zadał sobie pytanie – jak nie teraz, to kiedy?



Branża uczenia maszynowego i AI bardzo szybko się rozwija. Jak nawet jestem w temacie, to nie jestem na bieżąco, bo liczba publikacji, które pojawiają się codziennie jest ogromna i nie da się tego na bieżąco wszystkiego obserwować. Fajnie, jak łapiesz te wszystkie fundamenty, wiesz, jak można rozwiązać różne problemy i ewentualnie jak potrzebujesz innego rozwiązania, to wiesz, gdzie po nie sięgnąć albo gdzie je znaleźć.



Nie da się jednak być z tym na bieżąco. Pytanie, które sobie zadał Michał, jest bardzo właściwe – jak nie teraz to kiedy? Świat się rozpędza i pewne rzeczy potrzebują czasu, żeby je przyswoić. Ja osobiście bardzo się cieszę, że ludzie biznesu są świadomi na tyle, żeby podejmować decyzje w taki sposób, że sami wchodzą w rolę techniczną.



To nie jest przypadek, kiedy CEO albo osoby z C-Level angażują się w kurs. Były też jedne z największych spółek w Polsce i ten człowiek jest tam na dość wysokiej pozycji, kiedy on sam osobiście chce się zaangażować, nie tylko słuchać swoich podwładnych co im powiedzą, tylko też rozumieć. To według mnie bardzo dojrzała i świadoma decyzja.



Cześć Michał. Powiedz kilka słów o sobie, czym się zajmujesz, gdzie mieszkasz?



Michał - gość podcastu Biznes Myśli. Absolwentka kursu "Praktyczne uczenie maszynowe", a także "Python dla ML".

Cześć Vladimir. Nazywam się Michał Muszyński. Mieszkam we Wrocławiu i jestem prezesem w grupie kapitałowej Domar S.A. To jest grupa kilku spółek i działamy w trzech branżach. Pierwsza to branża retail – prowadzimy największą galerię wnętrz z artykułami wyposażenia wnętrz we Wrocławiu. Prowadzimy też działalność deweloperską w zakresie nieruchomości i biuro rachunkowe, które świadczy usługi dla spółek z naszej grupy, ale także dla kilku innych.



Masz duże doświadczenie biznesowe. Zdecydowałeś się na kurs online Praktyczne uczenie maszynowe od podstaw„, czyli to jest troszkę inna dziedzina niż to, czym zajmowałeś się dotychczas. Dlaczego taką decyzję podjąłeś? 



Zawsze interesowała mnie sztuczna inteligencja. Interesowałem się też sieciami neuronowymi, ale to było w czasie, gdy to było tylko wszystko teoretyczne, nie było implementacji informatycznych, a jak były, to bardzo toporne. Natomiast zawsze mnie interesowało, jak to działa, jak komputer może zacząć myśleć. Natomiast nie jestem informatykiem i dopiero właściwie od kilku miesięcy zacząłem poznawać Pythona.



Zobaczyłem właściwie od razu, że Python to jest coś, co bardzo mi się przyda w mojej pracy codziennie, ponieważ moim hobby zawodowym jest analiza danych biznesowych i business intelligence, przygotowywanie pewnych informacji, wizualizacja ich do podejmowania decyzji, bo tym się na co dzień zajmuję. Aby podejmowane decyzje biznesowe były obarczone niskim ryzykiem, to jednak informacje muszą być przygotowane bardzo dobrze i od przygotowania tych informacji zależy, jak ta decyzja zostaje podjęta.



W związku z tym zauważyłem, że uczenie maszynowe może rozwiązać bardzo wiele moich problemów, od weryfikacji pewnych hipotez, które są i na rynku, i wśród ludzi, pewnych mitów, które lubię obalać. Nie lubię sytuacji, kiedy ktoś mi mówi, że jest jakoś, a ja nie mogę tego sprawdzić. Można powiedzieć, że dzisiejsza zdolność obliczeniowa komputerów i dzisiejsze zestawy danych, które są możliwe do pozyskania, już pozwalają w dużym stopniu te zjawiska osiągnąć, które są potrzebne do podejmowania decyzji.



Widać, że wiedzę o machine learning, którą zdobyłeś na kursie, już chcesz zastosować w konkretnych projektach. Co to są za projekty?



 

Mam dużo pomysłów. Na pewno nie uda mi się tutaj wszystkich wymienić, ale rzeczywiście przyszedłem na kurs z myślą, że poznam te zagadnienia i będę w stanie zastosować to w pracy w naszym biznesie. Działając w kilku branżach, w zasadzie w każdej widzę jakieś możliwości zastosowania uczenia maszynowego.



Zacznijmy od tej branży nieruchomości, bo już się zaczęły pojawiać na rynku takie rozwiązania, ale na pewno chciałbym poprawić naszą jakość usług sprzedażowych, jeżeli chodzi o sprzedaż nieruchomości. Chciałbym zrobić takiego doradcę działu sprzedaży, który będzie przede wszystkim pomagał wycenić mieszkania. Jak zaczynamy nową inwestycję, to w zależności od cech poszczególnych mieszkań, taki doradca podpowie nam, jak te ceny powinny wyglądać, rozpozna potrzeby klienta i pomoże przygotować dla niego lepszą ofertę.



Chciałbym mieć taki model, który analizuje rynek nieruchomości i pokazuje pewne zagrożenia albo możliwości, które się pojawiają na tym rynku, pokazuje analizę konkurencji. Do podjęcia decyzji o inwestycji, jeżeli mamy jakąś przeprowadzić, musimy mieć naprawdę szerokie spektrum informacji. Fajnie by było pewne rzeczy przewidywać, których nie możemy wprost przewidzieć i uzyskać takich danych, bo konkurencja bardzo mocno je chroni. Natomiast myślę, że można by tu uczenie maszynowe zastosować do przewidywania ruchów konkurencji. 



Druga moja branża to retail, czyli galeria handlowa. Tu oczywiście mamy już bardzo dużo zastosowanych na rynku rozwiązań. Mam kilka pomysłów, nie chciałbym ich dokładnie opisywać, bo nie wiem, czy one są możliwe do zastosowania. Nie to, żeby komuś nie podpowiadać, ale przede wszystkim chciałbym wykorzystać uczenie maszynowe w analizie ruchu klientów w galerii, przy czym oczywiście dzisiaj są takie technologie, ale ja bym nie chciał z dzisiejszych technologii korzystać, tylko chciałbym trochę inną zastosować.



Także tu mam taki jeden pomysł, już nawet zaczęliśmy nad nim pracować i go rozgryzać. Chciałbym np. zbudować coś, co pozwoli mi rozpoznawać nastroje klientów przed i po wizycie w  sklepie.



W obszarze finansowym, który mnie też bardzo mocno interesuje, chciałbym połączyć uczenie maszynowe z analizą finansową na różnych poziomach, żeby to wspomagało zarządzanie przedsiębiorstwem. Może na poziomie inwestycyjnym, czyli analizowanie jakichś potencjalnych możliwości inwestycyjnych. To jedne z głównych pomysłów.



Inny przykład – inspiracja wykorzystania uczenia maszynowego w branży nieruchomości odcinek 80


Brzmi to bardzo inspirująco, bo uczenie maszynowe jako narzędzie jest bardzo potężne. Z drugiej strony nadal świat biznesu albo osoby decyzyjne, które w tym biznesie działają, nie do końca dostrzegają, że brakuje czegoś (pewnej wiedzy, umiejętności), żeby to się zaczęło łączyć w sposób obligacyjny.



Żeby nie tylko było tak, że jest jakaś magiczna technologia, która być może działa, tylko są konkretne pomysły, pewna wiedza techniczna, która pozwala w pewien sposób przewidywać kolejne ruchy. 



Jest taki żart: czym się różni sztuczna inteligencja od uczenia maszynowego? Sztuczna inteligencja jest pisana w języku PowerPoint, a uczenie maszynowe w Pythonie. Jak wyglądała u Ciebie sprawa z Pythonem? Na ile to jest blokada dla Ciebie, żeby działać w ramach kursu i po kursie? 



Okazuje się, że nie jest blokadą. Rzeczywiście kilka miesięcy temu zająłem się Pythonem i przyczyną tego było to, że Excel przestał mi już wystarczać. Excel jest fajny, wygodny, natomiast do obróbki dużej ilości danych, trochę problematyczny. Można powiedzieć, że w kilka miesięcy opanowałem Pythona na tyle, że się przesiadłem z Excela na Pythona.



Dzisiaj już częściej Pythona otwieram niż Excela, jeżeli mam coś zrobić. Tutaj bardzo mi pomógł kurs wstępny z Pythona przed kursem uczenia maszynowego. Usystematyzowało mi to wiedzę, bo do końca pewnych rozwiązań nie znałem i to mi pomogło je zastosować. Właściwie można powiedzieć, że na kursie naszym z uczenia maszynowego czułem się swobodnie.



To jeszcze oczywiście nie jest taka swoboda jak pewnie osoby, które się zajmują programowaniem zawodowo, ale wiedziałem przynajmniej, co się do mnie pisze w notebookach i rozumiałem, dlaczego tam jest to napisane.

Z jednej strony język Python jest w miarę prosty, ale są też ludzie, którzy uczą się go przez 10-20 lat i nadal są jakieś zawiłe konstrukcje pod spodem, jeżeli chodzi o technikę i optymalizację, więc tego można się uczyć długo, ale chodzi o to, że my potrzebujemy użyć Pythona jako narzędzia do konkretnych celów.



Te podstawowe mechanizmy, których my potrzebujemy, okazuje się, że da się w miarę łatwo przyswoić i akurat jesteś potwierdzeniem tego. Tu też należy powiedzieć, że trzeba mieć kilka warunków spełnionych. Trzeba mieć otwartą głowę do tego, zaangażować się, bo nie ma co ukrywać, że zaangażowałeś się w trakcie kursu.



Jeszcze jeden z elementów, który się wyróżniał, to jest konkurs. Co myślisz o konkursie i co Cię najbardziej zdziwiło albo co Ci najwięcej dało?



Konkurs na pewno jest bardzo fajną rzeczą na tym kursie i można by powiedzieć, że nie ma kursu bez konkursu, bo jest to coś, w czym trzeba wziąć udział i naprawdę trzeba z tego skorzystać, bo jest to tak niesamowicie ciekawe doświadczenie, gdzie naprawdę możemy oczywiście w praktyce zastosować to, czego się uczymy.



Natomiast gdybyśmy rzeczywiście tylko przejrzeli materiały z kursu, przesłuchali Twoje nagrania, to myślę, że tam może z 20% by zostało. Po zastosowaniu tego na konkursie myślę, że dużo więcej zostało mi w głowie, ale nie tylko w głowie, ale też w rękach, bo to jest doświadczenie. Trzeba było sobie z różnymi problemami poradzić i co jest ważne, to te problemy były z życia wzięte.



Po pierwsze – realne dane, które były zanieczyszczone w dosyć ciekawy sposób. W różnych miejscach trzeba było sobie z nimi poradzić. Po drugie trzeba było tak prowadzić eksperymenty, żeby czas tych eksperymentów był rozsądny, żeby je można było rzeczywiście zrobić. Myślę, że ten konkurs nauczył mnie tego doświadczalnie, żeby dużo próbować na prostych modelach, szybko zweryfikować postawione hipotezy i to chyba w przyszłości pozwoli mi dużo czasu i mocy obliczeniowej oszczędzić.



Dodałbym jeszcze, że konkurs ukierunkował mnie bardzo mocno w tym kierunku, w którym rzeczywiście trzeba iść, żeby rozwiązywać konkretne problemy biznesowe. Ja w tym konkursie widzę już zaczątek moich projektów, o których mówiłem. One pewnie będą podobnie wyglądać, także naprawdę w praktyce można sobie zaprojektować to, co będzie się robić samemu w uczeniu maszynowym.


Mówiąc już teraz o kursie jako całości – co najbardziej Cię zaskoczyło? Co najbardziej doceniasz?



Zaskoczyło mnie to, jaki postęp zrobiłem w Pythonie. Odnosząc się do początku, jaki był mój stan, to mimo że już tam coś zacząłem robić, to były proste rzeczy i tutaj naprawdę postęp jest bardzo duży. Natomiast doceniam to, że korzystając z Twojego kursu, zaoszczędziłem mnóstwo czasu, bo uczeniem maszynowym starałem się interesować trochę wcześniej, próbowałem też różnych dostępnych kursów, oglądałem trochę na ten temat, ale to ciągle było takie ślizganie się po temacie. Natomiast bardzo konkretnie na kursie weszliśmy w temat.



Można powiedzieć, że każda lekcja kolejna to jest bardzo konkretne pogłębienie wiedzy, ale w tym kierunku, w którym wydaje mi się, że trzeba iść. To jest fajne, że ukierunkowujesz bardzo dobrze na te problemy, którymi się trzeba zająć, także nie tracimy czasu na niepotrzebne rzeczy.

Bardzo miło mi to słyszeć, bo to jest właśnie ta metryka sukcesu, która była postawiona przy tworzeniu tego kursu i ciągle jest tak pielęgnowany. Pomimo tego że teoretycznie można było wypuścić pierwszą edycję i nic nie zmieniać, to po każdej edycji coś się zmienia, zwraca się uwagę na to, co działa lepiej, co gorzej.



Taka ciekawostka a propos konkursu – zadanie, które było teraz na konkursie, pojawiło się w tej samej formie drugiej edycji. Najfajniejsze było to, że jakość rozwiązań w obecnej edycji była lepsza. Średnia uczestników myślę, że jest podobna – to nie są dwie, tylko około stu osób, więc zakładam, że potencjał, który przyszedł jako uczestnicy, jest podobny. Według mnie to też kwestia tego, że niektóre rzeczy coraz lepiej tłumaczę, czyli coraz bardziej wyczuwam, co lepiej przemawia, na to zwracam większą uwagę.



Też się ucieszyłem, jeżeli chodzi o średnią jakość rozwiązań, która w tym kursie się wydarzyła. Miło mi słyszeć, że doceniania jest praktyczność, bo na to faktycznie jest stawiany duży nacisk.



Tu naprawdę muszę powiedzieć, że materiały są świetnie przygotowane – bardzo praktycznie. Na przykładzie widać – chciałem bardzo być w pierwszej dziesiątce konkursu, udało się zająć siódme miejsce, także to świadczy, że jednak da się z materiałów tego nauczyć.


Dzięki wielkie, że udało Ci się znaleźć czas, podzielić się swoim doświadczeniem, bo jesteś przykładem, osoby nie pochodzącej ze świata programowania, która ma konkretne potrzeby związane z biznesem. Teraz już nie jest ten moment, kiedy pewne rzeczy można sobie usprawniać lub nie, tylko sytuacja, obecne trudności w pewien sposób zmuszają nas, żeby robić biznes bardziej efektywnie, podejmować decyzje biznesowe nie na podstawie emocji, tylko bardziej angażować tam dane.



Owszem, doświadczenie życiowe też bardzo się przydaje, ale z drugiej strony warto coraz bardziej wykorzystywać dostępne narzędzia i technologie, aby prowadzić bardziej efektywnie działalność i cieszyć się z życia.

Tak jest.


Dzięki wielkie, do usłyszenia.

Bardzo dziękuję.





Dziękuję, że dotarłeś tutaj i poznałeś historie naszych absolwentów. Obiecuję, że będę starać się nie nadużywać naszego wspólnego czasu do dzielenia się podobnymi treściami, bo wiem, że część osób bardziej oczekuje informacji technicznych albo biznesowych. Jak powiedziałem na początku, to jest część mojego życia.



Czuję bardzo dużą misję, jeżeli chodzi o szkolenie i jak to wpływa na ludzi. Blog to jest jeden z kanałów, którym mogę dotrzeć do tych osób. Owszem, to jest bardzo szeroki kanał i nie zawsze to jest 100% trafione, ale wiem, że część osób decyduje się na kurs właśnie po przeczytaniu takich historii lub przesłuchaniu podcastu. 



Planuję zrobić podsumowanie ankiety dotyczącej podcastu. Jeżeli jeszcze nie miałeś okazji podzielić się opinią, w którym kierunku podcast ma się rozwijać, to warto to zrobić. Bardzo dziękuję wszystkim osobom, które już udzieliły tej informacji, bo to jest bardzo inspirujące. Bardzo miło mi jest czytać wszystkie komentarze i czuć, że to, co robię, ma sens.



Nawet jak jestem troszkę bardziej zmęczony, to czuję, że to pompuje energię. Obiecuję, że bardzo starannie przeanalizuję wszystkie propozycje, jak dalej to rozwijać i podzielę się z Tobą przemyśleniami, co z tego wyszło i jakie decyzje zostały podjęte. Jeżeli jeszcze się nie podzieliłeś tą informacją, to proszę zrób to, bo jeszcze jest szansa, że zdążysz przed ostatecznymi decyzjami.



Dzięki wielkie za wsparcie!



Pytaliście wiele razy, czy jakoś finansowo można wesprzeć Biznes Myśli – zobaczymy, jak to zrobić, bo faktycznie podcast sam w sobie generuje koszty, ale przyznam, że dla mnie w tej chwili najbardziej jest potrzebne, nie tyle wsparcie finansowe, co wsparcie mentalne, że to co robię ma sens. Kiedy widzę, że to rezonuje z tak dużą liczbą osób, to po prostu będę jeszcze bardziej się rozpędzał. 

Od 2013 roku zacząłem pracować z uczeniem maszynowym (od strony praktycznej). W 2015 założyłem inicjatywę DataWorkshop. Pomagać ludziom zaczać stosować uczenie maszynow w praktyce. W 2017 zacząłem nagrywać podcast BiznesMyśli. Jestem perfekcjonistą w sercu i pragmatykiem z nawyku. Lubię podróżować.

Leave a Reply

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *