Wstęp do przetwarzania języka naturalnego Wykład 13 Podsumowanie i spojrzenie w przyszłość Wojciech Czarnecki 22 stycznia 2014
Section 1
Zarys kursu Wyrażenia regularne
Zarys kursu Wyrażenia regularne Podstawowy processing tekstu, tokenizacja, stemming, lematyzacja
Zarys kursu Wyrażenia regularne Podstawowy processing tekstu, tokenizacja, stemming, lematyzacja Reprezentacja Bag of Words i Naive Bayes
Zarys kursu Wyrażenia regularne Podstawowy processing tekstu, tokenizacja, stemming, lematyzacja Reprezentacja Bag of Words i Naive Bayes Statystyczne modele języka, n-gramy
Zarys kursu Wyrażenia regularne Podstawowy processing tekstu, tokenizacja, stemming, lematyzacja Reprezentacja Bag of Words i Naive Bayes Statystyczne modele języka, n-gramy Tagowanie sekwencji (POS, NER)
Zarys kursu Wyrażenia regularne Podstawowy processing tekstu, tokenizacja, stemming, lematyzacja Reprezentacja Bag of Words i Naive Bayes Statystyczne modele języka, n-gramy Tagowanie sekwencji (POS, NER) Modele sekwencyjne: HMM, MEMM, CRF
Zarys kursu Wyrażenia regularne Podstawowy processing tekstu, tokenizacja, stemming, lematyzacja Reprezentacja Bag of Words i Naive Bayes Statystyczne modele języka, n-gramy Tagowanie sekwencji (POS, NER) Modele sekwencyjne: HMM, MEMM, CRF Różnice pomiędzy generatywnością a dyskryminatywnością
Zarys kursu Wyrażenia regularne Podstawowy processing tekstu, tokenizacja, stemming, lematyzacja Reprezentacja Bag of Words i Naive Bayes Statystyczne modele języka, n-gramy Tagowanie sekwencji (POS, NER) Modele sekwencyjne: HMM, MEMM, CRF Różnice pomiędzy generatywnością a dyskryminatywnością Skuteczne, liniowe modele dyskryminatywne: MaxEnt, SVM
Zarys kursu Wyrażenia regularne Podstawowy processing tekstu, tokenizacja, stemming, lematyzacja Reprezentacja Bag of Words i Naive Bayes Statystyczne modele języka, n-gramy Tagowanie sekwencji (POS, NER) Modele sekwencyjne: HMM, MEMM, CRF Różnice pomiędzy generatywnością a dyskryminatywnością Skuteczne, liniowe modele dyskryminatywne: MaxEnt, SVM Konceptualizacja dokumentów
Zarys kursu Wyrażenia regularne Podstawowy processing tekstu, tokenizacja, stemming, lematyzacja Reprezentacja Bag of Words i Naive Bayes Statystyczne modele języka, n-gramy Tagowanie sekwencji (POS, NER) Modele sekwencyjne: HMM, MEMM, CRF Różnice pomiędzy generatywnością a dyskryminatywnością Skuteczne, liniowe modele dyskryminatywne: MaxEnt, SVM Konceptualizacja dokumentów LSA, WordNet, algorytm Lesk
Zarys kursu Wyrażenia regularne Podstawowy processing tekstu, tokenizacja, stemming, lematyzacja Reprezentacja Bag of Words i Naive Bayes Statystyczne modele języka, n-gramy Tagowanie sekwencji (POS, NER) Modele sekwencyjne: HMM, MEMM, CRF Różnice pomiędzy generatywnością a dyskryminatywnością Skuteczne, liniowe modele dyskryminatywne: MaxEnt, SVM Konceptualizacja dokumentów LSA, WordNet, algorytm Lesk Wektoryzacja dokumentów, schematy SoW, BoW, TfIdf
Zarys kursu Wyrażenia regularne Podstawowy processing tekstu, tokenizacja, stemming, lematyzacja Reprezentacja Bag of Words i Naive Bayes Statystyczne modele języka, n-gramy Tagowanie sekwencji (POS, NER) Modele sekwencyjne: HMM, MEMM, CRF Różnice pomiędzy generatywnością a dyskryminatywnością Skuteczne, liniowe modele dyskryminatywne: MaxEnt, SVM Konceptualizacja dokumentów LSA, WordNet, algorytm Lesk Wektoryzacja dokumentów, schematy SoW, BoW, TfIdf Zaawansowane funkcje jądra, pozwalające na pracę z dokumentami
NLP Zaczęło się na Turingu
NLP I na nim się kończy
ogólna perspektywa Udało się rozwiązać niektóre problemy POS Sentiment analysis Dla części stworzono zadowalające rozwiązania Machine translation Speech recognition Ale wiele wciąż jest otwartych Language representation Language Understanding
dotąd Przez większość kursu, Państwa zadania można było podsumować w nastepujacy sposób: Zapoznać się z problemem Znaleźć dobre przekształcenie φ przenoszące dokumenty w bardziej zrozumiały dla komputera format Dobrać odpowiedni model i nauczyć go na dostepnych danych
dotąd Przez większość kursu, Państwa zadania można było podsumować w nastepujacy sposób: Zapoznać się z problemem Znaleźć dobre przekształcenie φ przenoszące dokumenty w bardziej zrozumiały dla komputera format Dobrać odpowiedni model i nauczyć go na dostepnych danych
Dobra reprezentacja danych Ten problem jest kluczowy w całym NLP i stanowi olbrzymią bolączkę. Mamy ogromne ilości informacji, a mimo to praca z nimi wymaga ręcznego dobierania często złożonych obiektów na chybił trafił. W dodatku jak tylko dostaniemy nowe zadanie stare podejście możemy wyrzucić do kosza (nie liczac jakieś podstawowej formy i naszego doświadczenia).
Co się teraz dzieje w NLP Google Microsoft Stanford
NLP dziś Większość obecnych rozwiązań ML działa dobrze ze względu na inżynieryjną pracą wielu ludzi (dobre zaprojektowanie cech). Cały proces uczenia to jedynie dobieranie wag do tych cech.
NLP dziś - słowo klucz Representation Learning
NLP dziś - representation learning Zamiast ograniczyć uczenie do etapu podjęcia decyzji, uczmy się również spojrzenia na problem. Spojrzenia na świat.tak jak ludzie. Gdy człowiek ma nauczyć się np. odróżniać pozytywne recenzje od negatywnych: Dostaje nieznany, tajemniczy zbiór symboli s i, oraz równie tajemnicze pojęcia Jo i No i ma zbudować sobie jak najlepszy zbiór zasad które z s i podejmuje decyzję o Jo i No? Uczy się przez wiele lat tego czym jest język, jak się nim posługiwać, czym są sentymenty, i bazując na tej bazowej wiedzy dostraja się do rozwiązywania konkretnego zadania.
NLP dziś - representation learning Dlaczego? Tworzenie reprezentacji jest bardzo czasochłonne (kosztowne) Dla każdego zadania trzeba cały proces powtarzać Zasady stworzone przez człowieka są bardzo wrażliwe na wszelkie zmiany, dynamikę języka i specyfikę konkretnych grup/problemów
NLP dziś - representation learning Zamiast atomicznej reprezentacji w psotaci Bag of Words, czy drzew parsingu - bardziej rozproszone, rozmyte reprezentacje. np. reprezentowanie słowa jako konceptu (tzn. Brown clustering, exchange clustering) Redukcja błędu (dependency parsing) o 15% Redukcja błędu (NER) o 23.7%
NLP dziś - representation learning Ogrom informacji dostepnych dla NLP to dane niepoetykietowane. O ile niektóre algorytmy potrafią je zaadoptować (HMM), o tyle w ogólności systemy NLP bazują w zasadzie wyłącznie na poetykietowanych danych.
NLP dziś - reprezentacja wielopoziomowa Kiedy przyjrzymy się temu jak uczy się człowiek, nie znajdziemy jednego, homogenicznego systemu uczenia, jednego obszaru mózgu pt. składnica wiedzy. Nasz proces uczenia jest wielopoziomowy. Budujemy reprezentację na wielu poziomach abstrakcji. Dla NLP, np.: Pojedyncze kleksy na papierze tworzą linie Linie tworzą znaki (litery) Litery (już jako abstrakcyjne obiekty) tworzą słowa Słowa tworzą zdania Zdania tworzą wypowiedzi Wypowiedzi przenoszą sens, informację, wiedzę, poglądy,...
deep representation
deep representation Idea Kompozycyjność Rekurencja Ta sama operacja aplikowana na coraz wyższych poziomach abstrakcji
deep representation
deep representation - Dlaczego teraz? Mamy o wiele potężniejsze komputery (Postęp technologiczny) Lepiej zrozumieliśmy naturę regularyzacji (Machine Learning Theory) Powstały nowe metody uczenia nienadzorowanego (przede wszystkim prace G.Hinton a 2006)
Typowa reprezentacja Set (Bag) of words representation φ(hotel) = [00000...01000] φ(motel) = [00100...00000] sim(φ(hotel), φ(motel)) = 0
Idea: kontekst Słowa są reprezentowane przez ich kontekst
Statystyczny model języka P(w) = P(w n w 1,..., w n 1 ) Dotąd: model ngramowy Obecnie: uczone modele
Statystyczny model języka Mając duży zbiór tekstu możemy zbudować model tego języka, zdolny do wymodelowania P(w) = P(w n w 1,..., w n 1 ) używając ustalonej liczby M stanów ukrytych podobna koncepcja do Ukrytych Modeli Markowa można wykorzystac tzw. rekurencyjne sieci neuronowe (ciekawostka: mają moc obliczeniową maszyny turinga)
Neuronowy model języka W szczególności: Neural Language Model ( Tomas Mikolov - 2010/2012 )
NLP dziś - słowo klucz Deep Learning
deep learning
deep learning Czym są pojedyncze elementy składowe? sieciami neuronowymi (perceptrony) ograniczonymi maszynami Boltzmanna Modelami Markowa
deep learning
deep learning
Co sie dzieje w Microsofcie http://www.youtube.com/watch?v=nu-nlqqfckg
Przyszłość? Deep learning jest wykorzystywany teraz w:
Przyszłość? Deep learning jest wykorzystywany teraz w: Google Translate Wyszukiwaniu głosowym androida Rozpoznawaniu obrazów wykorzystywanym w Google
Czy na pewno test Turinga to dobry test?
Co dalej? dr Igor Podolak - Sieci Neuronowe Podstawowe architektury neuronowe Podstawowe modele i uczenie nienadzorowane Deep learning
Dziękuję Liczę na szczere komentarze w systemie ankietowym USOS
Egzamin Termin: 4 lutego 2014, godz. 15:00 sala: 0094 Co można mieć ze sobą: długopis i głowę pełną wiedzy Forma egzaminu: Dwa proste zadania otwarte (obliczeniowe) 20 pytań testowych (wielokrotnego wyboru) +1/-1pkt 90 minut (acz można go napisac w połowie tego czasu) Ocena z przedmiotu to średnia (arytmetyczna) oceny z egzaminu i ćwiczeń Trzeba zaliczyć obie części (egzamin i ćwiczenia)