Metodyki AI oraz ich zastosowania

Przegląd zastosowań AI w różnych sektorach

W świecie technologii sztuczna inteligencja (AI) stała się kluczowym elementem innowacji. Naszym celem jest głębsze zrozumienie jej potencjału w różnych sektorach. Tak, abyś jeszcze wyraźniej mógł/mogła zobaczyć możliwości, jakie niesie. Pokażemy Ci różnorodność zastosowań AI, prezentując konkretne use case'y z podziałem na metodyki.

W Poprzednim artykule: AI: Jak działa? Kiedy używać? Omówiliśmy czym jest AI i jak możemy z niej korzystać. Zdefiniowaliśmy kluczowe elementy niezbędne do nauczenia modelu: dane wejściowe w postaci cech/atrybutów (X) oraz wartości docelowe (Y). Określiliśmy również, że danymi wejściowymi może być każdy rodzaj danych, przykładowo:

  • Liczba
  • Tekst
  • Obraz
  • Video
  • Dźwięk

Dane wyjściowe czyli to, co otrzymujemy po zastosowaniu odpowiedniego modelu AI mogą być bardzo różne oraz mogą być wyrażane w różnych jednostkach. Istnieje wiele metodyk AI, możemy je wyróżnić właśnie na podstawie rodzaju danych wyjściowych, jakie otrzymujemy.

Podział metodyk ze względu na typ danych wyjściowych, wartość Y:

Regresja

Jest jedną z najpopularniejszych metodyk, dzięki niej możemy na podstawie danych wejściowych przewidzieć wartość ciągłą, a więc relację między zmiennymi. Może być to skala procentowa 0-100, lub dowolna wartość jak cena, temperatura itd. Regresja pomaga rozwiązać wiele problmów z życia codziennego jak na przykłd przewidywanie pogody, szacowanie cen nieruchomości lub akcji. Przyjrzyjmy się temu dokładniej:

1. Estymacja cen pojazdu na podstawie parametrów (wartość X) np.: rok produkcji samochodu, marka, model, przebieg, rodzaj silnika itd. Wartością Y w tym przypadku będzie cena pojazdu. Mając takie dane możemy wytrenować model AI, który będzie w stanie oszacować ceny pojazdów.

2. Estymacja cen nieruchomości na podstawie parametrów np.: rok budowy, położenie, standard, metraż, ilość łazienek, sypialni itd. Analogicznie jak w przykładzie pierwszym możemy wytrenować model AI, który znajdzie zależności między ceną a wieloma innymi parametrami dotyczącymi nieruchomości i będzie w stanie na ich podstawie przewidzieć wartość Y.

Klasyfikacja / multiklasyfikacja

Na podstawie danych wejściowych staramy się przewidzieć wcześniej zdefiniowaną etykietę/label. Prościej mówiąc Klasyfikacja to proces, w którym model jest trenowany tak, aby był w stanie klasyfikować dane. Możemy mieć do czynienia z klasyfikacją binarną, więc do przewidzenia są tylko 2 warianty, lub multiklasyfikacją - etykiet może być wiele.

1. Analiza danych medycznych: odpowiednio wytrenowany model na podstawie informacji o pacjencie takich jak np.: wiek, waga, poziom cholesterolu, ciśnienie, przbyte w pzreszłości choroby serca itd. jest w stanie trafnie sklasyfikować pacjenta jako chorego lub nie.
W tym przypadku mamy do czynienia z klasyfikacją binarną: model ma do wyboru dwie klasy - obecność choroby lub jej brak, 0 lub 1

2. Ocena zdolności kredytowej – przykład multiklasyfikacji, gdzie przyporządkowujemy dane do kilki etykiet np.: ryzyko bardzo wysokie, wysokie, umiarkowane, średnie itd.

3. Filtracja spamu w poczcie elektronicznej – tu, jak łatwo się domyśleć dane będą klasyfikowane jako spam lub nie.

Filtering

na podstawie danych wejściowych oraz historii zachowań użytkownika staramy się dostarczyć mu treści czy produkty, które najbardziej go zainteresują.

1. Propozycje filmów/seriali - opierając się na dotychczasowym repertuarze oglądanym przez użytkownika w serwisach streamingowych, system sugeruje kolejne tytuły, które mogą go zainteresować.

2. Polecane produkty w e-sklepach - obserwując zakupy i przeglądane produkty przez klienta, system oferuje mu kolejne artykuły zgodne z jego zainteresowaniami.

3. Sugestie muzyczne w platformach streamingowych - bazując na ulubionych utworach, artystach i gatunkach użytkownika, system rekomenduje mu nową muzykę zgodną z jego gustem.

4. Propozycje artykułów i wiadomości na witrynach informacyjnych - analizując dotychczas przeczytane teksty przez użytkownika, system proponuje kolejne artykuły z podobnej dziedziny lub od tego samego autora.

Clustering

To łączenie danych o podobnych cechach w grupy. Rezultatem są zdefiniowane grupy danych.

1. Przydatne przy analizie np. klientów sklepów. Można łączyć klientów o podobnych cechach w grupy. Następnie możemy zacząć analizy grup w celu poprawy targetowania reklam czy dostosowywania produktów, promocji.

Podział Metodyk ze względu na typ danych wejściowych – X

W poniższych przykładach zauważysz, że typ danych wejściowych - X jest z góry określony, jednak typ danych wyjściowych Y może być różny. Może to być klasyfikacja, może to być regresja.

Time series

To nic innego jak zapis wydarzeń lub pomiarów, które miały miejsce w konkretnym czasie. Dzięki temu można zobaczyć, jak wartość zmneiniała sie, rozwijała lub zachowywała przez pewien okres. Często danymi wyjściowymi w Time series jest Regresja, ale dla szeregu czasowego. Np. określamy ilość popytu na każdy miesiąc patrząc 12 miesięcy do przodu

1. Analiza sprzedaży - obserwując sprzedaż produktu w sklepie przez kilka miesięcy, można zidentyfikować wzory i trendy, które pomagają w prognozowaniu przyszłej sprzedaży.

2. Monitoring jakości powietrza - gromadząc dane o poziomie zanieczyszczeń w danym miejscu każdego dnia, można zauważyć sezonowe wzorce i reagować na niebezpieczne skoki poziomów zanieczyszczeń.

3. Analiza ruchu internetowego - obserwując ilość odwiedzin witryny w określonych godzinach lub dniach, można dostosować strategie marketingowe, aby zwiększyć zaangażowanie użytkowników.

4. Prognozowanie odejść klientów bazując na ich aktywnościach i długości współpracy z firmą. Tutaj wartość Y można opisac jako regresję, więc szansa na odejście od 0-100% lub klasyfikacaję: odejdzie, nie odejdzie.

5. Klasyfikacja transakcji bankowych jako uczciwe lub podejrzane w oparciu o wzorce działalności.

NLP

Inaczej Natural language processing. Danymi wejściowymi, wartością X, jest tutaj długi tekst.

Istotne jest, aby wprowadzić rozróżnienie dla długiego tekstu, a np. pojedynczego słowa czy 2 słów. Dotychczas w danych tabelarycznych mogliśmy mieć wartości liczbowe np. wysokość cholesterolu – są to wartości których komputer praktycznie nie musi przetwarzać (poza skalowaniem, normalizacją). Możemy też mieć wartości słowne np. marka samochodu – toyota. Taką wartość komputer zakoduje jako liczbę. Przykładowo Toyota - 1, BMW – 2, Mercedes – 3 itd.

W przypadku NLP mówimy o długich tekstach jak: tweet, post, strona z bloga, książki, dokumentacji itd. Jednak tak długich ciągów znaków algorytm nie może potraktować jako pojedyncza liczba. Odbywa się tu seria przekształceń, które jako efekt końcowy pozwalają komputerowi na rozumienie oraz generowanie tekstu jak np. Chat GPT.

Jeżeli jesteś zainteresowany jak dokładnie się to odbywa, nieco więcej opisaliśmy w naszym case study - Rozpoznawanie tweetów

Przykłady użycia:

1. Generowanie tekstu na podstawie skryptów z rozmów z klientem

2. Określanie czy dany tweet jest fake newsem (klasyfikacja)

3. Na podstawie opisu wypadku określanie w skali 0-100 jak poważny był to wypadek (regresja)

4. Na podstawie komentarzy określanie czy wypowiedz jest pozytywna, neutralna czy negatywna (klasyfikacja)

5. Wyciaganie konkretnych informacji z tekstu np. dokumentacji technicznej

Computer Vision

Danymi wejściowymi, wartościa X w computer vision jest obraz lub video. Komputer zamienia piksele na wartości liczbowe w celu rozumienia obrazu. Dokładniej opisaliśmy to w naszym case study: X-Ray

1. Analiza obrazów i klasyfikacja np. czy dany produkt z linii produkcyjnej został złożony prawidłowo (klasyfikacja)

2. Określenie na podstawie zdjęcia rentgenowskiego czy mamy do czynienia z konkretną chorobą (klasyfikacja)

3. Estymacja poziomu zmęczenia kierowcy (Regresja)

4. Przewidywanie wieku osoby na zdjęciu (Regresja)

5. Digitalizacja dokumentów papierowych

Segmentacja

Jest to również computer vision, ale w tym wypadku, możemy rozpoznawać, zaznaczać elementy na obrazie. Jednak istotną różnicą jest to, że proces nauki trwa kilkanaście, kilkadziesiąt razy dłużej niż regularny computer vision oparty o obraz.

1. Oznaczanie na obrazie różnych kształtów i nadawanie etykiet. Można np. rozpoznać co jest człowiekiem, co autem, co ulicą. Wykorzystywane w autonomicznych samochodach.

2. Przeszukiwanie zdjęć satelitarnych w poszukiwaniu wolnego miejsca pod budowę np. farm wiatrowych/fotowoltaicznych czy sklepów wielkopowierzchniowych.

Zrealizowaliśmy podobny case study: Analiza Satelitarna

Łączenie metodyk w złożonych projektach

Załóżmy, że chcemy stworzyć rozwiązanie dla firmy monitorującej kraje pod względem bezpieczeństwa. Pracownik takiej firmy dostaje dziennie kilkadziesiąt powiadomień o zamachach, atakach, porwaniach, zamieszkach itd. Jego zadaniem jest aktualizowanie statusu dla poszczególnych krajów

Problem

Pracownicy otrzymują wiele zdarzeń i chcą mieć system filtracji oparty na sztucznej inteligencji. Problem polega na tym, że jeśli w danym kraju określone wypadki zdarzają się często, stają się one normą/punktem odniesienia. Na przykład na Ukrainie codziennie dochodzi do wielu eksplozji. Dlatego dla pracownika jest to rodzaj spamu, jeśli jest informowany 7 razy dziennie o eksplozji. Jeśli jednak na Ukrainie miałoby miejsce uderzenie nuklearne, pracownik chciałby otrzymać powiadomienie, ponieważ jest to odstępstwo od normy. Co więcej, użytkownik chce być informowany, jeśli odchylenie jest większe od normy, a nie mniejsze.

Rozwiązanie

1. Za pomocą przetwarzania języka naturalnego (NLP) możemy wydobyć potrzebne nam informacje takie jak: kraj, data, typ i skala zajścia.

2. Na podstawie notatki o wydarzeniu możemy na początku ręcznie określać poziom zagrożenia. Następnie mając dane X - notatka oraz Y – poziom zagrożenia, możemy użyć regresji w skali od 1 do 100 (należy zdefiniować, co miałoby być 1, a co miałoby być 100) i nauczyć algorytm/model określać wysokość zagrożenia na podstawie opisu wydarzenia.

3. Posiadając kraj, datę i poziom zagrożenia możemy zacząć tworzyć wykres time series.

4. Skupiając się najbardziej na najnowszych wypadkach. Ponieważ najnowsze wypadki oznaczają najnowszą normę. Możemy oznaczyć ramę czasową 1 poprzedni miesiąc. Następnie możemy ustalić co jest normą, czyli określić górny oraz dolny pułap wahań. Jeżeli pojawią się wydarzenia, które są powyżej górnego pułapu możemy zaklasyfikować informację jako ważną i wysłać powiadomienie użytkownikowi. Oczywiście pozostaję jeszcze kwestia jak aktualizować normę i kiedy, ale tu już można opracować algorytm postępowania na bazie testów

Użyte metodologie Jak widzisz użyliśmy tu, aż 4 metodologie: NLP do ekstrakcji danych, regresje i nlp do określenia poziomu zagrożenia, time series do narysowania oraz analizy wykresu oraz stworzenie regularnego algorytmu, wiec zwykłe programowanie proceduralne.

Podsumowując...

Metodyki możemy podzielić ze względu na to jaki typ danych przyjmują - X oraz jaki rodzaj danych zwracają – Y, możemy je ze sobą łączyć w celu rozwiązywania bardziej złożonych problemów AI.

Mam nadzieję, że opisując przykłady zastosowania, łatwiej będzie Ci określić czy dany proces możesz zoptymalizować przy pomocy AI i jak powinieneś do tego podejść.

Skontaktuj się i zacznij podejmować skuteczniejsze decyzje na podstawie analizy danych