43
Денис Дусь [email protected] Data Scientist at InData Labs 1

word2vec (часть 2)

Embed Size (px)

Citation preview

Page 1: word2vec (часть 2)

Денис Дусь[email protected]

Data Scientist at InData Labs

1

Page 2: word2vec (часть 2)

2

1. Понятие об обработке естественных языков

2. Words Embeddings

3. Вероятностные основы Word2Vec

4. Свойства пространства векторов

5. …

6. Проблема многозначных слов

7. Моделирование векторов фраз / предложений / документов

8. Recursive Neural Networks

9. Recurrent Neural Networks

Page 3: word2vec (часть 2)

3

The quick brown fox jumps over the lazy dog

предсказываютсяконтекстные слова

предсказываютсяконтекстные слова

Page 4: word2vec (часть 2)

4

Page 5: word2vec (часть 2)

5

Page 6: word2vec (часть 2)

Наземный

Родственники

Дни недели

Страны мира

Животные

Месяцы года

Глаголы

Воздушный

Транспорт

6

Page 7: word2vec (часть 2)

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

Page 8: word2vec (часть 2)

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 representationof Dirichlet Process)

Вероятность контекста yi

для слова xi

Контекстные словаполагаются независимыми

Page 9: word2vec (часть 2)

9

Page 10: word2vec (часть 2)

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

Page 11: word2vec (часть 2)

Для векторизации более крупных текстовых объектов используют:

1. Объединение через разделитель (“_”)

2. Взвешенное суммирование векторов предложения / документа

3. Doc2Vec

4. RNN^2

5. …

11

Page 12: word2vec (часть 2)

1. IDF-взвешенная сумма

2. TF-IDF сумма K ключевых слов документа

12

Page 13: word2vec (часть 2)

13

CBOWТри слова из контекста используются

чтобы предсказать четвертое.

Doc2VecТри слова из контекста используются

чтобы предсказать четвертое. Для каждого документа коллекции

заводится свой вектор документа. В процессе обучения вектор документа конкатенируется с векторами слов.

Quoc V. Le, Tomas Mikolov,Distributed Representations of Sentences and Documents

Page 14: word2vec (часть 2)

14

Quoc V. Le, Tomas Mikolov,Distributed Representations of Sentences and Documents

Page 15: word2vec (часть 2)

Фаза обучения:

получение матриц векторов 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

Page 16: word2vec (часть 2)

RNN2 =

Recursive Neural Network +

Recurrent Neural Network

16

Page 17: word2vec (часть 2)

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

Page 18: word2vec (часть 2)

NP (Noun Phrase) -> DT NN -> JJ N

N -> NN NN -> NN

…PP (Prepositional Phrase) -> IN NP

N -> N PP…

VP (Verb Phrase) -> VIVP -> Vt NPVP -> VP PP

…S (Sentence) -> NP VP

18

Page 19: word2vec (часть 2)

19

Page 20: word2vec (часть 2)

20

Page 21: word2vec (часть 2)

21

Page 23: word2vec (часть 2)

23

c1 c2

p

Матрица W, константа b остаются неизменнымипри комбинированиивекторов любых двух

вершин

Page 24: word2vec (часть 2)

24

Page 25: word2vec (часть 2)

25

Page 28: word2vec (часть 2)

28

1. xt – вход в момент времени t2. st – скрытое состояние сети в момент времени t3. st вычисляется на основе текущего входа и st-1 :4. ot – выход в момент времени t, например softmax(Vst)

Page 30: word2vec (часть 2)

На практике это работает плохо:

1. Вектор внутреннего состояния (памяти) значительно изменяется при каждом t

2. Vanishing gradient problem

3. Exploding gradient problem

30

Page 38: word2vec (часть 2)

38

Rafal Jozefowicz, Wojciech Zaremba, Ilya SutskeverAn Empirical Exploration of Recurrent Network Architectures

1. Arithmetic3369-13994433= -139910643e36d9-h1h39f94eeh43keg3c= -13991064

2. XML Modeling<pegshmnaj>

<zbhbmg></zbhbmg>

</pegshmnaj><autmh></autmh>

3. Penn Tree-BankЗадача лингвистического моделирования

4. MUT1, MUT2, MUT3 – архитектуры,полученные в ходе “жадного поиска”

Page 39: word2vec (часть 2)

39

Tomas Mikolov and etc.Learning Longer Memory in Recurrent Neural Networks

Page 40: word2vec (часть 2)

40

Page 41: word2vec (часть 2)

41

Page 42: word2vec (часть 2)

1. Затронули проблему многозначных слов

2. Изящное решение - Adaptive Skip-Gram

3. Неизящное решение – множество кластеризаций

4. Кратко рассмотрели моделирование более крупных текстовых объектов: Doc2Vec, RNN^2

42

Page 43: word2vec (часть 2)

43