Top Banner
Перевод с "плохого" английского на "хороший" How to correct errors and improve text
28

AI&BigData Lab 2016. Анатолий Востряков: Перевод с "плохого" английского на "хороший".

Jan 17, 2017

Download

Technology

GeeksLab
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: AI&BigData Lab 2016. Анатолий Востряков: Перевод с "плохого" английского на "хороший".

Перевод с "плохого" английского на "хороший"

How to correct errors and improve text

Page 2: AI&BigData Lab 2016. Анатолий Востряков: Перевод с "плохого" английского на "хороший".

Current methods of error correction

1. Constituency Parsing

Page 3: AI&BigData Lab 2016. Анатолий Востряков: Перевод с "плохого" английского на "хороший".

Current methods of error correction

2. Dependency Parsing

Page 4: AI&BigData Lab 2016. Анатолий Востряков: Перевод с "плохого" английского на "хороший".

Current methods of error correction

Mike showed Melissa how to use computer.

(“use”, “computer”) => 100,000

(“use”, “a”, “computer”) => 300,000

Mike showed Melissa how to use computer software.

3. Ngrams can be tricky

Page 5: AI&BigData Lab 2016. Анатолий Востряков: Перевод с "плохого" английского на "хороший".

4. Classical ML algorithms like SVM or Random Forest which are trained on several features:

- Ngrams- Syntactic Ngrams (dependency arcs)- POS-tags- Length of words- Count of synonyms- etc

Current methods of error correction

Page 6: AI&BigData Lab 2016. Анатолий Востряков: Перевод с "плохого" английского на "хороший".

Why Deep Learning?

Page 7: AI&BigData Lab 2016. Анатолий Востряков: Перевод с "плохого" английского на "хороший".

2. Possible to create generative models1. Possible to use a wider context preserving the order of words

Page 8: AI&BigData Lab 2016. Анатолий Востряков: Перевод с "плохого" английского на "хороший".

What we use in Deep Learning in NLP for words?

Page 9: AI&BigData Lab 2016. Анатолий Востряков: Перевод с "плохого" английского на "хороший".

1. The first try: one-hot encoding

Word vectors

Page 10: AI&BigData Lab 2016. Анатолий Востряков: Перевод с "плохого" английского на "хороший".

vec(king)−vec(man)+vec(woman) = vec(queen)

Word vectors: Word2vec or GloVe

Page 11: AI&BigData Lab 2016. Анатолий Востряков: Перевод с "плохого" английского на "хороший".

Embedding matrix:

Embedding layer

Indices of words in an embedding matrix

Page 12: AI&BigData Lab 2016. Анатолий Востряков: Перевод с "плохого" английского на "хороший".

ht=tanh(Whht−1+Wxxt),

RNN: vanilla RNN block

Page 13: AI&BigData Lab 2016. Анатолий Востряков: Перевод с "плохого" английского на "хороший".

http://colah.github.io/posts/2015-08-Understanding-LSTMs/

RNN: LSTM block

Hochreiter, Sepp and Schmidhuber, Ju ̈rgen, 1997

Page 14: AI&BigData Lab 2016. Анатолий Востряков: Перевод с "плохого" английского на "хороший".

RNN: GRU block

New RNN blocks:- Associative Long Short-Term Memory, 2016- Unitary evolution recurrent neural networks, 2015

Page 15: AI&BigData Lab 2016. Анатолий Востряков: Перевод с "плохого" английского на "хороший".

Multi-layer bidirectional LSTM

W1 W2 W3 …. Wn

f1 f2 f3 …. fn

W1 W2 W3 …. Wn

b1 b2 b3 …. bn

Output: yi = [fi; bi]

Page 16: AI&BigData Lab 2016. Анатолий Востряков: Перевод с "плохого" английского на "хороший".

Words below - vectors of English wordsWords above - one-hot vectors<go>, <end> - special vectors that mark the start and the end of the output sentence

http://arxiv.org/pdf/1409.3215v3.pdf

Loss =

Neural machine translation or sequence-to-sequence architecture

Page 17: AI&BigData Lab 2016. Анатолий Востряков: Перевод с "плохого" английского на "хороший".

Neural machine translation or sequence-to-sequence architecture

Encoder Decoder

Page 18: AI&BigData Lab 2016. Анатолий Востряков: Перевод с "плохого" английского на "хороший".

http://arxiv.org/pdf/1409.0473v6.pdfhttp://www.aclweb.org/anthology/D15-1166

A global context vector ct is then computed as the weighted average, according to at, over all the source states.

+ Attention

Page 19: AI&BigData Lab 2016. Анатолий Востряков: Перевод с "плохого" английского на "хороший".

What’s wrong with words?

Page 20: AI&BigData Lab 2016. Анатолий Востряков: Перевод с "плохого" английского на "хороший".

Character-level error correction with attention

http://arxiv.org/pdf/1603.09727.pdfThe best system in CoNLL-2014 Shared Task competition.

Page 21: AI&BigData Lab 2016. Анатолий Востряков: Перевод с "плохого" английского на "хороший".

Encoder

Page 22: AI&BigData Lab 2016. Анатолий Востряков: Перевод с "плохого" английского на "хороший".

Decoder

+ Attention

Output:

The weighted sum of the encoded hidden states at is then concatenated with d(M), and passed through another affine transform followed by a ReLU nonlinearity before the final softmax output layer.

where φ1 and φ2 represent feedforward affine transforms followed by a tanh nonlinearity

Page 23: AI&BigData Lab 2016. Анатолий Востряков: Перевод с "плохого" английского на "хороший".

Sentence-level grammatical error identification as sequence-to-sequence correction

http://arxiv.org/pdf/1604.04677.pdf

Page 24: AI&BigData Lab 2016. Анатолий Востряков: Перевод с "плохого" английского на "хороший".

Formulas for word/character level

Encoder with attention to get context vector cj: Decoder:

Page 25: AI&BigData Lab 2016. Анатолий Востряков: Перевод с "плохого" английского на "хороший".

The same architecture with character level

Page 26: AI&BigData Lab 2016. Анатолий Востряков: Перевод с "плохого" английского на "хороший".

CharCNN

Two separate CharCNNs for Encoder and Decoder:

Page 27: AI&BigData Lab 2016. Анатолий Востряков: Перевод с "плохого" английского на "хороший".

Highway network

,where f is ReLu; r = σ(Wrz+br); z - vector from CharCNN

Page 28: AI&BigData Lab 2016. Анатолий Востряков: Перевод с "плохого" английского на "хороший".

Thank you!

Design of slides: Elena Godina

My contacts:[email protected]

Anatoly Vostryakov at linkedin