word2vec (часть 2)

Preview:

Citation preview

Денис Дусь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 representationof 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 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

19

20

21

23

c1 c2

p

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

вершин

24

25

28

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

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

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

2. Vanishing gradient problem

3. Exploding gradient problem

30

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 – архитектуры,полученные в ходе “жадного поиска”

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