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:
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.
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:
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.
na podstawie danych wejściowych oraz historii zachowań użytkownika staramy się dostarczyć mu treści czy produkty, które najbardziej go zainteresują.
To łączenie danych o podobnych cechach w grupy. Rezultatem są zdefiniowane grupy danych.
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.
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
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:
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
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.
Zrealizowaliśmy podobny case study: Analiza Satelitarna
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
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.
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.
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