Денис Дусь
dzianisdus@gmail.com
Data Scientist at InData Labs
1
2
1. Понятие об обработке естественных языков
2. Words Embeddings
3. Вероятностные основы Word2Vec
4. Свойства пространства векторов
5. …
6. Проблема многозначных слов
7. Моделирование векторов фраз / предложений /
документов
8. Recursive Neural Networks
9. Recurrent Neural Networks
3
The quick brown fox jumps over the lazy dog
предсказываются
контекстные слова
предсказываются
контекстные слова
4
5
Наземный
Родственники
Дни недели
Страны мира
Животные
Месяцы года
Глаголы
Воздушный
Транспорт
6
1. Построить word2vec вектора по обучающему корпусу
2. Выбрать ширину k окна контекста
3. Для каждого слова v в корпусе
a) Построить все вектора контекстов, в которых оно встречается:
… and I really like Apple iPad! Amazing …
… than conventional filtered apple juice, depending on …
b) Кластеризовать все контексты с
c) Заменить все вхождения слова v на v_k согласно кластеризации:
… and I really like Apple_1 iPad! Amazing …
… than conventional filtered apple_2 juice, depending on …
4. На переразмеченном корпусе обучить новые вектора для
значений слов
7
Sergey Bartunov, Dmitry Kondrashkin, Anton Osokin, Dmitry Vetrov
“Breaking sticks and ambiguities with adaptive Skip-Gram”
Adaptive Skip-Gram:
Skip-Gram:
Вероятность того, что
слово xi употреблено
в смысле zi
Вероятность контекстного
слова yij, при условии, что xi
употреблено в смысле zi
8
Априорная вероятность k-го
значения слова w
(stick-breaking representation
of Dirichlet Process)
Вероятность контекста yi
для слова xi
Контекстные слова
полагаются независимыми
9
10
• Оригинальная статья:
https://arxiv.org/abs/1502.07257
• Выступление одного из авторов (Дмитрия Ветрова):
https://www.youtube.com/watch?v=vYbee1InliU
• Introduction to the Dirichlet Distribution and Related Processes:
https://www.ee.washington.edu/techsite/papers/refer/UWEETR-2010-0006.html
Для векторизации более крупных текстовых объектов используют:
1. Объединение через разделитель (“_”)
2. Взвешенное суммирование векторов предложения / документа
3. Doc2Vec
4. RNN^2
5. …
11
1. IDF-взвешенная сумма
2. TF-IDF сумма K ключевых слов документа
12
13
CBOW
Три слова из контекста используются
чтобы предсказать четвертое.
Doc2Vec
Три слова из контекста используются
чтобы предсказать четвертое. Для
каждого документа коллекции
заводится свой вектор документа. В
процессе обучения вектор документа
конкатенируется с векторами слов.
Quoc V. Le, Tomas Mikolov,
Distributed Representations of Sentences and Documents
14
Quoc V. Le, Tomas Mikolov,
Distributed Representations of Sentences and Documents
Фаза обучения:
получение матриц векторов W, W’ и матрицы документов D
Фаза предсказания:
1. Случайно инициализированные вектора, соответствующие
новым документам, добавляются к матрице D из (1)
2. Матрицы W, W’ фиксируются и осуществляется градиентный
спуск только по параметрам из D
“On average, our implementation takes 30 minutes to compute
the paragraph vectors of the IMDB test set, using a 16 core
machine (25,000 documents, each document on average has
230 words).”
https://radimrehurek.com/gensim/models/doc2vec.html
15
RNN2 =
Recursive Neural Network +
Recurrent Neural Network
16
Part of speech tagging:
 NN = singular noun (man, dog, …)
 NNS = plural noun (houses, buildings, …)
 NNP = proper noun (IBM, John, …)
 DT = determiner (a, the, some, …)
 JJ = adjective (red, plastic, …)
 IN = preposition (of, in, ..)
 VI = intransitive verb (sleeps, laughs, …)
 VT = transitive verb (saw, likes, …)
 …
17
NP (Noun Phrase) -> DT N
N -> JJ N
N -> NN N
N -> NN
…
PP (Prepositional Phrase) -> IN NP
N -> N PP
…
VP (Verb Phrase) -> VI
VP -> Vt NP
VP -> VP PP
…
S (Sentence) -> NP VP
…
18
19
20
21
22
https://github.com/spacy-io/spaCy
https://spacy.io/docs
23
c1 c2
p
Матрица W, константа b
остаются неизменными
при комбинировании
векторов любых двух
вершин
24
25
26
Richard Socher, Brody Huval, Christopher D. Manning, Andrew Y. Ng.
Semantic Compositionality through Recursive Matrix-Vector Spaces
27
Richard Socher, Brody Huval, Christopher D. Manning, Andrew Y. Ng.
Semantic Compositionality through Recursive Matrix-Vector Spaces
28
1. xt – вход в момент времени t
2. st – скрытое состояние сети в момент времени t
3. st вычисляется на основе текущего входа и st-1 :
4. ot – выход в момент времени t, например softmax(Vst)
29
http://yanran.li/peppypapers/2015/11/28/improving-information-flow-in-recurrent-networks.html
На практике это работает плохо:
1. Вектор внутреннего состояния (памяти) значительно
изменяется при каждом t
2. Vanishing gradient problem
3. Exploding gradient problem
30
31
https://www.udacity.com/course/deep-learning--ud730
Gate (ключ)
32
http://colah.github.io/posts/2015-08-Understanding-LSTMs/
LSTM gates:
1. Forget gate
2. Input gate
3. Output gate
33
http://colah.github.io/posts/2015-08-Understanding-LSTMs/
34
http://colah.github.io/posts/2015-08-Understanding-LSTMs/
35
http://colah.github.io/posts/2015-08-Understanding-LSTMs/
36
http://colah.github.io/posts/2015-08-Understanding-LSTMs/
37
http://colah.github.io/posts/2015-08-Understanding-LSTMs/
38
Rafal Jozefowicz, Wojciech Zaremba, Ilya Sutskever
An Empirical Exploration of Recurrent Network Architectures
1. Arithmetic
3369-13994433= -13991064
3e36d9-h1h39f94eeh43keg3c= -13991064
2. XML Modeling
<pegshmnaj>
<zbhbmg>
</zbhbmg>
</pegshmnaj>
<autmh>
</autmh>
3. Penn Tree-Bank
Задача лингвистического моделирования
4. MUT1, MUT2, MUT3 – архитектуры,
полученные в ходе “жадного поиска”
39
Tomas Mikolov and etc.
Learning Longer Memory in Recurrent Neural Networks
40
41
1. Затронули проблему многозначных слов
2. Изящное решение - Adaptive Skip-Gram
3. Неизящное решение – множество
кластеризаций
4. Кратко рассмотрели моделирование более
крупных текстовых объектов: Doc2Vec, RNN^2
42
43

word2vec (часть 2)

  • 1.
  • 2.
    2 1. Понятие обобработке естественных языков 2. Words Embeddings 3. Вероятностные основы Word2Vec 4. Свойства пространства векторов 5. … 6. Проблема многозначных слов 7. Моделирование векторов фраз / предложений / документов 8. Recursive Neural Networks 9. Recurrent Neural Networks
  • 3.
    3 The quick brownfox jumps over the lazy dog предсказываются контекстные слова предсказываются контекстные слова
  • 4.
  • 5.
  • 6.
  • 7.
    1. Построить word2vecвектора по обучающему корпусу 2. Выбрать ширину k окна контекста 3. Для каждого слова v в корпусе a) Построить все вектора контекстов, в которых оно встречается: … and I really like Apple iPad! Amazing … … than conventional filtered apple juice, depending on … b) Кластеризовать все контексты с c) Заменить все вхождения слова v на v_k согласно кластеризации: … and I really like Apple_1 iPad! Amazing … … than conventional filtered apple_2 juice, depending on … 4. На переразмеченном корпусе обучить новые вектора для значений слов 7
  • 8.
    Sergey Bartunov, DmitryKondrashkin, Anton Osokin, Dmitry Vetrov “Breaking sticks and ambiguities with adaptive Skip-Gram” Adaptive Skip-Gram: Skip-Gram: Вероятность того, что слово xi употреблено в смысле zi Вероятность контекстного слова yij, при условии, что xi употреблено в смысле zi 8 Априорная вероятность k-го значения слова w (stick-breaking representation of Dirichlet Process) Вероятность контекста yi для слова xi Контекстные слова полагаются независимыми
  • 9.
  • 10.
    10 • Оригинальная статья: https://arxiv.org/abs/1502.07257 •Выступление одного из авторов (Дмитрия Ветрова): https://www.youtube.com/watch?v=vYbee1InliU • Introduction to the Dirichlet Distribution and Related Processes: https://www.ee.washington.edu/techsite/papers/refer/UWEETR-2010-0006.html
  • 11.
    Для векторизации болеекрупных текстовых объектов используют: 1. Объединение через разделитель (“_”) 2. Взвешенное суммирование векторов предложения / документа 3. Doc2Vec 4. RNN^2 5. … 11
  • 12.
    1. IDF-взвешенная сумма 2.TF-IDF сумма K ключевых слов документа 12
  • 13.
    13 CBOW Три слова изконтекста используются чтобы предсказать четвертое. Doc2Vec Три слова из контекста используются чтобы предсказать четвертое. Для каждого документа коллекции заводится свой вектор документа. В процессе обучения вектор документа конкатенируется с векторами слов. Quoc V. Le, Tomas Mikolov, Distributed Representations of Sentences and Documents
  • 14.
    14 Quoc V. Le,Tomas Mikolov, Distributed Representations of Sentences and Documents
  • 15.
    Фаза обучения: получение матрицвекторов W, W’ и матрицы документов D Фаза предсказания: 1. Случайно инициализированные вектора, соответствующие новым документам, добавляются к матрице D из (1) 2. Матрицы W, W’ фиксируются и осуществляется градиентный спуск только по параметрам из D “On average, our implementation takes 30 minutes to compute the paragraph vectors of the IMDB test set, using a 16 core machine (25,000 documents, each document on average has 230 words).” https://radimrehurek.com/gensim/models/doc2vec.html 15
  • 16.
    RNN2 = Recursive NeuralNetwork + Recurrent Neural Network 16
  • 17.
    Part of speechtagging:  NN = singular noun (man, dog, …)  NNS = plural noun (houses, buildings, …)  NNP = proper noun (IBM, John, …)  DT = determiner (a, the, some, …)  JJ = adjective (red, plastic, …)  IN = preposition (of, in, ..)  VI = intransitive verb (sleeps, laughs, …)  VT = transitive verb (saw, likes, …)  … 17
  • 18.
    NP (Noun Phrase)-> DT N N -> JJ N N -> NN N N -> NN … PP (Prepositional Phrase) -> IN NP N -> N PP … VP (Verb Phrase) -> VI VP -> Vt NP VP -> VP PP … S (Sentence) -> NP VP … 18
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
    23 c1 c2 p Матрица W,константа b остаются неизменными при комбинировании векторов любых двух вершин
  • 24.
  • 25.
  • 26.
    26 Richard Socher, BrodyHuval, Christopher D. Manning, Andrew Y. Ng. Semantic Compositionality through Recursive Matrix-Vector Spaces
  • 27.
    27 Richard Socher, BrodyHuval, Christopher D. Manning, Andrew Y. Ng. Semantic Compositionality through Recursive Matrix-Vector Spaces
  • 28.
    28 1. xt –вход в момент времени t 2. st – скрытое состояние сети в момент времени t 3. st вычисляется на основе текущего входа и st-1 : 4. ot – выход в момент времени t, например softmax(Vst)
  • 29.
  • 30.
    На практике этоработает плохо: 1. Вектор внутреннего состояния (памяти) значительно изменяется при каждом t 2. Vanishing gradient problem 3. Exploding gradient problem 30
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
    38 Rafal Jozefowicz, WojciechZaremba, Ilya Sutskever An Empirical Exploration of Recurrent Network Architectures 1. Arithmetic 3369-13994433= -13991064 3e36d9-h1h39f94eeh43keg3c= -13991064 2. XML Modeling <pegshmnaj> <zbhbmg> </zbhbmg> </pegshmnaj> <autmh> </autmh> 3. Penn Tree-Bank Задача лингвистического моделирования 4. MUT1, MUT2, MUT3 – архитектуры, полученные в ходе “жадного поиска”
  • 39.
    39 Tomas Mikolov andetc. Learning Longer Memory in Recurrent Neural Networks
  • 40.
  • 41.
  • 42.
    1. Затронули проблемумногозначных слов 2. Изящное решение - Adaptive Skip-Gram 3. Неизящное решение – множество кластеризаций 4. Кратко рассмотрели моделирование более крупных текстовых объектов: Doc2Vec, RNN^2 42
  • 43.