Dariusz Brzeziński Instytut Informatyki, Politechnika Poznańska

Podobne dokumenty
Dariusz Brzeziński Instytut Informatyki, Politechnika Poznańska

Literatura. Sztuczne sieci neuronowe. Przepływ informacji w systemie nerwowym. Budowa i działanie mózgu

word2vec dla Polskiego Internetu

Sieci neuronowe w Statistica

Sztuczne sieci neuronowe. Krzysztof A. Cyran POLITECHNIKA ŚLĄSKA Instytut Informatyki, p. 335

Wstęp do teorii sztucznej inteligencji Wykład III. Modele sieci neuronowych.

Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa.

Elementy kognitywistyki II: Sztuczna inteligencja. WYKŁAD X: Sztuczny neuron

Sieć Hopfielda. Sieci rekurencyjne. Ewa Adamus. ZUT Wydział Informatyki Instytut Sztucznej Inteligencji i Metod Matematycznych.

IMPLEMENTACJA SIECI NEURONOWYCH MLP Z WALIDACJĄ KRZYŻOWĄ

Zastosowania sieci neuronowych

Dariusz Brzeziński Instytut Informatyki, Politechnika Poznańska

Sieci neuronowe w Statistica. Agnieszka Nowak - Brzezioska

Zastosowania sieci neuronowych

AUTOMATYKA INFORMATYKA

Sieci Kohonena Grupowanie

Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa.

Oprogramowanie Systemów Obrazowania SIECI NEURONOWE

Sztuczne sieci neuronowe i sztuczna immunologia jako klasyfikatory danych. Dariusz Badura Letnia Szkoła Instytutu Matematyki 2010

Wstęp do przetwarzania języka naturalnego. Wykład 13 Podsumowanie i spojrzenie w przyszłość

Uczenie sieci radialnych (RBF)

Sztuczna Inteligencja Tematy projektów Sieci Neuronowe

Elementy kognitywistyki III: Modele i architektury poznawcze

Wstęp do sieci neuronowych, wykład 07 Uczenie nienadzorowane.

Elementy kognitywistyki III: Modele i architektury poznawcze

Metody Sztucznej Inteligencji II

Temat: Sieci neuronowe oraz technologia CUDA

8. Neuron z ciągłą funkcją aktywacji.

SZTUCZNA INTELIGENCJA

Elementy inteligencji obliczeniowej

Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa.

Lekcja 5: Sieć Kohonena i sieć ART

Sztuczne sieci neuronowe. Krzysztof A. Cyran POLITECHNIKA ŚLĄSKA Instytut Informatyki, p. 311

1. Historia 2. Podstawy neurobiologii 3. Definicje i inne kłamstwa 4. Sztuczny neuron i zasady działania SSN. Agenda

Wstęp do teorii sztucznej inteligencji Wykład II. Uczenie sztucznych neuronów.

Sztuczne siei neuronowe - wprowadzenie

Wyszukiwanie informacji w internecie. Nguyen Hung Son

KARTA MODUŁU KSZTAŁCENIA

Program warsztatów CLARIN-PL

Deep Learning na przykładzie Deep Belief Networks

MODELOWANIE RZECZYWISTOŚCI

ĆWICZENIE 5: Sztuczne sieci neuronowe

Kodowanie i kompresja Tomasz Jurdziński Studia Wieczorowe Wykład Kody liniowe - kodowanie w oparciu o macierz parzystości

Sztuczne sieci neuronowe

Dariusz Brzeziński. Politechnika Poznańska

Systemy agentowe. Uwagi organizacyjne i wprowadzenie. Jędrzej Potoniec

Uniwersytet w Białymstoku Wydział Ekonomiczno-Informatyczny w Wilnie SYLLABUS na rok akademicki 2012/2013

Adrian Horzyk

Uczenie sieci typu MLP

Podstawy sztucznej inteligencji

SIECI NEURONOWE Liniowe i nieliniowe sieci neuronowe

TEORETYCZNE PODSTAWY INFORMATYKI

Wstęp do głębokich sieci neuronowych. Paweł Morawiecki IPI PAN

Inteligentne systemy przeciw atakom sieciowym

Interaktywne wyszukiwanie informacji w repozytoriach danych tekstowych

Ontogeniczne sieci neuronowe. O sieciach zmieniających swoją strukturę

Elementy Sztucznej Inteligencji. Sztuczne sieci neuronowe cz. 2

Systemy pomiarowo-diagnostyczne. Metody uczenia maszynowego wykład III 2016/2017

Temat: Sztuczne Sieci Neuronowe. Instrukcja do ćwiczeń przedmiotu INŻYNIERIA WIEDZY I SYSTEMY EKSPERTOWE

Testowanie modeli predykcyjnych

Analiza zawartości dokumentów za pomocą probabilistycznych modeli graficznych

SPOTKANIE 2: Wprowadzenie cz. I

Wykaz tematów prac magisterskich w roku akademickim 2018/2019 kierunek: informatyka

Metody i techniki sztucznej inteligencji / Leszek Rutkowski. wyd. 2, 3 dodr. Warszawa, Spis treści

wiedzy Sieci neuronowe (c.d.)

Lokalizacja Oprogramowania

sieci jednowarstwowe w MATLABie LABORKA Piotr Ciskowski

Elementy kognitywistyki II: Sztuczna inteligencja. WYKŁAD XI: Sztuczne sieci neuronowe

Zagadnienia optymalizacji i aproksymacji. Sieci neuronowe.

Analiza danych tekstowych i języka naturalnego

Najprostsze modele sieci z rekurencją. sieci Hopfielda; sieci uczone regułą Hebba; sieć Hamminga;

Ekstrakcja informacji oraz stylometria na usługach psychologii Część 2

Sztuczne sieci neuronowe

synaptycznych wszystko to waży 1.5 kg i zajmuje objętość około 1.5 litra. A zużywa mniej energii niż lampka nocna.

Wykład 1: Wprowadzenie do sieci neuronowych

Wstęp do sieci neuronowych, wykład 07 Uczenie nienadzorowane cd.

Algorytmy decyzyjne będące alternatywą dla sieci neuronowych

Wstęp do sieci neuronowych, wykład 6 Wsteczna propagacja błędu - cz. 3

WYKŁAD 4 PLAN WYKŁADU. Sieci neuronowe: Algorytmy uczenia & Dalsze zastosowania. Metody uczenia sieci: Zastosowania

Sztuczna inteligencja - wprowadzenie

EmotiWord, semantyczne powiązanie i podobieństwo, odległość znaczeniowa

wiedzy Sieci neuronowe

Sieci M. I. Jordana. Sieci rekurencyjne z parametrycznym biasem. Leszek Rybicki. 30 listopada Leszek Rybicki Sieci M. I.

Optymalizacja ciągła

Sztuczne sieci neuronowe (SNN)

Wprowadzenie do teorii systemów ekspertowych

Wprowadzenie do programu RapidMiner Studio 7.6, część 4 Michał Bereta

Zastosowanie optymalizacji rojem cząstek (PSO) w procesie uczenia wielowarstwowej sieci neuronowej w problemie lokalizacyjnym

WYKORZYSTANIE SIECI NEURONOWEJ DO BADANIA WPŁYWU WYDOBYCIA NA SEJSMICZNOŚĆ W KOPALNIACH WĘGLA KAMIENNEGO. Stanisław Kowalik (Poland, Gliwice)

Sieci neuronowe jako sposób na optymalizacje podejmowanych decyzji. Tomasz Karczyoski Wydział W-08 IZ

Uczenie ze wzmocnieniem aplikacje

Cyfrowe przetwarzanie obrazów i sygnałów Wykład 8 AiR III

S O M SELF-ORGANIZING MAPS. Przemysław Szczepańczyk Łukasz Myszor

METODY INŻYNIERII WIEDZY KNOWLEDGE ENGINEERING AND DATA MINING

Wstęp do sieci neuronowych, wykład 07 Uczenie nienadzorowane.

Uczenie ze wzmocnieniem aplikacje

Machine learning Lecture 5

Kurs Chemometrii Poznań 28 listopad 2006

4.1. Wprowadzenie Podstawowe definicje Algorytm określania wartości parametrów w regresji logistycznej...74

Sieci neuronowe - projekt

Transkrypt:

Dariusz Brzeziński Instytut Informatyki, Politechnika Poznańska

Czym jest znaczenie Reprezentacja wektorowa Ograniczenia modelu BOW Słowa w kontekście Redukcja wymiarów Word2vec GloVe Materiały sporządzone częściowo na podstawie wykładów Richarda Sochera Reprezentacja wektorowa słów 2

Znaczenie (Słownik Języka Polskiego, PWN): 1. «myśl zawarta w czyjejś wypowiedzi, zachowaniu itp.» 2. «wartość, ważność czegoś» 3. «treść, której znakiem jest wyraz lub wyrażenie» Jak reprezentować znaczenie? Użyć taksonomii takiej jak np. słowosieć Dobra reprezentacja hiperonimów i synonimów Przykłady: dobry, uzdolniony, guru Reprezentacja wektorowa słów 3

Świetny zasób, ale nie bierze pod uwagę kontekstu Brakuje języka potocznego i nowych słów kozak, geek, nerd, mistrz, pro Znaczenie jest subiektywne Pielęgnacja słowosieci wymaga ludzkiej pracy Ciężko dokładnie obliczyć podobieństwo słów Reprezentacja wektorowa słów 4

Większość metod przetwarzania tekstu pracuje na reprezentacji Bag Of Words (BOW) Jest to reprezentacja wektorowa, w której każde słowo ma swoją pozycję (ang. one-hot-encoding) Wektory mogą mieć: od 20 tys. pozycji (mowa) [0 0 0 0 0 0 0 0 0 0 1 0 0 0 0] do 13 mln. pozycji (Google 1T) Problem: motel [0 0 0 0 0 0 0 0 0 0 1 0 0 0 0] & hotel [0 0 0 0 0 0 0 1 0 0 0 0 0 0 0] = 0 Reprezentacja wektorowa słów 5

Reprezentacja słów za pomocą ich sąsiadów i nasiona kawowca to właśnie kawa którą parzymy i tak chętnie pijemy ziaren tego gatunku powstaje łagodniejsza kawa o znacznie niższym poziomie goryczki Te słowa reprezentują termin kawa Wyłapuje zależności składniowe i znaczeniowe Jak to zakodować? Za pomocą macierzy współwystępowania słów Dwie opcje: dokument jako kontekst -> ~ topic modeling Okno wokół słowa jako kontekst -> ~ skip-gram model Reprezentacja wektorowa słów 6

Okno o rozmiarze 1 (popularniejsze: 5-10) Macierz symetryczna (słowo po lewej lub po prawej) Podobieństwo słów za pomocą miary kosinusowej Korpus: Ja lubię eksplorację danych. Ja lubię pływać. Ja uwielbiam spać. Reprezentacja wektorowa słów 7

Korpus: Ja lubię eksplorację danych. Ja lubię pływać. Ja uwielbiam spać. Ja lubię eksplorację danych pływać uwielbiam spać. Ja 0 2 0 0 0 1 0 0 lubię 2 0 1 0 1 0 0 0 eksplorację 0 1 0 1 0 0 0 0 danych 0 0 1 0 0 0 0 1 pływać 0 1 0 0 0 0 0 1 uwielbiam 1 0 0 0 0 0 1 0 spać 0 0 0 0 0 1 0 1. 0 0 0 1 1 0 1 0 Reprezentacja wektorowa słów 8

Rosną wraz z rozmiarem słownika Wymagają dużo pamięci Problem rzadkości danych (ang. sparsity problem) Problemy z przenoszeniem wiedzy między domenami Rozwiązanie: Word embeddings Ograniczyć liczbę wymiarów (np. za pomocą SVD) Reprezentacja wektorowa słów 9

An Improved Model of Seman4c Similarity Based on Lexical Co-Occurrence, Rohde et al., 2005 Reprezentacja wektorowa słów 10

An Improved Model of Seman4c Similarity Based on Lexical Co-Occurrence, Rohde et al., 2005 Reprezentacja wektorowa słów 11

An Improved Model of Seman4c Similarity Based on Lexical Co-Occurrence, Rohde et al., 2005 Reprezentacja wektorowa słów 12

SVD jest kosztowne obliczeniowo: O(mn 2 ) Nie da się tego zrównoleglić Nie da się w prosty sposób wprowadzić nowych słów czy dokumentów Słabe rozwiązanie przy milionach słów lub dokumentów Reprezentacja wektorowa słów 13

Inny algorytm tworzący word embedding Idea: naucz klasyfikator przewidywać otoczenie słów Sieć neuronowa (ale nie uczenie głębokie!) Zaproponowane przez Tomasa Mikolova (Google) Reprezentacja wektorowa słów 14

Sztuczny neuron: specyficzny przetwornik sygnału Składowe wejścia neuronu x wraz z wagami w sygnał wyjściowy y pobudzenie e jako suma ważona wejść pomniejszona o próg funkcja aktywacji Reprezentacja wektorowa słów 15

Neurony są łączone w sieci, z reguły wielowarstwowe Sieci neuronów potrafią realizować bardzo złożone obliczenia (trochę jak łączenie bramek logicznych) Uczenie odbywa się zwykle poprzez optymalizację wag neuronów po określeniu błędu na przykładzie uczącym Reprezentacja wektorowa słów 16

Sieć optymalizująca dla otoczenia m słów w funkcję J θ = 1 T T t=1 ) m jm,j 0 log p(w t+j w t Dwie architektury: CBOW (Continuous Bag Of Words), przewiduje brakujące słowo na podstawie okna słów kontekstowych Skip-gram, przewiduje kontekst słowa Reprezentacja wektorowa słów 17

Xin Rong, "word2vec Parameter Learning Explained."arXiv preprint arxiv:1411.2738, 2014 Reprezentacja wektorowa słów 18

Xin Rong, "word2vec Parameter Learning Explained."arXiv preprint arxiv:1411.2738, 2014 Reprezentacja wektorowa słów 19

Skalowalne rozwiązanie Działa dla miliardów słów Można ograniczyć czas działania Można rozproszyć obliczenia Uczenie przyrostowe Reprezentacja wektorowa na jednym zbiorze może z powodzeniem być wykorzystana do innych zbiorów Google wraz z opublikowaniem algorytmu udostępnił model nauczony na 100 miliardach artykułów prasowych Reprezentacja wektorowa słów 20

Słynny przykład: vector(king) vector(man) + vector(woman) = vector(queen) Ogólniej: A jest dla B tym czym C jest dla? Reprezentacja wektorowa słów 21

Model w naturalny sposób koduje relacje między pojęciami Mikolov, et al., More on Skip-gram, negative sampling, hierarchical softmax, and dealing with phrases Reprezentacja wektorowa słów 22

Uzupełnianie zdań Znajdowanie niepasujących słów Tłumaczenie tekstów Wykrywanie synonimów Kategoryzacja słów Wykrywanie kolokacji Reprezentacja wektorowa słów 23

Po word2vec pojawiły się prace analizujące jaka miara podobieństwa odpowiada funkcji realizowanej przez tę sieć Jedno z podejść uogólnia problem rozdzielając słowa od kontekstu (kontekst nie musi być tekstem) Levy and Goldberg (2014), Dependency Based Word Embeddings Inne podejście (GloVe) wyszło od zdefiniowania cech jakie miara podobieństwa słów powinna realizować. W efekcie GloVe: realizuje tę samą funkcję co word2vec potrafi uogólnić kontekst od słów Szybsze uczenie bo opiera się na zliczaniu Pennington, et al. (2014). GloVe: Global Vectors for Word Representation Reprezentacja wektorowa słów 24

Gensim https://radimrehurek.com/gensim/ Google word2vec: https://code.google.com/archive/p/word2vec/ Stanford GloVe: http://nlp.stanford.edu/projects/glove/ Ciekawy tutorial: Porównanie wielu reprezentacji kodujących słowa w gensim Reprezentacja wektorowa słów 25

SVD Semantic Similarity: Rhode, Douglas L. T.; et al. (2006). "An Improved Model of Semantic Similarity Based on Lexical Co-Occurence". Communications of the ACM, 8: 627-633. word2vec: Mikolov, Tomas; et al. (2013). "Distributed Representations of Words and Phrases and their Compositionality", Proc. NIPS 2013, pp. 3111-3119. GloVe: Pennington, Jeffrey; et al. (2014). "GloVe: Global Vectors for Word Representation", Proc. EMNLP 2014, pp. 1532-1543. Reprezentacja wektorowa słów 26

1. Pobierz dane i notatnik ze strony prowadzącego 2. Pobrane pliki rozpakuj do folderu 3. Otwórz nowy projekt PyCharma w tym folderze 4. Otwórz terminal i wpisz jupyter notebook 5. Uruchom notatnik i wykonuj po kolei zadania Reprezentacja wektorowa słów 27