Trình bày về kỹ thuật attention trong mô hình sequence-to-sequence và ứng dụng trong các nghiên cứu NLP tại ACL 2017. Ngoài ra chúng tôi cũng tóm tắt một số các nghiên cứu thú vị khác tại hội nghị.
Về kỹ thuật Attention trong mô hình sequence-to-sequence tại hội nghị ACL 2017
1. Về kỹ thuật Attention trong mô
hình sequence-to-sequence
tại hội nghị ACL 2017
Phạm Quang Nhật Minh
Ban công nghệ tập đoàn FPT (FTI)
Viện nghiên cứu công nghệ FPT (FTRI), ĐH FPT
minhpqn2@fe.edu.vn
2. Why Attention Mechanism?
• Kỹ thuật Attention là một bước tiến quan trọng trong mô hình
sequence-to-sequence và đã chứng tỏ được hiệu quả trong nhiều bài
toán NLP
• Tại ACL 2017 có khoảng 15 bài báo có chữ “attention” trong tiêu đề
(so với 9 trong hội nghị năm trước)
• Kỹ thuật Attention được ứng dụng trong nhiều bài toán NLP
• Dịch máy, sinh caption cho ảnh, trả lời câu hỏi, neural dialogue, etc
Pham Quang Nhat Minh 2
3. Pham Quang Nhat Minh 3
Một diagram mang tính chất “bông đùa” về mức độ phổ biến của LSTM với Attention.
how to recommend "what method works best for NLP task X"?
Nguồn: https://twitter.com/IAugenstein/status/710837374473920512
4. Nội dung trình bày
• Cơ bản về mạng neural hồi quy (Recurrent Neural Network)
• Cơ bản về mô hình sequence-to-sequence
• Kỹ thuật Attention trong mô hình mạng sequence-to-sequence
• Các nghiên cứu về kỹ thuật Attention tại hội nghị ACL 2017
• Một số nghiên cứu đáng quan tâm khác tại ACL 2017
• Kết luận
Pham Quang Nhat Minh 4
5. Giới thiệu chung về mạng neural hồi quy (RNN)
• Được áp dụng rất rộng rãi trong các bài toán xử lý ngôn ngữ tự nhiên
(NLP)
• Do RNN mô hình hóa được bản chất của dữ liệu trong NLP
• Dữ liệu trong NLP có đặc tính chuỗi và có sự phụ thuộc lẫn nhau giữa các thành phần
(trạng thái) trong dữ liệu
• Năng lực tính toán của máy tính ngày càng mạnh nên đã hiện thực hóa được
việc huấn luyện mạng neural hồi quy
• Vốn yêu cầu nhiều bước tính toán hơn mạng neural thông thường
• Việc áp dụng RNN có thể được coi là một bước đột phá
(breakthrough) trong NLP
Pham Quang Nhat Minh 5
6. Pham Quang Nhat Minh 6
...
RNN
𝑥"
𝑥#
𝑥$
𝑦$
Trong NLP, đầu vào có thể là một câu có n từ, mỗi từ được được
biểu diễn bằng 1 vector (chẳng hạn học bằng word2vec), đầu ra là
một vector biểu diễn cho câu đầu vào.
Vector thu được mã hóa (encode) thông tin từ câu đầu vào
12. Simple RNN (Elman Network)
• Đề xuất bởi Elman (1990)
𝑠& = 𝑅ABCC 𝑥&; 𝑠&9" = 𝑔 𝑠&9" 𝑊F
+ 𝑥& 𝑊H
+ 𝑏
𝑦& = 𝑂ABCC 𝑠& = 𝑠&
𝑠&, 𝑦& ∈ 𝑅/J, 𝑥& ∈ 𝑅/K, 𝑊H
∈ 𝑅/K×/J, 𝑊F
∈ 𝑅/J×/J, 𝑏 ∈ 𝐷/J
𝑔 is a nonlinear activation function (tanh or ReLU)
• S-RNN là một kiến trúc khá mạnh nhưng có nhược điểm là việc S-RNN
không hiệu quả trong việc xử lý các phụ thuộc dài (long-range
dependencies)
• I live in France. I speak French.
• Do vấn đề đạo hàm bị triệt tiêu sau các bước (vanishing gradients)
Pham Quang Nhat Minh 12
13. Bộ nhớ (memory) trong mạng neural hồi quy
• Các trạng thái 𝑠& có thể coi là bộ nhớ trong RNN
• Khi áp dụng hàm đệ quy R:
• Đọc vào input 𝑥&N"
• Đọc trạng thái nhớ hiện tại 𝑠&
• Xử lý (theo một cách nào đó) và ghi vào trạng thái nhớ kế tiếp 𝑠&N"
• Trong S-RNN, việc truy cập bộ nhớ không được kiểm soát tốt
• Tại mỗi bước tính toán, toàn bộ trạng thái nhớ được đọc
• Long-Short Term Memory (LSTM) và Gated Recurrent Network (GRU)
sẽ giải quyết vấn đề trên thông qua cơ chế cổng (gate)
Pham Quang Nhat Minh 13
14. Kiến trúc kiểm soát truy cập bộ nhớ bằng
cổng (gated architectures)
• Ý tưởng ban đầu:
• Có thể dùng một vector nhị phân 𝑔 ∈ 0,1 $
giống như một cổng để kiểm soát việc
truy cập vùng nhớ n chiều (chỉ các giá trị tương ứng với phần từ 1 được giữ lại)
• 𝑠Q ← 𝑔 ⨀ 𝑥 + (1 − 𝑔) ⨀ (𝑠)
• Vấn đề:
• Các cổng như trên nên không có tính “động” (có thể học được)
• Các giá trị nhị phân dùng trong cổng không tính đạo hàm được
• Ý tưởng cải tiến:
• Xấp xỉ các cơ chế cổng trên bằng các giá trị có thể tính được đạo hàm và dùng một
hàm có giá trị trong khoảng (0,1), 𝜎(𝑔)
• Thường là hàm sigmoid:
"
"NWXK
Pham Quang Nhat Minh 14
18. Biểu diễn toán học của kiến trúc GRU
𝑠Y = 𝑅mBn 𝑠Y9", 𝑥Y = 1 − 𝑧 ⊙ 𝑠Y9" + 𝑧 ⊙ 𝑠̃Y
• 𝑧 = 𝜎 𝑥Y 𝑊Hl
+ 𝑠Y9" 𝑊Fl
• 𝑟 = 𝜎 𝑥Y 𝑊Hr
+ 𝑠Y9" 𝑊Fr
• stY = tanh 𝑠Y 𝑊HF
+ 𝑟 ⊙ 𝑠Y9" 𝑊Fu
𝑦Y = 𝑂mBn 𝑠Y = 𝑠Y
Trong đó
• Một cổng (𝑟) được dùng để điều khiển việc truy cập vào trạng thái trược
𝑠Y9" và tính toán giá trị cập nhật 𝑠̃Y
• Giá trị 𝑠Y được tính bằng công thức nội suy giữa 𝑠Y9" và 𝑠̃Y và được điều
khiển bởi cổng 𝑧
Pham Quang Nhat Minh 18
19. Pham Quang Nhat Minh 19
Ảnh từ bài báo: Chung, Junyoung; Gulcehre, Caglar; Cho, KyungHyun;
Bengio, Yoshua (2014). "Empirical Evaluation of Gated Recurrent Neural
Networks on Sequence Modeling". arXiv:1412.3555”
20. Các cách sử dụng RNN
• RNNs có thể được sử dụng như là:
• Generators
• Sinh chuỗi đầu ra (ví dụ RNN language model)
• Sinh chuỗi đầu ra từ một chuỗi đầu vào (trong mô hình sequence-to-sequence)
• Acceptors
• Nhận đầu vào là một chuỗi và phân lớp chuỗi đầu vào (phân lớp nhị phân hoặc đa lớp)
• Một bộ trích xuất đặc trưng
Pham Quang Nhat Minh 20
21. Các cách sử dụng RNN
Pham Quang Nhat Minh 21
Bản quyền hình ảnh thuộc về Andrej Karpathy.
Ảnh lấy từ bài viết: http://karpathy.github.io/2015/05/21/rnn-effectiveness/
23. RNN với vai trò là bộ trích xuất đặc trưng
• Ví dụ trong bài toán PoS Tagging
• Mảnh/Nc đất/N của/E đạn/N bom/N không/R còn/V người/N nghèo/A ./.
• Đầu vào: là một câu 𝑠 = 𝑤":$
• Biến đổi câu đầu vào thành một danh sách các vector 𝑥":$ bằng một hàm đặc
trưng 𝑥& = 𝜙(𝑠, 𝑖)
• Các vector 𝑥":$ sẽ được đưa vào mạng biRNN và sinh ra chuỗi các vector đầu
ra 𝑦":$ = 𝑏𝑖𝑅𝑁𝑁∗(𝑥":$)
• Mỗi vector 𝑦& sẽ được dùng để dự đoán nhãn từ loại tại vị trí 𝑖 bằng một
mạng MLP
• Hàm vector 𝑥& có thể là đầu ra của các tầng trước đó (ví dụ dùng character-level
RNN)
• Chính vì thế ta nói RNN có thể được dùng như là một bộ trích xuất đặc trưng.
Pham Quang Nhat Minh 23
24. Mô hình sequence-to-sequence
• Áp dụng cho các bài toán khi ta cần sinh ra một chuỗi đầu ra từ một
câu đầu vào cho trước
• Dịch máy
• Tự động phản hồi email
• Chatbot
• Image Captioning
• Tên gọi khác là Encoder-Decoder framework
• Ý tưởng cơ bản:
• Dùng 2 mạng RNN
• Một RNN đóng vai trò là mã hóa (encode) câu đâu vào thành một vector
• RNN khác đóng vai trò giải mã (decode), sinh ra câu đầu ra
Pham Quang Nhat Minh 24
31. Kỹ thuật Attention (Attention Mechanism)
• Điều gì đã dẫn dắt đến ý tưởng dùng kỹ thuật Attention?
• Mô hình sequence-to-sequence ban đầu yêu cầu RNN decoder có khả năng
trích xuất thông tin từ vector mã hóa 𝑐 = 𝑅𝑁𝑁W$•(𝑥":$)
• Vector mã hóa cần có đủ thông tin cho RNN decoder
• Phải sử dụng toàn bộ thông tin về chuỗi đầu vào cho dù chuỗi đó dài hay ngắn
• Cùng một vector context được dùng để dự đoán chuỗi output
• Câu hỏi: làm sao để trong bước sinh chuỗi output, tại một bước, ta
cho phép RNN decoder tập trung (attend) vào một những phần nhất
định của đầu vào được encode.
• Ví dụ: khi dịch văn bản, ta thường chú ý đến những từ nhất định trong câu
nguồn khi lựa chọn từ ngữ
Pham Quang Nhat Minh 31
32. Kỹ thuật Attention (Attention Mechanism)
• Đề xuất bởi Bahdanau và cộng sự năm 2014
• Bahdanau, D., Bengio, Y., & Cho, K. (2014). Neural Machine Translation by Jointly
Learning to Align and Translate. CoRR, abs/1409.0473.
((https://arxiv.org/abs/1409.0473)
• Lấy cảm hứng từ mô hình visual attention trong ngành computer vision
• Nới lỏng điều kiện rằng toàn bộ câu đầu vào được mã hóa bằng 1 vector
duy nhất. Thay vào đó, câu đầu vào được mã hóa bằng một dãy các vector
• Decoder áp dụng kỹ thuật attention mềm dẻo (soft attention mechanism)
• Để quyết định xem nên tập trung vào những phần nào của chuỗi mã hóa
• Encoder, decoder và cơ chế attention được huấn luyện cùng nhau (joint
training)
Pham Quang Nhat Minh 32
35. Các biến thể của kỹ thuật attention
• Additive attention
• Multiplicative attention
• Self-attention
• Key-value attention
Xem thêm:
• Sebastian Ruder. Deep Learning for NLP Best Practices.
http://ruder.io/deep-learning-nlp-best-practices/index.html#fn:16
Pham Quang Nhat Minh 35
38. Learning attention for historical text normalization
by learning to pronounce (Bollmann et al.)
• Điểm mới
• Đưa ra mô hình sequence-to-sequence multi-task learning và chỉ ra rằng mô
hình multi-task có hiệu quả tương tự như kỹ thuật attention trong mô hình
sequence-to-sequence
• Đưa attention vào trong mô hình multi-task learning là dư thừa
• Multi-task learning
• Vừa học mô hình chuẩn hoá chính tả vừa học mô hình phát âm (Grapheme-
to-phoneme) một cách đồng thời
• Thêm một tầng output trong mạng neural
Pham Quang Nhat Minh 38
39. Exploiting Argument Information to Improve Event Detection
via Supervised Attention Mechanisms (Liu et al.)
• Bài toán: phát hiện sự kiện (event) trong văn bản
• Sự kiện là những gì việc xảy ra trong thực tế và được định nghĩa trước
• Ví dụ: sự kiện thăm (visit), chết (die),…
• Đầu vào: một câu
• Đầu ra: các sự kiện cùng với các từ thể hiện sự kiện đó
• Ví dụ:
• Mohamad fired Anwar, his former protégé, in 1998
• Output: sự kiện End-Position cùng với từ thể hiện sự kiện đó là fired
Pham Quang Nhat Minh 39
40. Exploiting Argument Information to Improve Event Detection
via Supervised Attention Mechanisms (Liu et al.)
• Mô hình hóa bài toán dưới dạng phân lớp văn bản
• Phân lớp mỗi từ trong câu về một trong những lớp được định nghĩa trước
(danh sách các loại event)
• Mỗi từ trong câu sẽ được kết hợp với 1 vector biểu diễn ngữ cảnh của từ đó
để tạo thành một candidate (event trigger candidate)
• Ý tưởng:
• Khai thác argument trong training data một cách tường minh trong mô hình
phát hiện sự kiện
• Các argument của sự kiện sẽ được chú ý (attend) nhiều hơn trong vector ngữ
cảnh
• Học attention và event detection một cách đồng thời
Pham Quang Nhat Minh 40
42. Domain Attention with an Ensemble of
Experts (Young-Bum Kim et al.)
• Ý tưởng cơ bản
• Đưa ra phương pháp domain adaptation mới bằng kỹ thuật ”domain
attention”
• Với một domain có ít dữ liệu training, chúng ta có thể tận dụng các domain có nhiều dữ
liệu để tăng độ chính xác hệ thống học máy trên domain ít dữ liệu.
• Các experts từ các domain khác được sử dụng để đưa thêm thông tin vào
biểu diễn đặc trưng của các instance trong domain hiện tại
• Selective attention: Chọn top experts thay vì chọn toàn bộ experts.
• Bài toán ứng dụng: 2 bài toán cơ bản trong speech language
understanding (SLU)
• Intent classification
• Slot Filling (Slot Tagging hay Entity extraction)
Pham Quang Nhat Minh 42
45. A Nested Attention Neural Hybrid Model for
Grammatical Error Correction (Jianshu Ji et al.)
• Ý tưởng chính:
• Mô hình hóa bài toán sửa lỗi ngữ pháp thành bài toán dịch máy (monolingual
machine translation) – dịch câu sai ngữ pháp thành câu đúng ngữ pháp
• Áp dụng mô hình sequence-to-sequence với attention để giải quyết bài toán
• Đưa ra mô hình học attention lồng nhau để sửa lỗi ngữ pháp trên 2 mức:
• Mức thứ tự từ
• Lỗi chính tả và lỗi word inflection
• Sử dụng cơ chế hard attention
• Ưu điểm:
• Có thể sửa lỗi chính tả, inflections với các OOV (out-of-vocabulary) words
• Có thể dùng ít hơn lượng dữ liệu training
Pham Quang Nhat Minh 45
47. Neural Relation Extraction with Multi-lingual
Attention (Lin et al.)
• Ý tưởng chính: đề xuất mô hình mạng neural trong trích xuất quan hệ
giữa các thực thể với 2 kỹ thuật: mono-lingual attention và cross-
lingual attention để tận dụng tài nguyên đa ngôn ngữ
• (New York, CityOf, United States)
• Phương pháp mạng neural mô hình hóa bài toán về dạng bài toán
phân lớp
• Mỗi cặp thực thể được phân lớp dựa trên tập S các câu mà nó xuất hiện
• Biểu diễn tập các câu này thành dạng vector
• Vấn đề: mức độ quan trọng của các câu trong S không giống nhau => mono-
lingual attention
• Để tận dụng các dữ liệu đa ngôn ngữ => multi-lingual attention
Pham Quang Nhat Minh 47
49. Một số nghiên cứu khác sử dụng kỹ thuật
Attention
• Hao at al., An End-to-End Model for Question Answering over Knowledge Base
with Cross-Attention Combining Global Knowledge.
• Dhingra et al., Gated-Attention Readers for Text Comprehension
• He et al., Generating Natural Answers by Incorporating Copying and Retrieving
Mechanisms in Sequence-to-Sequence Learning
• Yang et al., Leveraging Knowledge Bases in LSTMs for Improving Machine Reading
• Young-Bum Kim. Domain Attention with an Ensemble of Experts
• Zhang. Incorporating Word Reordering Knowledge into Attention-based Neural
Machine Translation
• Iacer Calixto. Doubly-Attentive Decoder for Multi-modal Neural Machine
Translation
• Soichiro Murakam. Learning to Generate Market Comments from Stock Prices.
Pham Quang Nhat Minh 49
53. Linguistically Regularized LSTM for Sentiment
Classification (Quian et al.)
• Mạng neural LSTM có thể rộng rãi trong các bài toán xử lý ngôn ngữ
tự nhiên (như sentiment analysis)
• Có thể tận dụng cấu trúc dạng chuỗi và thứ tự của các từ trong câu
• Các nghiên cứu dùng LSTM cho sentiment analysis chưa tận dụng
được đầy đủ các tài nguyên về sentiment:
• Sentiment lexicon (như senti-wordnet)
• Từ phủ định (negation words)
• Từ chỉ mức độ (intensity words): very, absolute, etc
Pham Quang Nhat Minh 53
56. Deep Pyramid Convolutional Neural Networks for
Text Categorization (Rie Johnson and Tong Zhang)
• Một số điểm đặc sắc trong bài báo
• Kỹ thuật Text Region Embedding có hiệu quả tương tự như embedding layer +
convolutional layer trong CNN và có độ sâu nhỏ hơn
• Giảm thời gian tính toán
• Tối ưu tốt hơn
• Dùng các pooling layers cho down sampling nhưng không tăng số lượng
feature map giảm thời gian tính toán và không ảnh hưởng tới độ chính xác
của hệ thống
• Dùng shortcut connections với pre-activation + identity mapping cho phép
huấn luyện mạng neural nhiều tầng hơn.
Pham Quang Nhat Minh 56
57. Benben: A Chinese Intelligent Conversational Robot (Wei-Nan
Zhang)
Pham Quang Nhat Minh 57
• Benben là hệ thống giao tiếp thông minh (conversational rotbot) có thể thực hiện
bốn công việc sau trong một kiến trúc thống nhất:
• Chit-chat
• Thực hiện nhiệm vụ (như tìm địa điểm, đặt khách sạn, etc)
• Trả lời câu hỏi (question answering)
• Gợi ý các tin tức cần đọc thông qua hỏi đáp (News recommendation)
59. Benben: A Chinese Intelligent Conversational
Robot (Wei-Nan Zhang)
• Một số ý tưởng hay:
• Tích hợp sentiment analysis vào chatbot (để đưa ra những phản hồi mang tính
an ủi hoặc dùng cảm xúc của người dùng như là những phản hồi cho hệ thống).
• Phát hiện những câu có nội dung lăng mạ, xúc phạm, nhạy cảm, etc để từ chối
trả lời.
• Tự động lựa chọn miền ứng dụng (domain) của đoạn hội thoại (liệu người dùng
muốn chit-chat, hỏi đáp thông tin, yêu cầu thực hiện tác vụ, etc)
• Trong giai đoạn sinh câu trả lời, hệ thống đánh giá chất lượng của câu trả lời dựa
trên trạng thái hội thoại được xác định.
• Trạng thái hội thoại được định nghĩa là vị trí của hội thoại hiện tại trên đường đến điểm
hoàn thành mục tiêu của người dùng và loại phản hồi hệ thống cần đưa ra (ví dụ: xác nhận,
từ chối, hỏi tiếp, etc)
Pham Quang Nhat Minh 59
60. Extended Named Entity Recognition API and
Its Applications in Language Education (Nguyen et al.)
• Xây dựng một bộ nhận dạng thực thể mở rộng với cấu trúc phân cấp
• Extended Named Entity Recognition (ENER) với 200 loại thực thể khác nhau
• Phát triển API cho nhận dạng thực thể trong văn bản tiếng Nhật:
http://enerdev.alt.ai:8030/#!/Chatbot/
• Áp dụng cho trang Web học tiếng Nhật http://en.mazii.net/#/news
Pham Quang Nhat Minh 60
Organization
Sport organization Corporation Political Organization
62. On the Challenges of Translating NLP Research
into Commercial Products (Dahlmeier et al., )
• Thách thức khi vận dụng các nghiên cứu NLP vào sản phẩm thương
mại
• Tóm tắt nội dung:
• Bài báo đưa ra những thách thức khi chuyển giao các nghiên cứu NLP vào các
sản phẩm thương mại
• Đưa ra những ý tưởng, chia sẻ những kinh nghiệm để tăng khả năng thành
công trong việc chuyển giao
Pham Quang Nhat Minh 62
64. Thách thức khi vận dụng các nghiên cứu NLP vào
sản phẩm thương mại
• Công thức để có một vấn đề nghiên cứu tốt
• Hiểu công việc phải làm: bài toán kinh doanh, ai là người dùng, vấn đề cần giải
quyết, liệu có cần đến NLP hay chỉ cần một số luật (rules) đơn giản,…
• Mô hình hóa bài toán về bài toán học máy: cho trước X, dự đoán Y; cái gì là
input, cái gì là output?
• Xác định xem liệu có thu thập/làm được dữ liệu hay không?
• Cân nhắc xem mô hình NLP tốt nhất hiện tại có giải quyết được bài toán
không, liệu có thể biểu diễn đầu vào bằng những đặc trưng (features) có ý
nghĩa, có độ đo nào để đánh giá mức độ thành công của hệ thống NLP?
• Xác định cách tiếp cận hợp lý cho trường hợp ứng dụng đang làm
Pham Quang Nhat Minh 64
65. Một số các nghiên cứu khác
• Tutorial “Deep Learning for Dialogue Systems”, by Yun-Nung Chen
• https://sites.google.com/site/deeplearningdialogue/
• Rui Meng. Deep Keyphrase Generation
• Mikel Artetxe. Learning bilingual word embeddings with (almost) no bilingual data
• Qian Chen. Enhanced LSTM for Natural Language Inference
• Yu Wu. Sequential Matching Network: A New Architecture for Multi-turn Response Selection
in Retrieval-Based Chatbots
• Mingbin Xu. A Local Detection Approach for Named Entity Recognition and Mention
Detection
• Matthew E. Peters. Semi-supervised sequence tagging with bidirectional language models
• Mingbin Xu. A Local Detection Approach for Named Entity Recognition and Mention
Detection.
• Suncong Zheng. Joint Extraction of Entities and Relations Based on a Novel Tagging Scheme
Pham Quang Nhat Minh 65
66. Kết luận
• Kỹ thuật attention là một kỹ thuật hiệu quả trong mô hình sequence-to-
sequence và ngày càng trở nên phổ biến
• Nhưng nó không phải là một kỹ thuật “vạn năng” mà cần dùng với sự chú ý nhất định
(ví dụ như bài báo về multi-task learning)
• Deep Learning vẫn là kỹ thuật “áp đảo” trong hội nghị ACL 2017
• Nhiều người ví Deep Learning giống như trận sóng thần (Tsunami) trong NLP
• Nhưng các nghiên cứu sử dụng các cấu trúc ngôn ngữ học và semantic đang quay trở
lại
• Nhiều nghiên cứu đang cố gắng hiểu, giải thích vì sao Deep Learning hiệu
quả trong các bài toán NLP.
• Xem thêm: Four deep learning trends from ACL 2017:
http://www.abigailsee.com/2017/08/30/four-deep-learning-trends-from-acl-2017-
part-1.html
Pham Quang Nhat Minh 66
67. Tài liệu tham khảo
• Các bài báo đưa ra trong slide
• Cuốn sách “Neural Network Methods for Natural Language
Processing” của tác giả Yoav Goldberg.
• Four deep learning trends from ACL 2017:
http://www.abigailsee.com/2017/08/30/four-deep-learning-trends-
from-acl-2017-part-1.html
• Sebastian Ruder. Deep Learning for NLP Best Practices.
http://ruder.io/deep-learning-nlp-best-practices/index.html#fn:16
Pham Quang Nhat Minh 67