SlideShare a Scribd company logo
Денис Дусь
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

More Related Content

Viewers also liked

Viewers also liked (20)

Using spark 1.2 with Java 8 and Cassandra
Using spark 1.2 with Java 8 and CassandraUsing spark 1.2 with Java 8 and Cassandra
Using spark 1.2 with Java 8 and Cassandra
 
Semantic evaluation on Dialog 2015
Semantic evaluation on Dialog 2015Semantic evaluation on Dialog 2015
Semantic evaluation on Dialog 2015
 
Word2vec для поискового движка II
Word2vec для поискового движка IIWord2vec для поискового движка II
Word2vec для поискового движка II
 
Андрей Кутузов, Mail.Ru Group. Нейронные языковые модели и задача определения...
Андрей Кутузов, Mail.Ru Group. Нейронные языковые модели и задача определения...Андрей Кутузов, Mail.Ru Group. Нейронные языковые модели и задача определения...
Андрей Кутузов, Mail.Ru Group. Нейронные языковые модели и задача определения...
 
Word2vec для поискового движка
Word2vec для поискового движкаWord2vec для поискового движка
Word2vec для поискового движка
 
Learning by Analogy
Learning by AnalogyLearning by Analogy
Learning by Analogy
 
Классификация текстовых документов на естественных языках
Классификация текстовых документов на естественных языкахКлассификация текстовых документов на естественных языках
Классификация текстовых документов на естественных языках
 
Word2vec slide(lab seminar)
Word2vec slide(lab seminar)Word2vec slide(lab seminar)
Word2vec slide(lab seminar)
 
Перефразировщик текста
Перефразировщик текстаПерефразировщик текста
Перефразировщик текста
 
LEARNING BY ANALOGY IN A HYBRID ONTOLOGICAL NETWORK
LEARNING BY ANALOGY IN A HYBRID ONTOLOGICAL NETWORKLEARNING BY ANALOGY IN A HYBRID ONTOLOGICAL NETWORK
LEARNING BY ANALOGY IN A HYBRID ONTOLOGICAL NETWORK
 
ПОСТРОЕНИЕ ОТНОШЕНИЙ В СМЕШАННОЙ ОНТОЛОГИЧЕСКОЙ СЕТИ ДЛЯ РЕШЕНИЯ ЗАДАЧ ТЕСТИР...
ПОСТРОЕНИЕ ОТНОШЕНИЙ В СМЕШАННОЙ ОНТОЛОГИЧЕСКОЙ СЕТИ ДЛЯ РЕШЕНИЯ ЗАДАЧ ТЕСТИР...ПОСТРОЕНИЕ ОТНОШЕНИЙ В СМЕШАННОЙ ОНТОЛОГИЧЕСКОЙ СЕТИ ДЛЯ РЕШЕНИЯ ЗАДАЧ ТЕСТИР...
ПОСТРОЕНИЕ ОТНОШЕНИЙ В СМЕШАННОЙ ОНТОЛОГИЧЕСКОЙ СЕТИ ДЛЯ РЕШЕНИЯ ЗАДАЧ ТЕСТИР...
 
Классификация поисковых запросов
Классификация поисковых запросовКлассификация поисковых запросов
Классификация поисковых запросов
 
Технологический стек классификации текстов на естественных языках
Технологический стек классификации текстов на естественных языкахТехнологический стек классификации текстов на естественных языках
Технологический стек классификации текстов на естественных языках
 
Конкурс Родная речь 2014
Конкурс Родная речь 2014Конкурс Родная речь 2014
Конкурс Родная речь 2014
 
Концепция поисковых расширений
Концепция поисковых расширенийКонцепция поисковых расширений
Концепция поисковых расширений
 
Drawing word2vec
Drawing word2vecDrawing word2vec
Drawing word2vec
 
Word2Vec: Learning of word representations in a vector space - Di Mitri & Her...
Word2Vec: Learning of word representations in a vector space - Di Mitri & Her...Word2Vec: Learning of word representations in a vector space - Di Mitri & Her...
Word2Vec: Learning of word representations in a vector space - Di Mitri & Her...
 
word2vec - From theory to practice
word2vec - From theory to practiceword2vec - From theory to practice
word2vec - From theory to practice
 
Representation Learning of Vectors of Words and Phrases
Representation Learning of Vectors of Words and PhrasesRepresentation Learning of Vectors of Words and Phrases
Representation Learning of Vectors of Words and Phrases
 
Word2vec algorithm
Word2vec algorithmWord2vec algorithm
Word2vec algorithm
 

Similar to word2vec (часть 2)

ФГУП НИИР - Cloud
ФГУП НИИР - CloudФГУП НИИР - Cloud
ФГУП НИИР - Cloud
ifedorus
 
2004 Дипломный проект студентки Балашовой В.Д. на тему: «Обработка изображени...
2004 Дипломный проект студентки Балашовой В.Д. на тему: «Обработка изображени...2004 Дипломный проект студентки Балашовой В.Д. на тему: «Обработка изображени...
2004 Дипломный проект студентки Балашовой В.Д. на тему: «Обработка изображени...
RF-Lab
 

Similar to word2vec (часть 2) (10)

L5: Л5 Байесовские алгоритмы
L5: Л5 Байесовские алгоритмыL5: Л5 Байесовские алгоритмы
L5: Л5 Байесовские алгоритмы
 
9 ср1
9 ср19 ср1
9 ср1
 
Лекция №5 "Обработка текстов, Naive Bayes"
Лекция №5 "Обработка текстов, Naive Bayes" Лекция №5 "Обработка текстов, Naive Bayes"
Лекция №5 "Обработка текстов, Naive Bayes"
 
Нейролингвистический анализатор для распознавания голосовых данных на основе ИНН
Нейролингвистический анализатор для распознавания голосовых данных на основе ИНННейролингвистический анализатор для распознавания голосовых данных на основе ИНН
Нейролингвистический анализатор для распознавания голосовых данных на основе ИНН
 
ФГУП НИИР - Cloud
ФГУП НИИР - CloudФГУП НИИР - Cloud
ФГУП НИИР - Cloud
 
TMPA-2013 Kompan and Bui: OOP Class Diagrams
TMPA-2013 Kompan and Bui: OOP Class DiagramsTMPA-2013 Kompan and Bui: OOP Class Diagrams
TMPA-2013 Kompan and Bui: OOP Class Diagrams
 
Convert this: peculiarities of cross-platform mobile game development at Vizor
Convert this: peculiarities of cross-platform mobile game development at VizorConvert this: peculiarities of cross-platform mobile game development at Vizor
Convert this: peculiarities of cross-platform mobile game development at Vizor
 
2004 Дипломный проект студентки Балашовой В.Д. на тему: «Обработка изображени...
2004 Дипломный проект студентки Балашовой В.Д. на тему: «Обработка изображени...2004 Дипломный проект студентки Балашовой В.Д. на тему: «Обработка изображени...
2004 Дипломный проект студентки Балашовой В.Д. на тему: «Обработка изображени...
 
Семинар 5. Многопоточное программирование на OpenMP (часть 5)
Семинар 5. Многопоточное программирование на OpenMP (часть 5)Семинар 5. Многопоточное программирование на OpenMP (часть 5)
Семинар 5. Многопоточное программирование на OpenMP (часть 5)
 
О.В.Сухорослов "Многопотчное программирование. Часть 2"
О.В.Сухорослов "Многопотчное программирование. Часть 2"О.В.Сухорослов "Многопотчное программирование. Часть 2"
О.В.Сухорослов "Многопотчное программирование. Часть 2"
 

word2vec (часть 2)

  • 2. 2 1. Понятие об обработке естественных языков 2. Words Embeddings 3. Вероятностные основы Word2Vec 4. Свойства пространства векторов 5. … 6. Проблема многозначных слов 7. Моделирование векторов фраз / предложений / документов 8. Recursive Neural Networks 9. Recurrent Neural Networks
  • 3. 3 The quick brown fox jumps over the lazy dog предсказываются контекстные слова предсказываются контекстные слова
  • 4. 4
  • 5. 5
  • 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, 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. 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 Neural Network + Recurrent Neural Network 16
  • 17. 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
  • 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. 19
  • 20. 20
  • 21. 21
  • 23. 23 c1 c2 p Матрица W, константа b остаются неизменными при комбинировании векторов любых двух вершин
  • 24. 24
  • 25. 25
  • 26. 26 Richard Socher, Brody Huval, Christopher D. Manning, Andrew Y. Ng. Semantic Compositionality through Recursive Matrix-Vector Spaces
  • 27. 27 Richard Socher, Brody Huval, 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)
  • 30. На практике это работает плохо: 1. Вектор внутреннего состояния (памяти) значительно изменяется при каждом t 2. Vanishing gradient problem 3. Exploding gradient problem 30
  • 38. 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. 39 Tomas Mikolov and etc. Learning Longer Memory in Recurrent Neural Networks
  • 40. 40
  • 41. 41
  • 42. 1. Затронули проблему многозначных слов 2. Изящное решение - Adaptive Skip-Gram 3. Неизящное решение – множество кластеризаций 4. Кратко рассмотрели моделирование более крупных текстовых объектов: Doc2Vec, RNN^2 42
  • 43. 43