Human-in-the-loop (HILT) machine learning i augmentacja danych, czyli jak zbudować model analizy sentymentu do moderowania polskich dyskusji na Facebooku
Human-in-the-loop (HILT) machine learning i augmentacja danych, czyli jak zbudować model analizy sentymentu do moderowania polskich dyskusji na Facebooku
Prezentacja Dominiki Sagan z Sotrendera
Facebook Audience Insights – czyli czym interesują się polscy użytkownicy Fac...Sotrender
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
Similaire à Human-in-the-loop (HILT) machine learning i augmentacja danych, czyli jak zbudować model analizy sentymentu do moderowania polskich dyskusji na Facebooku (20)
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
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
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
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