SlideShare une entreprise Scribd logo
1  sur  21
Télécharger pour lire hors ligne
Human-in-the-loop (HILT) machine learning i
augmentacja danych, czyli jak zbudować model
analizy sentymentu do moderowania polskich dyskusji
na Facebooku
WHOAMI
Dominika Sagan
Data Scientist @ Sotrender
LI: https://www.linkedin.com/in/dominika-sagan-4ba637146/
2
Plan prezentacji:
1. Dlaczego przygotowanie danych jest ważne?
2. Metody wykorzystane w uczeniu modelu analizującego Sentyment w
a. Ręczna anotacja
b. Augmentacja danych tekstowych
c. Snorkel - funkcje etykietujące
d. Pseudo labeling
e. Active learning
3. Zalety modeli opartych na prostej architekturze.
Source:
https://www.freepik.com/free-vector/steampunk-isometric-mac
hine-concept-with-view-industrial-assembly-line-machinery-rob
ot-trunks-with-manipulators_7199776.htm
3
Dane - dlaczego są super ważne
Source:
https://cldcvr.com/news-and-media/blog/clean-data-the-foundati
on-of-effective-machine-learning/ 4
Dane - skąd wziąć
● Zbiory dostępne na zasadzie Open
Source:
○ https://www.kaggle.com/dataset
○ https://klejbenchmark.com/tasks
● Api serwisów internetowych np.
Facebook, Twitter, Amazon, LinkedIn
● Web scraping
● Stworzyć zbiór własnoręcznie
Source:
https://www.freepik.com/premium-vector/no-data-concept-illustration_9415029.htm
5
Human-In-The-Loop
Ingerencja człowieka w uczenie modelu:
Source: https://medium.com/vsinghbisen/what-is-human-in-the-loop-machine-learning-why-how-used-in-ai-60c7b44eb2c0
6
Ręczne etykietowanie danych
● Pozwala na modelowanie problemu, który
○ nie ma wystarczającej ilości danych
dostępnych open source’owo
○ Modelowany proces ewoluuje w
czasie
● Zabierze dużo czasu
● Na dłuższą metę nieopłacalne
Source:
https://www.mycloudassistant.com.au/wp-content/uploads/2017/10/effe
cts-of-overworking-on-your-health-and-business.jpg 7
Co to jest sentyment?
Emocje zawarte w tekście:
● Pozytywne - “Serial rewelacja :)”
● Negatywne - “Ten produkt jest słaby. Nigdy więcej go nie kupię.”
● Neutralne - “Dokładnie tak samo uważam”
Source:https://i1.wp.com/thedatascientist.com/wp-content/uplo
ads/2018/10/sentiment-analysis.png
8
Czy wszyscy rozumieją pojęcie sentymentu w
jednakowy sposób?
Zgodność wyników osób przygotowujących adnotacje do tekstów:
& &
? ?
9
Czy wszyscy rozumieją pojęcie sentymentu w
jednakowy sposób?
Zgodność wyników osób przygotowujących adnotacje do tekstów:
& &
77% 75%
Odpowiedź: NIE!
10
Rozwiązanie:
● Stworzenie listy reguł lub korzystanie z już istniejących
Source: https://pl.wikipedia.org/wiki/S%C4%85siedzi_(serial_animowany)
Source: https://www.howatavraamsolicitors.co.uk/rule-book/
11
● Stworzenie nowych obserwacji poprzez modyfikację obserwacji w zbiorze:
○ Wprowadzenie szumu do wypowiedzi: zmiana/wyrzucenie niewielkiej części
znaków, zmiana słów na synonimy, zmiana miejsca wystąpienia słowa itd.
○ Translacja - tłumaczenie wypowiedzi na język obcy i z powrotem na polski w
celu uzyskania równoważnych zdań ujęte innymi słowami
Augmentacja danych tekstowych
Bardzo ciekawa jest ta
prezentacja!
Niesamowicie interesujące jest to
zaznajomienie!
Brdzzo ciekawa jes ts
prezentajca!
Diese Präsentation ist
sehr interessant!
Bardzo ciekawa jest ta
prezentacja!
Ta prezentacja jest bardzo
interesująca!
12
Taka kolejność operacji może spowodować, że model testowany będzie na prawie takich samych
danych na jakich był uczony - w związku z tym wyniki performance'u modelu mogą być zawyżone
Rozwiązanie:
● Wyodrębnienie zbioru testowego przed augmentacją i augmentacja tylko zbioru treningowego
● Augmentacja dynamiczna - augmentacja losowej części danych w kolejnych epokach
Co może pójść nie tak?
Dane oznaczone
ręcznie +
augumentacje
Zbiór
treningowy
Zbiór testowy
Jak już mamy odpowiednią liczbę danych to następnym wydawałoby się, że następnym krokiem
jest podzielenie ich na zbiór testowy i treningowy:
13
Czemu warto zacząć od prostego modelu jako
baseline’u?
● Może być wystarczający do modelowania
danego problemu
● Może być wykorzystany do anotacji
zbiorów danych
● Daje możliwość tworzenia Labeling
Function w Snorkel’u
● Jest punktem odniesienia w
eksperymentach z architekturą
Source: https://i.imgflip.com/1i0t8t.jpg
14
Snorkel
Anotacja danych za pomocą reguł - Labeling Functions:
Source: https://www.snorkel.org/
15
Na co warto zwrócić uwagę?
● Sprawdzenie czy stworzone reguły dobrze pokrywają zbiór danych oraz czy
kolidują z innymi regułami
● Zacząć od stworzenia małego zbioru etykietowanego za pomocą Snorkela i
powiększając go monitorować jak wpływa na performace modelu
16
Pseudo labeling
Source:
https://medium.com/@sonish.sivarajkumar/pseudo-labeling-4a
0b027ac13f
Do zbioru treningowego dołożyliśmy część danych
etykietowanych przez model spełniających warunek:
17
Active Learning
Poprawa modelu poprzez dodawanie
iteracyjne danych etykietowanych
przez człowieka. Sposoby wybierania
próbki do etykietowania:
● o etykietach o najmniejszej
pewności - least confident
● dla których różnica dwóch
najbardziej prawdopodobnych
etykiet jest najmniejsza - margin
sampling
● Wartości etykiet mają największą
entropię
Source:
https://www.researchgate.net/figure/The-process-of-active-lear
ning-Ambiguous-uncertain-samples-are-selected-for-oracle-to_
fig1_326264220
18
Proces douczania modelu
Nieoznaczone
dane tekstowe
Predykcje o dużej
pewności
Predykcje o małej
pewności
Ręczne
etykietowanie
pseudo labeling (high confidence)
Active learning
Source:
https://www.vox.com/culture/2017/
6/3/15728220/wall-e-pixar-environ
mentalist-movie-of-week-paris-acc
ord
19
Powody, aby pozostać przy prostej architekturze:
● Modelowany problem jest specyficzny
● Dostępnych danych do modelowania nie jest dużo
● Zajmują mniej miejsca
● Ułatwiają proces deploymentu:
○ Wykorzystują mniej zasobów
○ Szybszy czas odpowiedzi
● Dużo szybsze testowanie nowych rozwiązań
Source:
https://i.pinimg.com/originals/34/2f/10/342f10975f1ee
aeddc7a07003bd01d3e.png
20
Dziękuję za uwagę!
21

Contenu connexe

Similaire à Human-in-the-loop (HILT) machine learning i augmentacja danych, czyli jak zbudować model analizy sentymentu do moderowania polskich dyskusji na Facebooku

Machine learning and Big Data (lecture in Polish)
Machine learning and Big Data (lecture in Polish)Machine learning and Big Data (lecture in Polish)
Machine learning and Big Data (lecture in Polish)Michal Iwanowski
 
[#4] spark - IBM Integrated Analytics System
[#4] spark - IBM Integrated Analytics System[#4] spark - IBM Integrated Analytics System
[#4] spark - IBM Integrated Analytics SystemArtur Wronski
 
XIII Targi eHandlu - PushAd - Bartek Kawecki
XIII Targi eHandlu - PushAd - Bartek KaweckiXIII Targi eHandlu - PushAd - Bartek Kawecki
XIII Targi eHandlu - PushAd - Bartek Kaweckiecommerce poland expo
 
One tool to rule them all - Google Data Studio
One tool to rule them all - Google Data StudioOne tool to rule them all - Google Data Studio
One tool to rule them all - Google Data StudioSocjomania
 
8. Programowanie w środowisku języka strukturalnego
8. Programowanie w środowisku języka strukturalnego8. Programowanie w środowisku języka strukturalnego
8. Programowanie w środowisku języka strukturalnegokalaxq
 
Cz ii tt_tsne_21022017_public
Cz ii tt_tsne_21022017_public Cz ii tt_tsne_21022017_public
Cz ii tt_tsne_21022017_public Grzegorz Gwardys
 
3. Organizowanie procesu pracy
3. Organizowanie procesu pracy3. Organizowanie procesu pracy
3. Organizowanie procesu pracykalaxq
 
4. Wykorzystanie informacyjnych technik biurowych
4. Wykorzystanie informacyjnych technik biurowych4. Wykorzystanie informacyjnych technik biurowych
4. Wykorzystanie informacyjnych technik biurowychkalaxq
 
Narzedzia technologiczne, ktore umozliwiaja zachowanie wiedzy w organizacji
Narzedzia technologiczne, ktore umozliwiaja zachowanie wiedzy w organizacjiNarzedzia technologiczne, ktore umozliwiaja zachowanie wiedzy w organizacji
Narzedzia technologiczne, ktore umozliwiaja zachowanie wiedzy w organizacjiTomasz Karwatka
 
11. Tworzenie interfejsu użytkownika
11. Tworzenie interfejsu użytkownika11. Tworzenie interfejsu użytkownika
11. Tworzenie interfejsu użytkownikakalaxq
 
42. instalowanie i konfigurowanie systemu operacyjnego
42. instalowanie i konfigurowanie systemu operacyjnego42. instalowanie i konfigurowanie systemu operacyjnego
42. instalowanie i konfigurowanie systemu operacyjnegoLukas Pobocha
 
12. Zabezpieczanie dostępu do danych
12. Zabezpieczanie dostępu do danych12. Zabezpieczanie dostępu do danych
12. Zabezpieczanie dostępu do danychkalaxq
 
Elitmind @ SQLDay2018: Stream Analytics i Machine Learning – czy to dobrze do...
Elitmind @ SQLDay2018: Stream Analytics i Machine Learning – czy to dobrze do...Elitmind @ SQLDay2018: Stream Analytics i Machine Learning – czy to dobrze do...
Elitmind @ SQLDay2018: Stream Analytics i Machine Learning – czy to dobrze do...Elitmind
 
Encje w drupalu - DrupalCamp Wroclaw 2015
Encje w drupalu - DrupalCamp Wroclaw 2015Encje w drupalu - DrupalCamp Wroclaw 2015
Encje w drupalu - DrupalCamp Wroclaw 2015Grzegorz Bartman
 
PRZEGLĄD NARZĘDZI W WARSZTACIE OTWARTEGO NAUKOWCA
PRZEGLĄD NARZĘDZI W WARSZTACIE OTWARTEGO NAUKOWCAPRZEGLĄD NARZĘDZI W WARSZTACIE OTWARTEGO NAUKOWCA
PRZEGLĄD NARZĘDZI W WARSZTACIE OTWARTEGO NAUKOWCAArtur Gunia
 
Testowanie w parach - Testwarez 2016
Testowanie w parach - Testwarez 2016Testowanie w parach - Testwarez 2016
Testowanie w parach - Testwarez 2016Damian Szczurek
 
Tajniki współpracy z (trudnym) klientem
Tajniki współpracy z (trudnym) klientemTajniki współpracy z (trudnym) klientem
Tajniki współpracy z (trudnym) klientemKatarzyna Mrowca
 
Sztuka wojny wg analityka IT - jak współpracować z trudnym klientem
Sztuka wojny wg analityka IT - jak współpracować z trudnym klientemSztuka wojny wg analityka IT - jak współpracować z trudnym klientem
Sztuka wojny wg analityka IT - jak współpracować z trudnym klientemKatarzyna Mrowca
 
Jak przygotować dane do uczenia maszynowego? | Ermlab Software
Jak przygotować dane do uczenia maszynowego? | Ermlab SoftwareJak przygotować dane do uczenia maszynowego? | Ermlab Software
Jak przygotować dane do uczenia maszynowego? | Ermlab SoftwareErmlab Software
 

Similaire à Human-in-the-loop (HILT) machine learning i augmentacja danych, czyli jak zbudować model analizy sentymentu do moderowania polskich dyskusji na Facebooku (20)

Machine learning and Big Data (lecture in Polish)
Machine learning and Big Data (lecture in Polish)Machine learning and Big Data (lecture in Polish)
Machine learning and Big Data (lecture in Polish)
 
[#4] spark - IBM Integrated Analytics System
[#4] spark - IBM Integrated Analytics System[#4] spark - IBM Integrated Analytics System
[#4] spark - IBM Integrated Analytics System
 
XIII Targi eHandlu - PushAd - Bartek Kawecki
XIII Targi eHandlu - PushAd - Bartek KaweckiXIII Targi eHandlu - PushAd - Bartek Kawecki
XIII Targi eHandlu - PushAd - Bartek Kawecki
 
One tool to rule them all - Google Data Studio
One tool to rule them all - Google Data StudioOne tool to rule them all - Google Data Studio
One tool to rule them all - Google Data Studio
 
8. Programowanie w środowisku języka strukturalnego
8. Programowanie w środowisku języka strukturalnego8. Programowanie w środowisku języka strukturalnego
8. Programowanie w środowisku języka strukturalnego
 
Cz ii tt_tsne_21022017_public
Cz ii tt_tsne_21022017_public Cz ii tt_tsne_21022017_public
Cz ii tt_tsne_21022017_public
 
3. Organizowanie procesu pracy
3. Organizowanie procesu pracy3. Organizowanie procesu pracy
3. Organizowanie procesu pracy
 
4. Wykorzystanie informacyjnych technik biurowych
4. Wykorzystanie informacyjnych technik biurowych4. Wykorzystanie informacyjnych technik biurowych
4. Wykorzystanie informacyjnych technik biurowych
 
Narzedzia technologiczne, ktore umozliwiaja zachowanie wiedzy w organizacji
Narzedzia technologiczne, ktore umozliwiaja zachowanie wiedzy w organizacjiNarzedzia technologiczne, ktore umozliwiaja zachowanie wiedzy w organizacji
Narzedzia technologiczne, ktore umozliwiaja zachowanie wiedzy w organizacji
 
11. Tworzenie interfejsu użytkownika
11. Tworzenie interfejsu użytkownika11. Tworzenie interfejsu użytkownika
11. Tworzenie interfejsu użytkownika
 
42. instalowanie i konfigurowanie systemu operacyjnego
42. instalowanie i konfigurowanie systemu operacyjnego42. instalowanie i konfigurowanie systemu operacyjnego
42. instalowanie i konfigurowanie systemu operacyjnego
 
12. Zabezpieczanie dostępu do danych
12. Zabezpieczanie dostępu do danych12. Zabezpieczanie dostępu do danych
12. Zabezpieczanie dostępu do danych
 
Elitmind @ SQLDay2018: Stream Analytics i Machine Learning – czy to dobrze do...
Elitmind @ SQLDay2018: Stream Analytics i Machine Learning – czy to dobrze do...Elitmind @ SQLDay2018: Stream Analytics i Machine Learning – czy to dobrze do...
Elitmind @ SQLDay2018: Stream Analytics i Machine Learning – czy to dobrze do...
 
Encje w drupalu - DrupalCamp Wroclaw 2015
Encje w drupalu - DrupalCamp Wroclaw 2015Encje w drupalu - DrupalCamp Wroclaw 2015
Encje w drupalu - DrupalCamp Wroclaw 2015
 
PRZEGLĄD NARZĘDZI W WARSZTACIE OTWARTEGO NAUKOWCA
PRZEGLĄD NARZĘDZI W WARSZTACIE OTWARTEGO NAUKOWCAPRZEGLĄD NARZĘDZI W WARSZTACIE OTWARTEGO NAUKOWCA
PRZEGLĄD NARZĘDZI W WARSZTACIE OTWARTEGO NAUKOWCA
 
Testowanie w parach - Testwarez 2016
Testowanie w parach - Testwarez 2016Testowanie w parach - Testwarez 2016
Testowanie w parach - Testwarez 2016
 
Tajniki współpracy z (trudnym) klientem
Tajniki współpracy z (trudnym) klientemTajniki współpracy z (trudnym) klientem
Tajniki współpracy z (trudnym) klientem
 
Sztuka wojny wg analityka IT - jak współpracować z trudnym klientem
Sztuka wojny wg analityka IT - jak współpracować z trudnym klientemSztuka wojny wg analityka IT - jak współpracować z trudnym klientem
Sztuka wojny wg analityka IT - jak współpracować z trudnym klientem
 
Jak przygotować dane do uczenia maszynowego? | Ermlab Software
Jak przygotować dane do uczenia maszynowego? | Ermlab SoftwareJak przygotować dane do uczenia maszynowego? | Ermlab Software
Jak przygotować dane do uczenia maszynowego? | Ermlab Software
 
M4j3
M4j3M4j3
M4j3
 

Plus de Sotrender

Topic modeling - nie tylko LDA w Gensim
Topic modeling - nie tylko LDA w GensimTopic modeling - nie tylko LDA w Gensim
Topic modeling - nie tylko LDA w GensimSotrender
 
Facebook Audience Insights – czyli czym interesują się polscy użytkownicy Fac...
Facebook Audience Insights – czyli czym interesują się polscy użytkownicy Fac...Facebook Audience Insights – czyli czym interesują się polscy użytkownicy Fac...
Facebook Audience Insights – czyli czym interesują się polscy użytkownicy Fac...Sotrender
 
Rozpoznawanie treści obrazów na kreacjach reklam na Facebooku z wykorzystanie...
Rozpoznawanie treści obrazów na kreacjach reklam na Facebooku z wykorzystanie...Rozpoznawanie treści obrazów na kreacjach reklam na Facebooku z wykorzystanie...
Rozpoznawanie treści obrazów na kreacjach reklam na Facebooku z wykorzystanie...Sotrender
 
Trenowanie i wdrażanie modeli uczenia maszynowego z wykorzystaniem Google Clo...
Trenowanie i wdrażanie modeli uczenia maszynowego z wykorzystaniem Google Clo...Trenowanie i wdrażanie modeli uczenia maszynowego z wykorzystaniem Google Clo...
Trenowanie i wdrażanie modeli uczenia maszynowego z wykorzystaniem Google Clo...Sotrender
 
Wykrywanie mowy nienawiści w języku polskim
Wykrywanie mowy nienawiści w języku polskimWykrywanie mowy nienawiści w języku polskim
Wykrywanie mowy nienawiści w języku polskimSotrender
 
Federated Learning: Budowanie modeli uczenia maszynowego bez wglądu w rozpros...
Federated Learning: Budowanie modeli uczenia maszynowego bez wglądu w rozpros...Federated Learning: Budowanie modeli uczenia maszynowego bez wglądu w rozpros...
Federated Learning: Budowanie modeli uczenia maszynowego bez wglądu w rozpros...Sotrender
 
Prawdziwe oblicze tekstu, czyli jak rozmawiamy w sieci [WDI 2019]
Prawdziwe oblicze tekstu, czyli jak rozmawiamy w sieci [WDI 2019]Prawdziwe oblicze tekstu, czyli jak rozmawiamy w sieci [WDI 2019]
Prawdziwe oblicze tekstu, czyli jak rozmawiamy w sieci [WDI 2019]Sotrender
 
Ślady cyfrowe - sposoby na analizowanie aktywności internautów i działań rekl...
Ślady cyfrowe - sposoby na analizowanie aktywności internautów i działań rekl...Ślady cyfrowe - sposoby na analizowanie aktywności internautów i działań rekl...
Ślady cyfrowe - sposoby na analizowanie aktywności internautów i działań rekl...Sotrender
 
Bajki robotów? Machine Learning in Digital Marketing | Konferencja In Digital...
Bajki robotów? Machine Learning in Digital Marketing | Konferencja In Digital...Bajki robotów? Machine Learning in Digital Marketing | Konferencja In Digital...
Bajki robotów? Machine Learning in Digital Marketing | Konferencja In Digital...Sotrender
 
Sztuczna inteligencja w marketingu | Infoshare 2019
Sztuczna inteligencja w marketingu | Infoshare 2019Sztuczna inteligencja w marketingu | Infoshare 2019
Sztuczna inteligencja w marketingu | Infoshare 2019Sotrender
 
Pragmatic Machine Learning in Business
Pragmatic Machine Learning in BusinessPragmatic Machine Learning in Business
Pragmatic Machine Learning in BusinessSotrender
 
Wykorzystanie Big Data i cyfrowego śladu w naukach psychologicznych i społecz...
Wykorzystanie Big Data i cyfrowego śladu w naukach psychologicznych i społecz...Wykorzystanie Big Data i cyfrowego śladu w naukach psychologicznych i społecz...
Wykorzystanie Big Data i cyfrowego śladu w naukach psychologicznych i społecz...Sotrender
 
Jak wykorzystać social media w badaniach i jak przełożyć to na decyzje związa...
Jak wykorzystać social media w badaniach i jak przełożyć to na decyzje związa...Jak wykorzystać social media w badaniach i jak przełożyć to na decyzje związa...
Jak wykorzystać social media w badaniach i jak przełożyć to na decyzje związa...Sotrender
 
Obsługa klienta w social media
Obsługa klienta w social mediaObsługa klienta w social media
Obsługa klienta w social mediaSotrender
 
Jakimi wartościami kieruje się Twoja grupa docelowa? [Listonic Case Study]
Jakimi wartościami kieruje się Twoja grupa docelowa? [Listonic Case Study]Jakimi wartościami kieruje się Twoja grupa docelowa? [Listonic Case Study]
Jakimi wartościami kieruje się Twoja grupa docelowa? [Listonic Case Study]Sotrender
 
Każde pokolenie ma swój czas? Różnice generacyjne a dane z mediów społecznośc...
Każde pokolenie ma swój czas? Różnice generacyjne a dane z mediów społecznośc...Każde pokolenie ma swój czas? Różnice generacyjne a dane z mediów społecznośc...
Każde pokolenie ma swój czas? Różnice generacyjne a dane z mediów społecznośc...Sotrender
 
Poszerzanie pola walki - czyli z kim tak naprawdę konkurujecie?
Poszerzanie pola walki - czyli z kim tak naprawdę konkurujecie? Poszerzanie pola walki - czyli z kim tak naprawdę konkurujecie?
Poszerzanie pola walki - czyli z kim tak naprawdę konkurujecie? Sotrender
 
Mallkołaj rozdaje prezenty - Case Study z akcji Mall.pl i Los Videos
Mallkołaj rozdaje prezenty - Case Study z akcji Mall.pl i Los VideosMallkołaj rozdaje prezenty - Case Study z akcji Mall.pl i Los Videos
Mallkołaj rozdaje prezenty - Case Study z akcji Mall.pl i Los VideosSotrender
 
Kilka praktycznych sposobów na wykorzystanie danych z social media w marketingu
Kilka praktycznych sposobów na wykorzystanie danych z social media w marketinguKilka praktycznych sposobów na wykorzystanie danych z social media w marketingu
Kilka praktycznych sposobów na wykorzystanie danych z social media w marketinguSotrender
 
Pożrą, przeżują i wydalą - Google, Facebook i polskie biznesy internetowe
Pożrą, przeżują i wydalą - Google, Facebook i polskie biznesy internetowePożrą, przeżują i wydalą - Google, Facebook i polskie biznesy internetowe
Pożrą, przeżują i wydalą - Google, Facebook i polskie biznesy internetoweSotrender
 

Plus de Sotrender (20)

Topic modeling - nie tylko LDA w Gensim
Topic modeling - nie tylko LDA w GensimTopic modeling - nie tylko LDA w Gensim
Topic modeling - nie tylko LDA w Gensim
 
Facebook Audience Insights – czyli czym interesują się polscy użytkownicy Fac...
Facebook Audience Insights – czyli czym interesują się polscy użytkownicy Fac...Facebook Audience Insights – czyli czym interesują się polscy użytkownicy Fac...
Facebook Audience Insights – czyli czym interesują się polscy użytkownicy Fac...
 
Rozpoznawanie treści obrazów na kreacjach reklam na Facebooku z wykorzystanie...
Rozpoznawanie treści obrazów na kreacjach reklam na Facebooku z wykorzystanie...Rozpoznawanie treści obrazów na kreacjach reklam na Facebooku z wykorzystanie...
Rozpoznawanie treści obrazów na kreacjach reklam na Facebooku z wykorzystanie...
 
Trenowanie i wdrażanie modeli uczenia maszynowego z wykorzystaniem Google Clo...
Trenowanie i wdrażanie modeli uczenia maszynowego z wykorzystaniem Google Clo...Trenowanie i wdrażanie modeli uczenia maszynowego z wykorzystaniem Google Clo...
Trenowanie i wdrażanie modeli uczenia maszynowego z wykorzystaniem Google Clo...
 
Wykrywanie mowy nienawiści w języku polskim
Wykrywanie mowy nienawiści w języku polskimWykrywanie mowy nienawiści w języku polskim
Wykrywanie mowy nienawiści w języku polskim
 
Federated Learning: Budowanie modeli uczenia maszynowego bez wglądu w rozpros...
Federated Learning: Budowanie modeli uczenia maszynowego bez wglądu w rozpros...Federated Learning: Budowanie modeli uczenia maszynowego bez wglądu w rozpros...
Federated Learning: Budowanie modeli uczenia maszynowego bez wglądu w rozpros...
 
Prawdziwe oblicze tekstu, czyli jak rozmawiamy w sieci [WDI 2019]
Prawdziwe oblicze tekstu, czyli jak rozmawiamy w sieci [WDI 2019]Prawdziwe oblicze tekstu, czyli jak rozmawiamy w sieci [WDI 2019]
Prawdziwe oblicze tekstu, czyli jak rozmawiamy w sieci [WDI 2019]
 
Ślady cyfrowe - sposoby na analizowanie aktywności internautów i działań rekl...
Ślady cyfrowe - sposoby na analizowanie aktywności internautów i działań rekl...Ślady cyfrowe - sposoby na analizowanie aktywności internautów i działań rekl...
Ślady cyfrowe - sposoby na analizowanie aktywności internautów i działań rekl...
 
Bajki robotów? Machine Learning in Digital Marketing | Konferencja In Digital...
Bajki robotów? Machine Learning in Digital Marketing | Konferencja In Digital...Bajki robotów? Machine Learning in Digital Marketing | Konferencja In Digital...
Bajki robotów? Machine Learning in Digital Marketing | Konferencja In Digital...
 
Sztuczna inteligencja w marketingu | Infoshare 2019
Sztuczna inteligencja w marketingu | Infoshare 2019Sztuczna inteligencja w marketingu | Infoshare 2019
Sztuczna inteligencja w marketingu | Infoshare 2019
 
Pragmatic Machine Learning in Business
Pragmatic Machine Learning in BusinessPragmatic Machine Learning in Business
Pragmatic Machine Learning in Business
 
Wykorzystanie Big Data i cyfrowego śladu w naukach psychologicznych i społecz...
Wykorzystanie Big Data i cyfrowego śladu w naukach psychologicznych i społecz...Wykorzystanie Big Data i cyfrowego śladu w naukach psychologicznych i społecz...
Wykorzystanie Big Data i cyfrowego śladu w naukach psychologicznych i społecz...
 
Jak wykorzystać social media w badaniach i jak przełożyć to na decyzje związa...
Jak wykorzystać social media w badaniach i jak przełożyć to na decyzje związa...Jak wykorzystać social media w badaniach i jak przełożyć to na decyzje związa...
Jak wykorzystać social media w badaniach i jak przełożyć to na decyzje związa...
 
Obsługa klienta w social media
Obsługa klienta w social mediaObsługa klienta w social media
Obsługa klienta w social media
 
Jakimi wartościami kieruje się Twoja grupa docelowa? [Listonic Case Study]
Jakimi wartościami kieruje się Twoja grupa docelowa? [Listonic Case Study]Jakimi wartościami kieruje się Twoja grupa docelowa? [Listonic Case Study]
Jakimi wartościami kieruje się Twoja grupa docelowa? [Listonic Case Study]
 
Każde pokolenie ma swój czas? Różnice generacyjne a dane z mediów społecznośc...
Każde pokolenie ma swój czas? Różnice generacyjne a dane z mediów społecznośc...Każde pokolenie ma swój czas? Różnice generacyjne a dane z mediów społecznośc...
Każde pokolenie ma swój czas? Różnice generacyjne a dane z mediów społecznośc...
 
Poszerzanie pola walki - czyli z kim tak naprawdę konkurujecie?
Poszerzanie pola walki - czyli z kim tak naprawdę konkurujecie? Poszerzanie pola walki - czyli z kim tak naprawdę konkurujecie?
Poszerzanie pola walki - czyli z kim tak naprawdę konkurujecie?
 
Mallkołaj rozdaje prezenty - Case Study z akcji Mall.pl i Los Videos
Mallkołaj rozdaje prezenty - Case Study z akcji Mall.pl i Los VideosMallkołaj rozdaje prezenty - Case Study z akcji Mall.pl i Los Videos
Mallkołaj rozdaje prezenty - Case Study z akcji Mall.pl i Los Videos
 
Kilka praktycznych sposobów na wykorzystanie danych z social media w marketingu
Kilka praktycznych sposobów na wykorzystanie danych z social media w marketinguKilka praktycznych sposobów na wykorzystanie danych z social media w marketingu
Kilka praktycznych sposobów na wykorzystanie danych z social media w marketingu
 
Pożrą, przeżują i wydalą - Google, Facebook i polskie biznesy internetowe
Pożrą, przeżują i wydalą - Google, Facebook i polskie biznesy internetowePożrą, przeżują i wydalą - Google, Facebook i polskie biznesy internetowe
Pożrą, przeżują i wydalą - Google, Facebook i polskie biznesy internetowe
 

Human-in-the-loop (HILT) machine learning i augmentacja danych, czyli jak zbudować model analizy sentymentu do moderowania polskich dyskusji na Facebooku

  • 1. Human-in-the-loop (HILT) machine learning i augmentacja danych, czyli jak zbudować model analizy sentymentu do moderowania polskich dyskusji na Facebooku
  • 2. WHOAMI Dominika Sagan Data Scientist @ Sotrender LI: https://www.linkedin.com/in/dominika-sagan-4ba637146/ 2
  • 3. Plan prezentacji: 1. Dlaczego przygotowanie danych jest ważne? 2. Metody wykorzystane w uczeniu modelu analizującego Sentyment w a. Ręczna anotacja b. Augmentacja danych tekstowych c. Snorkel - funkcje etykietujące d. Pseudo labeling e. Active learning 3. Zalety modeli opartych na prostej architekturze. Source: https://www.freepik.com/free-vector/steampunk-isometric-mac hine-concept-with-view-industrial-assembly-line-machinery-rob ot-trunks-with-manipulators_7199776.htm 3
  • 4. Dane - dlaczego są super ważne Source: https://cldcvr.com/news-and-media/blog/clean-data-the-foundati on-of-effective-machine-learning/ 4
  • 5. Dane - skąd wziąć ● Zbiory dostępne na zasadzie Open Source: ○ https://www.kaggle.com/dataset ○ https://klejbenchmark.com/tasks ● Api serwisów internetowych np. Facebook, Twitter, Amazon, LinkedIn ● Web scraping ● Stworzyć zbiór własnoręcznie Source: https://www.freepik.com/premium-vector/no-data-concept-illustration_9415029.htm 5
  • 6. Human-In-The-Loop Ingerencja człowieka w uczenie modelu: Source: https://medium.com/vsinghbisen/what-is-human-in-the-loop-machine-learning-why-how-used-in-ai-60c7b44eb2c0 6
  • 7. Ręczne etykietowanie danych ● Pozwala na modelowanie problemu, który ○ nie ma wystarczającej ilości danych dostępnych open source’owo ○ Modelowany proces ewoluuje w czasie ● Zabierze dużo czasu ● Na dłuższą metę nieopłacalne Source: https://www.mycloudassistant.com.au/wp-content/uploads/2017/10/effe cts-of-overworking-on-your-health-and-business.jpg 7
  • 8. Co to jest sentyment? Emocje zawarte w tekście: ● Pozytywne - “Serial rewelacja :)” ● Negatywne - “Ten produkt jest słaby. Nigdy więcej go nie kupię.” ● Neutralne - “Dokładnie tak samo uważam” Source:https://i1.wp.com/thedatascientist.com/wp-content/uplo ads/2018/10/sentiment-analysis.png 8
  • 9. Czy wszyscy rozumieją pojęcie sentymentu w jednakowy sposób? Zgodność wyników osób przygotowujących adnotacje do tekstów: & & ? ? 9
  • 10. Czy wszyscy rozumieją pojęcie sentymentu w jednakowy sposób? Zgodność wyników osób przygotowujących adnotacje do tekstów: & & 77% 75% Odpowiedź: NIE! 10
  • 11. Rozwiązanie: ● Stworzenie listy reguł lub korzystanie z już istniejących Source: https://pl.wikipedia.org/wiki/S%C4%85siedzi_(serial_animowany) Source: https://www.howatavraamsolicitors.co.uk/rule-book/ 11
  • 12. ● Stworzenie nowych obserwacji poprzez modyfikację obserwacji w zbiorze: ○ Wprowadzenie szumu do wypowiedzi: zmiana/wyrzucenie niewielkiej części znaków, zmiana słów na synonimy, zmiana miejsca wystąpienia słowa itd. ○ Translacja - tłumaczenie wypowiedzi na język obcy i z powrotem na polski w celu uzyskania równoważnych zdań ujęte innymi słowami Augmentacja danych tekstowych Bardzo ciekawa jest ta prezentacja! Niesamowicie interesujące jest to zaznajomienie! Brdzzo ciekawa jes ts prezentajca! Diese Präsentation ist sehr interessant! Bardzo ciekawa jest ta prezentacja! Ta prezentacja jest bardzo interesująca! 12
  • 13. Taka kolejność operacji może spowodować, że model testowany będzie na prawie takich samych danych na jakich był uczony - w związku z tym wyniki performance'u modelu mogą być zawyżone Rozwiązanie: ● Wyodrębnienie zbioru testowego przed augmentacją i augmentacja tylko zbioru treningowego ● Augmentacja dynamiczna - augmentacja losowej części danych w kolejnych epokach Co może pójść nie tak? Dane oznaczone ręcznie + augumentacje Zbiór treningowy Zbiór testowy Jak już mamy odpowiednią liczbę danych to następnym wydawałoby się, że następnym krokiem jest podzielenie ich na zbiór testowy i treningowy: 13
  • 14. Czemu warto zacząć od prostego modelu jako baseline’u? ● Może być wystarczający do modelowania danego problemu ● Może być wykorzystany do anotacji zbiorów danych ● Daje możliwość tworzenia Labeling Function w Snorkel’u ● Jest punktem odniesienia w eksperymentach z architekturą Source: https://i.imgflip.com/1i0t8t.jpg 14
  • 15. Snorkel Anotacja danych za pomocą reguł - Labeling Functions: Source: https://www.snorkel.org/ 15
  • 16. Na co warto zwrócić uwagę? ● Sprawdzenie czy stworzone reguły dobrze pokrywają zbiór danych oraz czy kolidują z innymi regułami ● Zacząć od stworzenia małego zbioru etykietowanego za pomocą Snorkela i powiększając go monitorować jak wpływa na performace modelu 16
  • 17. Pseudo labeling Source: https://medium.com/@sonish.sivarajkumar/pseudo-labeling-4a 0b027ac13f Do zbioru treningowego dołożyliśmy część danych etykietowanych przez model spełniających warunek: 17
  • 18. Active Learning Poprawa modelu poprzez dodawanie iteracyjne danych etykietowanych przez człowieka. Sposoby wybierania próbki do etykietowania: ● o etykietach o najmniejszej pewności - least confident ● dla których różnica dwóch najbardziej prawdopodobnych etykiet jest najmniejsza - margin sampling ● Wartości etykiet mają największą entropię Source: https://www.researchgate.net/figure/The-process-of-active-lear ning-Ambiguous-uncertain-samples-are-selected-for-oracle-to_ fig1_326264220 18
  • 19. Proces douczania modelu Nieoznaczone dane tekstowe Predykcje o dużej pewności Predykcje o małej pewności Ręczne etykietowanie pseudo labeling (high confidence) Active learning Source: https://www.vox.com/culture/2017/ 6/3/15728220/wall-e-pixar-environ mentalist-movie-of-week-paris-acc ord 19
  • 20. Powody, aby pozostać przy prostej architekturze: ● Modelowany problem jest specyficzny ● Dostępnych danych do modelowania nie jest dużo ● Zajmują mniej miejsca ● Ułatwiają proces deploymentu: ○ Wykorzystują mniej zasobów ○ Szybszy czas odpowiedzi ● Dużo szybsze testowanie nowych rozwiązań Source: https://i.pinimg.com/originals/34/2f/10/342f10975f1ee aeddc7a07003bd01d3e.png 20