Trong đề tài này, chúng tôi phân tích các vấn đề về phân tích tình cảm chongôn ngữ tiếng Việt, cụ thể hơn là các bài báo điện tử và sau đó chúng tôi đềxuất một mô hình kiến trúc học sâu
Trang 1ĐẠI HỌC QUỐC GIA TP HCM TRƯỜNG ĐẠI HỌC BÁCH KHOA
-
NGUYỄN CÔNG ĐÍNH
KẾT HỢP MÔ HÌNH CONVOLUTION NEURAL NETWORK
VÀ LONG SHORT-TERM MEMORY
ĐỂ PHÂN TÍCH CẢM XÚC VĂN BẢN TIẾNG VIỆT
Chuyên ngành: Khoa học máy tính
Mã số: 60.48.01.01
LUẬN VĂN THẠC SĨ
TP HỒ CHÍ MINH, tháng 12 năm 2017
Trang 2TRƯỜNG ĐẠI HỌC BÁCH KHOA –ĐHQG -HCM
Cán bộ hướng dẫn khoa học: PGS TS Quản Thành Thơ
Cán bộ chấm nhận xét 1: GS TS Phan Thị Tươi
Cán bộ chấm nhận xét 2: TS Lê Anh Cường
Luận văn thạc sĩ được bảo vệ tại Trường Đại học Bách Khoa, ĐHQG Tp HCM ngày 28 tháng 12 năm 2017
Thành phần Hội đồng đánh giá luận văn thạc sĩ gồm:
1 PGS TS Dương Tuấn Anh
2 TS Nguyễn Đức Dũng
3 GS TS Phan Thị Tươi
4 TS Lê Anh Cường
5 TS Huỳnh Tường Nguyên
Xác nhận của Chủ tịch Hội đồng đánh giá LV và Trưởng Khoa quản lý chuyên ngành sau khi luận văn đã được sửa chữa (nếu có)
Trang 3ĐẠI HỌC QUỐC GIA TP.HCM
TRƯỜNG ĐẠI HỌC BÁCH KHOA CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự do - Hạnh phúc
NHIỆM VỤ LUẬN VĂN THẠC SĨ
Họ tên học viên: Nguyễn Công Đính MSHV: 7140823
Ngày, tháng, năm sinh: 20/03/1991 Nơi sinh: Quảng Ngãi
Chuyên ngành: Khoa học máy tính Mã số : 60.48.01.01
I TÊN ĐỀ TÀI: Kết hợp xử lý ngôn ngữ tự nhiên và học máy để phân tích cảm xúc văn
bản tiếng Việt
II NHIỆM VỤ VÀ NỘI DUNG: kết hợp các kỹ thuật Long Short-Term Memory,
Convolution Neural Networks và một số kỹ thuật trong hướng Deep Learning để học và phân tích cảm xúc văn bản tiếng Việt, cụ thể ở đây là các bài báo điện tử
III NGÀY GIAO NHIỆM VỤ : 06/02/2017
IV NGÀY HOÀN THÀNH NHIỆM VỤ: 03/12/2017
V CÁN BỘ HƯỚNG DẪN: PGS TS Quản Thành Thơ
Trang 4Tôi xin gửi lời cảm ơn chân thành và sâu sắc của mình đến Phó giáo sư Tiến sĩQuản Thành Thơ, người thầy đã luôn nhiệt tình hướng dẫn và giúp đỡ tôi để tôi
có thể hoàn thành luận văn này Tôi xin cảm ơn Thạc sĩ Nguyễn Xuân Mão, anh
Võ An Khương người đã luôn giúp đỡ và giải đáp những thắc mắc của tôi Bêncạnh đó, tôi cũng biết ơn các thầy cô trong trường Đại học Bách Khoa thành phố
Hồ Chí Minh vì những kiến thức quý báu họ đã truyền dạy cho tôi Cuối cùng tôixin cảm ơn gia đình và bạn bè, những người đã luôn bên cạnh tôi trong suốt nămqua
iv
Trang 5Tóm tắt
Phân tích tình cảm là một trong những nhiệm vụ quan trọng nhất trong xử lýngôn ngữ tự nhiên Nghiên cứu trong phân tích tình cảm đối với ngôn ngữ tiếngViệt là tương đối mới và hầu hết các công việc hiện tại chỉ tập trung vào cấp tàiliệu Trong đề tài này, chúng tôi phân tích các vấn đề về phân tích tình cảm chongôn ngữ tiếng Việt, cụ thể hơn là các bài báo điện tử và sau đó chúng tôi đềxuất một mô hình kiến trúc học sâu (Deep Architecture) để thực hiện phân tíchtình cảm góc độ khía cạnh cho các bài báo này Mô hình của chúng tôi kết hợpcác kiến trúc mạng nơ-ron khác nhau được đề xuất trong hướng tiếp cận học sâu,mục đích giải quyết những khó khăn mà chúng tôi nêu ra cho các bài báo điện tử.kiến trúc được đề xuất cũng có thể xử lý hiệu quả trường hợp khi đối tượng đượcphân tích cảm xúc không phải là chủ đề chính được đề cập đến trong bài bài báođiện tử, đây cũng là một vấn đề khá phổ biến khi thực hiện xử lý cảm xúc ở mứckhía cạnh Kết quả thí nghiệm với dữ liệu thực tế đã chứng minh hướng tiếp cậnmới này của chúng tôi khả quan hơn so với những hướng tiếp cận đã có trước đó
v
Trang 6Sentiment analysis is one of the most important tasks in Natural LanguageProcessing Research in Vietnamese sentiment analysis is relatively new and most
of current work only focus in document-level In this thesis, we analyze the lems for Vietnamese sentiment analysis with the news articles and then we propose
prob-a Deep Architecture to perform prob-aspect-level sentiment prob-anprob-alysis for this news prob-cles We combine some neural network models proposed in various Deep Learning(DL) approaches, aiming at tackling specific issues commonly occurring for newsarticles Our architecture can handle typically-long and content-specific news ar-ticles, which often cause overfitting when trained with neural networks Moreover,the proposed architecture can also effectively process the case when the subject
arti-to be analyzed sentimentally is not the main arti-topic of the concerned article, which
is also a common issue when performing aspect-level sentiment processing perimental results with real dataset demonstrated advantages of our approach ascompared to the existing approaches
Ex-vi
Trang 7Lời cam đoan
Tôi xin cam đoan ngoại trừ những phần được ghi rõ là tham khảo trong bàibáo cáo này, tất cả những công việc khác đều được hoàn thành bởi chính tôi vàcông việc này chưa được trình bày ở bất cứ tài liệu nào khác
Nguyễn Công Đính
vii
Trang 8Lời cảm ơn iv
1.1 Tổng quan vấn đề 1
1.2 Mục tiêu của đề tài 2
1.3 Giới hạn của đề tài 3
1.4 Đóng góp của đề tài 3
1.5 Cấu trúc luận văn 3
2 Nghiên cứu liên quan 5 2.1 Xử lý ngôn ngữ tự nhiên 5
2.2 Deep Learning trong xử lý ngôn ngữ tự nhiên 6
2.3 Word Embedding 7
2.4 Phân tích cảm xúc trong văn bản tiếng Việt 8
2.5 Những khó khăn trong phân tích cảm xúc trong văn bản tiếng Việt 9 3 Kiến thức nền 13 3.1 Tổng quan phân tích cảm xúc 13
3.1.1 Mô hình ngôn ngữ N-gram 13
3.1.2 Phân loại hướng tiếp cận phân tích cảm xúc 14
3.2 Hướng tiếp cận Deep Learning trong phân tích cảm xúc 16
viii
Trang 9Mục lục ix
3.2.1 Mạng nơ-ron nhân tạo 16
3.2.2 Mạng nơ-ron tích chập 19
3.2.3 Mạng nơ-ron hồi quy 24
3.2.4 Long Short-Term Memory 28
4 Mô hình Deep Architecture đề xuất 33 4.1 Đề xuất hướng xử lý 33
4.2 Mô hình Deep Architecture 34
4.3 Mô-đun Word Embedding 37
4.4 Mô-đun Training Dataset 39
4.5 Mô-đun Convolution Neural Network 40
4.6 Mô-đun Long Short-Term Memory 41
4.7 Các hệ số Dropout 43
5 Kết quả thí nghiệm 44 6 Kết luận 49 6.1 Tổng kết 49
6.2 Công việc tương lai 49
Trang 102.1 Bài báo về nhà mạng Mobifone khắc phục sự cố đứt cáp quang 10
2.2 Một bài báo có nhắc đến Mobifone với cảm xúc tích cực, nhưng đây không phải là chủ thể chính của bài báo 11
3.1 Phân loại các hướng phân tích cảm xúc trong văn bản [1] 15
3.2 Mô hình mạng nơ-ron nhân tạo cơ bản [2] 17
3.3 Quá trình xử lý thông tin của một mạng nơ-ron nhân tạo 17
3.4 Một số hàm chuyển đổi thường dùng 18
3.5 Ví dụ phép toán tích chập giữa ma trận đầu vào và ma trận kernel (1) 20
3.6 Ví dụ phép toán tích chập giữa ma trận đầu vào và ma trận kernel (2) 21
3.7 Ví dụ lấy giá trị lớn nhất đối với tầng Pooling 22
3.8 Ví dụ lấy giá trị nhỏ nhất đối với tầng Pooling 22
3.9 Ví dụ ứng dụng CNN vào xử lý ngôn ngữ tự nhiên 24
3.10 Mô hình mạng nơ-ron hồi quy cơ bản 25
3.11 Một số hàm mất mát thường dùng 28
3.12 Mô hình RNN chuẩn với một single T anh 29
3.13 Mô hình LSTM với 4 layers tương tác với nhau 29
3.14 Các ký hiệu trong mô hình LSTM 30
3.15 LSTM cell line 30
3.16 LSTM gate 31
3.17 LSTM Forget Gate Layer 31
3.18 LSTM Input Gate Layer (1) 32
3.19 LSTM Input Gate Layer (2) 32
3.20 LSTM Output Gate 32
4.1 Mô hình Deep Architecture 34
4.2 Đại diện cho từ "Mobifone" bằng one-hot vector 35
4.3 Biểu diễn vector thể hiện quan hệ giữa các từ thông qua ma trận trọng số 35
4.4 Một mô hình CNN tiêu chuẩn 36
4.5 Mô-đun Word Embedding 37
4.6 Mô-đun Word Embedding 39
4.7 Dataset được sử dụng trong mô hình 39
x
Trang 11Danh mục hình xi
4.8 Mô hình mạng Convolution Neural Network truyền thống không có
tầng Concatenated 40
4.9 Mô-đun Convolution Neural Network 41
4.10 Mô-đun Long Short-Term Memory 42
4.11 Mô hình LSTM với 4 layers tương tác với nhau 42
4.12 LSTM Forget Gate Layer 42
5.1 Kết quả so sánh giữa mô hình Deep Architecture với phương pháp SVM 47
5.2 Kết quả so sánh giữa mô hình Deep Architecture với phương pháp CNN 47
5.3 Kết quả so sánh giữa mô hình Deep Architecture với phương pháp LSTM 48
5.4 Kết quả so sánh giữa mô hình Deep Architecture với các phương pháp đã có 48
Trang 124.1 Khái niệm và quan hệ trong domain Internet-Telecom 385.1 Thông số kỹ thuật áp dụng với mô hình Deep Architecture (1) 455.2 Kết quả thí nghiệm (1) 455.3 Thông số kỹ thuật áp dụng với mô hình Deep Architecture (2) 465.4 Kết quả thí nghiệm (2) 46
xii
Trang 13Chương 1
Giới thiệu
Với sự phát triển của nhanh chóng của Internet ngày nay, lượng thông tin khá lớn
và dồi dào Với việc dữ liệu lớn bùng nổ ngày càng nhanh chóng, việc tìm kiếm vàtheo dõi thông tin trên Internet càng trở nên khó khăn và phức tạp hơn
Trong những năm gần đây, việc xử lý văn bản ngày càng quan trọng Đặc biệt,trong việc xử lý ngôn ngữ tự nhiên ngày càng cấp thiết, kỹ thuật xử lý ngôn ngữ
tự nhiên được coi trọng hơn Trong đó kỹ thuật xử lý ngôn ngữ tự nhiên được chia
là hai loại chính: sự thật (Facts) và ý kiến (Opinions) Sự thật là những phát biểukhách quan về thực thể và sự kiện trong thế giới thực, ý kiến là những phát biểuchủ quan phản ánh tình cảm và nhận thức của con người về thực thể và sự kiện
đó Nội dung chính của việc phân tích ý kiến chủ quan (Opinion Mining) hay còngọi là phân tích xu hướng cảm xúc (Sentiment Analysis) này phân tích văn bảnchứa ý kiến nhận xét đánh giá của người sử dụng về một đối tượng để xác địnhcảm xúc của người dùng là tích cực (Positive), tiêu cực (Negative) hay là trunglập (Neutral )
Đối với dữ liệu lớn (Big Data) thì việc phân tích xử lý ngôn ngữ tự nhiên trởnên khá quan trọng trong cuộc sống bởi những lợi ích từ thông tin mà chúng manglại Trong đó phân tích cảm xúc (Sentiment Analysis) là một trong những nhiệm
vụ hàng đầu và quan trọng nhất của quá trình xử lý ngôn ngữ tự nhiên Có nhiềunghiên cứu về phân tích cảm xúc trên văn bản đã được thực hiện, tuy nhiên cácnghiên cứu này đều tập trung vào việc xử lý tiếng Anh trên tập dữ liệu lớn Các
1
Trang 14tài liệu về việc xử lý cảm xúc trên ngôn ngữ tiếng Việt còn khá ít và hầu hết cácnghiên cứu tập trung ở mức tài liệu Vì vậy, nghiên cứu phân tích cảm xúc chongôn ngữ tiếng Việt là cấp thiết.
Hướng nghiên cứu về phân tích cảm xúc dựa trên văn bản đang thu hút nhiều
sự quan tâm của các nhà nghiên cứu, cũng như các doanh nghiệp trên thế giới,
mà hướng tiếp cận Deep Learning trong phân tích cảm xúc là hướng đang manglại kết quả đang mong đợi Vì vậy, trong đề tài này chúng tôi cung cấp một hướng
đi mới về việc phân tích cảm xúc dựa vào phương pháp kết hợp xử lý ngôn ngữ tựnhiên và học máy để phân tích cảm xúc của văn bản tiếng Việt, cụ thể trong luậnvăn chúng tôi áp dụng các kỹ thuật Convolution Neural Networks (CNNs) [3] vàLong Short-Term Memory (LSTM) [4] trong hướng tiếp cận Deep Learning choviệc máy học và phân tích cảm xúc của bài báo điện tử trong ngữ cảnh là ngônngữ tiếng Việt
Mục tiêu tổng quát của đề tài là sử dụng kết hợp mô hình Convolution NeuralNetworks, Long Short-Term Memory và những kỹ thuật liên quan để phân tíchcảm xúc trong các bài báo điện tử Để thực hiện mục tiêu đã đề ra, chúng tôi đưa
ra các mục tiêu con cụ thể như sau:
• Nghiên cứu lý thuyết Convolution Neural Networks (CNNs), Long Term Memory (LSTM) và hướng tiếp cận Deep Learning trong vấn đề xử
Short-lý ngôn ngữ tự nhiên
• Nghiên cứu các đặc điểm của bài báo điện tử để xây dựng mô hình phântích cảm xúc
• Đề xuất phương pháp phân tích cảm xúc trên mô hình thu được
• Kiểm chứng mô hình đã xây dựng
• Tiến hành thí nghiệm kiểm tra
• Đánh giá, báo cáo kết quả
Trang 15Chương 1 Giới thiệu 3
Do thời gian có hạn, nên phạm vi nghiên cứu của đề tài tập trung vào việc phântích cảm xúc đối với bài báo điện tử trên văn bản tiếng Việt Mô hình đề xuất, vìvậy cũng tập trung thể hiện các đặc điểm của các bài báo điện tử Ngoài ra chúngtôi còn xây dựng giao diện để người dùng có thể tương tác và kiểm tra cảm xúccủa một bài báo điện tử bất kỳ
Với cách tiếp cận này, chúng tôi đưa ra một cách tiếp cận mới trong hướng nghiêncứu phân tích cảm xúc cho các bài báo điện tử trong văn bản tiếng Việt, thôngqua việc áp dụng học máy trong quá trình phân tích ngôn ngữ tự nhiên Manglại độ chính xác khá cao cho những ý kiến chủ quan của người dùng Ngoài ra hệthống cung cấp những đánh giá khách quan độ chính xác về cảm xúc của ngườidùng trong các bài báo điện tử, phục vụ cho doanh nghiệp cũng như cá nhân.Ngoài ra, trong quá trình thực hiện đề tài, chúng tôi đã công bố bài báokhoa học đã được trình bày trong hội nghị quốc tế "Proceedings of 5th Interna-tional Conference on Computer Science, Applied Mathematics and Applications"tại thành phố Berline, nước Đức Thông tin trích dẫn của bài báo này như sau:
• Dinh Nguyen, Khuong Vo, Dang Pham, Mao Nguyen and Tho Quan, “ADeep Architecture for Sentiment Analysis of News Articles”, in Proceedings
of 5th International Conference on Computer Science, Applied Mathematicsand Applications, ICCSAMA 2017, Germany, 2017
Nội dung các phần còn lại của luận văn được bố trí như sau Chương 2 trình bày
sơ lược về các nghiên cứu liên quan đến đề tài, nguồn gốc nảy sinh ra ý tưởngtrong đề tài Chương 3 trình bày các kiến thức nền tảng mà chúng tôi sử dụng,bao gồm lý thuyết về Word Embedding, lý thuyết về Recurrent Neural Networks,
lý thuyết về Long Short-Term Memory, và một số lý thuyết về xử lý ngôn ngữ tự
Trang 16nhiên Nội dung của chương này sẽ giúp đọc hiểu nền tảng kiến thức để tiếp cậnnhững phần còn lại của luận văn một cách dễ dàng Nội dung chính của luận vănđược trình bày ở Chương 4 Trong chương này chúng tôi trình bày về cách môhình cách thức mà một quá trình xử lý bài báo điện tử trong văn bản tiếng Việtđược thực hiện, và chi tiết xử lý bên trong từng mô-đun trong mô hình để phântích cảm xúc Chương 5 sẽ trình bày kết quả chạy thí nghiệm được phân tích và
so sánh với các nghiên cứu đã có Chương 6 tổng kết và nhận xét nội dung báocáo, cũng như nêu lên một số hướng mở rộng từ đề tài
Trang 17Chương 2
Nghiên cứu liên quan
Chương này giới thiệu những nghiên cứu liên quan và cơ sở lý thuyết về các hướngnghiên cứu liên quan trong đề tài của chúng tôi
Xử lý ngôn ngữ tự nhiên (Natural Language Processing - NLP ) là một lĩnh vựckhoa học máy tính liên quan đến tương tác giữa các máy tính và ngôn ngữ tựnhiên của con người Mối quan tâm chính là bằng cách nào đó máy tính có thểhiểu được ngôn ngữ của con người Điều này có thể đạt được bằng cách mô hìnhhoá dữ liệu và sử dụng các quy tắc hay thuật toán xây dựng các tính năng trừutượng để mô hình hoá đạt được kết quả tốt hơn Một hướng tiếp cận thứ hai củaphương pháp học sâu (Deep Learning - DL) [5] và là hướng tiếp cận chính của đềtài này
Trong quá trình phát triển hàng thập kỷ, có rất nhiều phương pháp xử lý ngônngữ tự nhiên được các nhà nghiên cứu đưa ra, một trong số đó là:
1 Nhận dạng tiếng nói: tiếng nói của con người sẽ được máy tính ghi nhận vàchuyển sang dữ liệu văn bản như trình bày trong bài báo [6] năm 1998, 2năm sau đó các nghiên cứu về tổng hợp tiếng nói cũng ra đời được trình bày
ở bài báo [7]
5
Trang 182 Dịch tự động: trong những năm 1989-2000 một số nhà khoa học đã nhìnthấy mức độ quan trọng của quá trình dịch tự động nên các đề xuất mới lại
ra đời như trong những bài báo [8, 9]
3 Khai phá dữ liệu: mức độ quan trọng của dữ liệu ngày càng cao, dẫn đếnmột nhu cầu cấp thiết, làm cách nào để biết được các dữ liệu có mối liênquan với nhau Khái niệm Khai phá dữ liệu từ đó ra đời [10–12]
Trời những năm gần đây, khái niệm về Deep Learning đã không còn xa lạ vớichúng ta Một trong nhưng thay đổi lớn nhất mà chúng ta có thể thấy đó là sự
ra đời người máy Sophia và là người máy đầu tiên được cấp quyền công dân trênthế giới Sức mạnh của Deep Learning đã mang lại những kết quả khá khả quan.Trong mô hình Deep Learning đầu vào là một vector hoặc một ma trận chứacác giá trị số, trong khi đó đối với NLP là các chuỗi Một vấn đề đặt ra ở đây làlàm cách nào để biểu diễn những chuỗi này thành những con số cho mô hình DeepLearning
Một số các giải pháp đã được đề xuất biểu diễn các chuỗi văn bản (text) nàythành từng phần nhỏ và mỗi phần nhỏ này được gọi là "đơn vị" Tuỳ nhiều cáchbiểu diễn đơn vị khách nhau như: biểu diễn ký tự (character) và biểu diễn từ(word)
Đối với biểu diễn "đơn vị" là các ký tự: ta nhân thấy các ký tự sẽ không cóliên quan nhiều đến mặt ngữ nghĩa, miễn sao ta có thể phân biệt được các ký tựvới nhau Trong một số trường hợp biểu diễn các ký tự thành vector thì one-hotvector là một lựa chọn khá phổ biến hiện nay, với cách biểu diễn này giá trị 1 sẽđại diện cho ký tự đang được đề cập đến, và giá trị 0 cho các ký tự còn lại
Ví dụ: ta đang có một chuỗi các ký tự "NEWS" thì chúng ta sẽ biểu diễn cácvector như sau:
N : [1, 0, 0, 0]
E : [0, 1, 0, 0]
Trang 19Chương 2 Nghiên cứu liên quan 7
Để giải quyết những khó khăn về mặt ngữ nghĩa cho các phương pháp nêu trên,phương pháp dùng Word2vec trong Word Embedding đã được đề tài sử dụng, nhằmmục đích tăng độ chính xác cho mô hình của đề tài Word2vec được coi là kỹ thuậtbiểu diễn tốt hơn, với cách biểu diễn này không những số chiều vector sẽ đượcgiảm đáng kể, mà còn cho thấy được sự liên hệ ngữ nghĩa giữa các vector với nhau.Với cách biểu diễn này như là đầu vào (input) của mô hình Deep Learning thì môhình sẽ có hiệu suất (performance) và kết quả học tốt hơn khá nhiều Để tìm hiểu
kỹ hơn phương pháp dùng Word Embedding như thế nào chúng tôi sẽ đi chi tiết
ở phần tiếp theo
Vào năm 2003 giáo sư Bengio đã đề xuất bài báo [13] nhằm để giảm số chiềuvector để biểu diễn từ, trong những ngữ cảnh khác nhau, nhằm đem lại kết quảtốt nhất Trong những năm sau đó cũng có nhiều nhà khoa học đã đề xuất nhiều
kỹ thuật khác nhau để biểu diễn từ, tuy nhiên đến trước những năm 2010 thì các
kỹ thuật này cũng chưa cải thiện nhiều về hiệu suất
Trang 20Đến năm 2013 nhóm nghiên cứu Tomas Mikolov đã cho ra đời môt bộ công
cụ Word2vec [14] với khả năng học rất nhanh, cũng như hiệu suất được cải thiệnkhá tốt Nhờ đó mà kỹ thuật Word2vec ngày càng được ứng dụng rộng rãi trongviệc hổ trợ cho quá trình số hoá trong phân tích ngôn ngữ tự nhiên với độ chínhxác ngày càng tốt hơn và với tuỳ từng mục đích khác nhau
Phân tích cảm xúc là một hướng đi trong xử lý ngôn ngữ tự nhiên Mục đích xácđịnh thái độ của người nói, đoạn văn hoặc một chủ thể được quan tâm đến là thái
độ tích cực (positive), thái độ tiêu cực (negative) hay thái độ trung tính (neutral)
về một vấn đề nào đó
Từ khi khái niệm "Deep Learning" ra đời, đã dẫn đến việc sử dụng các kỹ thuậtvào phân tích ngôn ngữ tự nhiên, đặc biệt là phân tích cảm xúc văn bản ngàycàng hiệu quả Phân tích cảm xúc (Sentiment Analysis) [15] hoặc khai thác ý kiến(Opinion Mining) [16] là nhiệm vụ nhằm suy ra định hướng tình cảm của một tàiliệu nào đó Có 3 mức phân tích cảm xúc như sau: mức tài liệu (document-level),mức câu (sentence-level) và mức khía cạnh (aspect-level)
Trong vấn đề phân tích cảm xúc dựa trên văn bản và trên câu, trong bài báo
Hu và Liu [17], Hu và Liu đã chỉ ra những vấn đề của các bài báo trước là nếu giảđịnh ngầm rằng tài liệu được phân tích hoặc câu chỉ thảo luận về một đối tượngduy nhất đang được đề cập và phân tích cảm xúc trên đối tượng này Do đó, quátrình phân tích cảm xúc chỉ tập trung vào việc suy diễn ý kiến về tài liệu hoặccâu mà không xác định đối tượng cảm xúc
Rõ ràng những cách tiếp cận này sẽ không phù hợp khi áp dụng vào thực tế
Do đó Hu và Liu năm 2004 đã đề xuất thực hiện phân tích cảm xúc ở mức khíacạnh ở bài báo [17]
Để phân tích chính xác hơn, ngoài việc đánh giá tích cực (positive) và tiêu cực(negative) của một vấn đề được đề cập đến Các chủ thể nhắm đến có thể là mộtthương hiệu, một sản phẩm hay một tính năng bất kỳ cũng phải được xác định
Do đó, phân tích cảm xúc ở mức khía cạnh được coi là phức tạp hơn nhiều so vớiphương khác được đề cập ở trên
Trang 21Chương 2 Nghiên cứu liên quan 9
Ở Việt Nam, mạng xã hội ngày càng phát triển mạnh mẽ, nhất là tryền thông
về tin tức ngày càng phổ biến Các loại hình báo điện tử tại Việt Nam là mộttrong những nơi cung cấp thông tin chính và quan trọng nhất, và đặc biệt nhất
là thói quen đọc báo điện tử hằng ngày của người dân
Vì thế nhu cầu và mức độ ảnh hưởng của báo điện tử là khá lớn đối với ngườidân Vấn đề thứ hai là các nghiên cứu về phân tích cảm xúc trong văn bản hiệnnay chủ yếu là trên mặt lý thuyết và trên ngôn ngữ tiếng Anh là phổ biến, rất ítnghiên cứu cho ngôn ngữ tiếng Việt
Chính vì những vấn đề và nhu cầu cấp thiết trên, đề tài này chúng tôi tậptrung phân tích cảm xúc cho văn bản tiếng Việt, đặc biệt chúng tôi sẽ đi sâu phântích các bài báo điện tử Phân tiếp theo chúng tôi sẽ đi chi tiết những khó khăngặp phải khi phân tích cảm xúc cho các bài báo điện tử
trong văn bản tiếng Việt
Trong đề tài này, chúng tôi quan tâm đến vấn đề phân tích cảm xúc cho các bàibáo điện tử, và mục đích chính chúng tôi phân tích cảm xúc đến mức khía cạnhcủa nó, một số khía cạnh được đề tài đề cập đến trong domain Internet-Telecomnhư: tốc độ, bảo mật, chất lượng mạng
Ví dụ như trong cùng một bài báo so sánh đánh giá giữa hai smartphone A
và B với với ấn tượng chung là A tốt hơn B, chúng tôi sẽ đánh giá bài báo này làtiêu cực nếu chủ thể đang quan tâm đến là B
Đối với dữ liệu là các bài báo điện tử, các phương pháp phân tích cảm xúc đãgặp phải những khó khăn sau:
1 Số lượng từ trong một bài báo là rất lớn, so với các dữ liệu huấn luyệntruyền thống trong treebank là những đoạn review ngắn, việc này khiến các
hệ thống huấn luyện chạy rất lâu và rất tốn tài nguyên
2 Do một thông tin khi được đưa lên báo thường là những bài báo dạng đặcbiệt về một vấn đề đang thu hút nhiều sự chú ý, và vấn đề này sẽ được thảo
Trang 22luận lặp đi lặp lại nhiều lần trong bài báo Vì vậy khi huấn luyện bằng mạngnơ-ron thì rất dễ xảy ra hiện tượng overfitting.
Hình 2.1: Bài báo về nhà mạng Mobifone khắc phục sự cố đứt cáp quang
Ví dụ như trong Hình 2.1 là một bài báo nói về việc đứt cáp quang ở ViệtNam, việc này có ảnh hưởng tiêu cực đến Mobifone, là chủ thể cần thựchiện phân tích cảm xúc, vì người dùng thuê bao điện thoại này cũng bị ảnhhưởng bởi việc đứt cáp quang Tuy nhiên, do bài báo này nói nhiều đến cápquang, nên mạng nơ-ron sẽ có xu hướng cho rằng những vấn đề liên quanđến cáp quang đều sẽ gây ra những ảnh hưởng tiêu cực với Mobifone Điềunày không hợp lý lắm vì sẽ có những bài báo khác cũng nói về cáp quangnhưng lại có tác động tích cực đến Mobifone, chẳng hạn như các nhà mạngđiện thoại hưởng lợi từ nâng cấp cáp quang
Trang 23Chương 2 Nghiên cứu liên quan 11
3 Do chủ thể cần phân tích cảm xúc chưa hẳn là chủ thể chính của bài báo
Hình 2.2: Một bài báo có nhắc đến Mobifone với cảm xúc tích cực, nhưng đây
không phải là chủ thể chính của bài báo
Ví dụ như trong Hình 2.2, một bài báo nói về ca sĩ Noo Phuoc Thinh với khánhiều từ tiêu cực, tuy nhiên bài báo này có tác động tích cực đến Mobifonekhi ca sĩ Noo Phuoc Thinh đề nghị người dùng điện thoại này Nếu đánhcảm xúc cho toàn bài báo bằng các kỹ thuật học sâu đã có, chúng ta dễ thuđược kết quả trung tính hoặc tiêu cực
Trang 24Chính vì những khó khăn này, trong luận văn này chúng tôi đề xuất một môhình với tên gọi Deep Architecture (được đề xuất trong bài báo công bố năm 2017,tham khảo phần phụ lục của luận văn) với hướng xử lý mới để phân tích cảm xúccho bài báo điện tử Để hiểu sâu hơn về mô hình này chúng tôi sẽ đi chi tiết hơn
ở Chương 4
Trang 25Chương 3
Kiến thức nền
Trong chương này, chúng tôi sẽ trình bày chi tiết kiến thức nền tảng để làm tiền đề
đi sâu vào kiến trúc đề xuất của chúng tôi, một số cơ sở lý thuyết về mạng nơ-ronnhân tạo (Articial Neural Networks - ANNs) [18], cách thức hoạt động của mạngnơ-ron, các phiên mảng mở rộng của mạng nơ-ron nhân tạo: Mạng nơ-ron tái phát(Recurrent Neural Networks - RNNs) [19], mạng nơ-ron tích chập (ConvolutionNeural Networks - CNNs) [20], mạng cải tiến (Long Short-Term Memory - LSTM )[4] Mạng nơ-ron tích chập CNNs và mạng cải tiến là một trong những mô hìnhDeep Learning được đánh giá có nhiều ưu điểm trong tác vụ xử lý ngôn ngữ tựnhiên Đây cũng là cơ sở thực hiện xây dựng mô hình Deep Architecture trong đềtài
3.1.1 Mô hình ngôn ngữ N-gram
Trong các kỹ thuật phân tích ngôn ngữ tự nhiên, mô hình N-gram là một phân
bố xác suất trên các tập văn bản mà mình đang xét đến Mô hình này có thể chochúng ta biết được xác suất 1 câu có trong văn bản là bao nhiêu % Khái niệmN-gram [21] là một dãy liên tiếp N từ trong một chuỗi văn bản Mô hình này làmột phân bố xác suất trên các tập văn bản, với mô hình này thì ta có thể biếtxác suất một câu thuộc một ngôn ngữ nào đó là bao nhiêu %
Theo biểu thức Bayes trong bài báo [22]: P (AB) = P (B|A) ∗ P (A), thì:
13
Trang 26P (w1w2 wm) = P (w1) ∗ P (w2|w1) ∗ P (w3|w1w2) ∗ · · · ∗ P (wm|w1w2 wm−1)
Với biểu thức này ta cần dung lượng bộ nhớ khá lớn để có thể lưu tất cả xácsuất của tất cả các chuỗi có độ dài nhỏ hơn m Với vấn đề này là không có khảnăng, khi m quá lớn Chính vì điều này một đề xuất nghiên cứu đã đưa ra xấp xỉ
M arkov [22] bậc n Với biểu thức
đề tồn đọng này đã có những giải pháp đưa ra nhằm làm mịn và đạt được kếtquả khá chính xác, các phương pháp làm mịn này như gán cho các cụm N-gramkhông xuất hiện với giá trị khác 0, hay nội suy giá trị của các cụm N-gram khôngxuất hiện từ các cụm N-gram ngắn hơn
3.1.2 Phân loại hướng tiếp cận phân tích cảm xúc
Có hai hướng tiếp cận chính trong phân tích cảm xúc: hướng tiếp cận từ vựng(Lexicon) và hướng tiếp cận máy học (Machine Learning)
Phương pháp tiếp cận từ vựng phụ thuộc vào việc tìm kiếm các từ vựng mang
ý nghĩa khen/chê hay còn gọi là các từ mang ý nghĩa đánh giá hay ý kiến được sửdụng trong văn bản Có hai nhánh tiếp cận trong phương pháp này là: tiếp cậndựa vào bộ từ điển có sẵn (do con người xây dựng) và dựa vào tập ngữ nghĩa với
Trang 27Chương 3 Kiến thức nền 15
những từ đồng nghĩa hoặc trái nghĩa được con người xây dựng và lưu trữ trong
cơ sở dữ liệu, ví dụ: "mạnh" và "yếu" là 2 từ vựng trái nghĩa với nhau
Đối với các phương pháp tiếp cận học máy có thể được chia làm 2 nhánh chínhlà: học có giám sát, và học không giám sát Các phương pháp học giám sát sửdụng một số lượng lớn các tài liệu được gán nhãn Trong khi đó các phương pháphọc không giám sát được sử dụng với các tài liệu không được gán nhãn
Hướng tiếp cận từ vựng: thường các văn bản sẽ chứa khá nhiều các từmang cảm xúc như khen hay chê Ngoài ra còn có một số cụm từ mang ý nghĩađánh giá hay quan điểm của người viết [23] Có hai phương pháp chính như đãtrình bày ở trên được Minging và Kim đưa ra [17, 24] vào những năm 1997, 2004.Hướng tiếp cận học máy: có hai nhánh chính là học có giám sát và họckhông giám sát Trong học có giám sát lại chia ra nhiều nhánh con như cây quyếtđịnh, phân loại tuyến tính, và dùng xác suất
Hình 3.1 mô tả tổng quát phân loại trong phân tích cảm xúc:
Hình 3.1: Phân loại các hướng phân tích cảm xúc trong văn bản [1]
Đề tài sẽ tập trung tìm hiểu sâu về vấn đề ứng dụng mạng nơ-ron vào quátrình phân tích cảm xúc trong văn bản tiếng Việt, cụ thể hơn đề tài sẽ đi sâu phântích cảm xúc đối với các bài báo điện tử
Trang 283.2 Hướng tiếp cận Deep Learning trong phân
tích cảm xúc
Trong những năm gần đây, Máy học (Machine Learning) đang trở thành một phầnkhông thể thiếu trong quá trình phân tích xử lý ngôn ngữ tự nhiên Từ việc xâydựng các tập quy tắc bằng tay đòi hỏi nhiều công sức và thời gian, các nghiên cứuđang hướng đến việc sử dụng tập dữ liệu lớn để tự động hoặc bán tự động sinh racác quy tắc này Phương pháp này đã thu được nhiều kết quả vô cùng khả quantrong nhiều lĩnh vực khác nhau của phân tích ngôn ngữ tự nhiên
3.2.1 Mạng nơ-ron nhân tạo
Mạng nơ-ron nhân tạo (Artificial Neural Networks - ANNs) [18] là mô hình lấycảm hứng từ các mạng nơ-ron sinh học hình thành bộ não động vật [25] Các hệthống này học nhằm nâng cao hiệu suất khi thực hiện các nhiệm vụ như: phântích ngôn ngữ, xử lý ảnh, nhận diện giọng nói, phát sinh mã, dịch tự động, chuẩnđoán y khoa và nhiều lĩnh vực khác
Một mạng nơ-ron là một nhóm các nút liên kết với nhau được thể hiện qua 2thành phần là mô hình nơ-ron và cấu trúc liên kết giữa các nơ-ron với nhau Mỗikết nối giữa các nơ-ron có thể truyền tín hiệu đến các nơ-ron khác trong mạng,các nơ-ron tiếp nhận có khả năng xử lý tín hiệu và sau đó truyền tin hiệu đi cácnơ-ron khác Trong các ứng dụng của mạng nơ-ron nhân tạo, thông thường đầu
ra của các nơ-ron sẽ được tính bằng một hàm không tuyến tính từ tất cả các đầuvào của nơ-ron đó Ngoài ra các nơ-ron và các kết nối giữa các nơ-ron cũng có thể
có trọng số kết nối để tăng hoặc giảm mức độ tín hiểu lan truyền trên mạng đó.Thông thường, mạng nơ-ron được tổ chức theo lớp Các lớp khác nhau có thểthực hiện các biến đổi khác nhau dựa vào đầu vào của chúng
Kiến trúc chung của mạng nơ-ron nhân tạo gồm 3 tầng: tầng vào hay còn đượcgọi là input layer, tầng ẩn (hidden layer) và tầng ra hay còn gọi là output layernhư Hình 3.2
Trong đó, tầng ẩn gồm các nơ-ron nhận dữ liệu đầu vào từ tầng input vàchuyển các input này cho các lớp xử lý tiếp theo Trong một mạng nơ-ron nhântạo có thể có nhiều tầng ẩn
Trang 29Chương 3 Kiến thức nền 17
Hình 3.2: Mô hình mạng nơ-ron nhân tạo cơ bản [2]
Nếu các mô hình nơ-ron, hàm chi phí, và thuật toán trong mạng nơ-ron đượclựa chọn một cách thích hợp cho từng bài toán, thì mạng nơ-ron nhân tạo sẽ chokết quả khá chính xác
Cấu trúc hoạt động của một nơ-ron được mô tả như Hình 3.3
Hình 3.3: Quá trình xử lý thông tin của một mạng nơ-ron nhân tạo
Với các tham số x1, x2, , xn∈ R là các giá trị đầu vào tương ứng với 1 thuộctính của dữ liệu, kết quả đầu ra là các giá trị yj với j là nơ-ron thứ j trên mạngnơ-ron đang xét đến Các trọng số w1, w2, , wn∈ R là thành phần rất quan trọngcủa một mạng nơ-ron, nó thể hiện mức độ quan trọng của dữ liệu đầu vào đối vớiquá trình xử lý thông tin của mạng Quá trình học của mạng nơ-ron thật ra làquá trình điều chỉnh các trọng số này của mạng để đạt được kết quả mong muốnnhất
Hàm tổng được sử dụng trong một mạng nơ-ron từ tất cả các giá trị đầu vàothường được tính theo công thức
Trang 30Hình 3.4: Một số hàm chuyển đổi thường dùng.
Mục đích của hàm chuyển đổi sẽ xử lý các kết quả đầu ra khi kết quả đầu ra làkhá lớn, trước khi chuyển tới lớp tiếp theo Đôi khi thay vì sử dụng hàm chuyểnđổi, người ta cũng có thể dùng giá trị ngưỡng để kiểm soát quá trình chuyển đổigiá trị giữa các nơ-ron
Giá trị của y được tính bằng công thức:
Trang 31Chương 3 Kiến thức nền 19
z =Pn
i=1wixi+ b = w1x1+ w2x2+ + wnxn+ b
y = f (z)
Một dạng khác sử dụng ký hiệu vector được đề xuất như sau: giả sử x ∈ Rn
là một đầu vào vector n chiều, kết hợp với trọng số w ∈ Rn n chiều và bias b ∈ R,giá trị đầu ra y được tính bằng:
z = WTx + b; y = f (z)
3.2.2 Mạng nơ-ron tích chập
Mạng nơ-ron tích chập (Convolution Neural Networks - CNNs) là một trong nhữngnhánh của hướng phát triển của Deep learning cho kết quả khá khả quan Đối vớicác mạng nơ-ron truyền thống mỗi nơ-ron đầu vào sẽ kết nỗi với một nơ-ron đầu
ra ở lớp kế tiếp, thay vào đó trong mô hình mạng nơ-ron tích chập này, các lớpconvolution được sử dụng để tính toán cho kết quả đầu ra
Trong những năm gần đây, mạng nơ-ron tích chập được sử dụng khá rộng rãitrong nhiệm vụ phân tích và xử lý ngôn ngữ tự nhiên, kết quả mà chúng mang lạikhá khả quan Các kết quả của mô hình này được Johnson và Zhang [26] đưa ranăm 2014 cho thấy khá chính xác so với cách tiếp cận mô hình truyền thống, sau
đó các nhà nghiên cứu Kalchbrenner, Grefenstette, Blunso hay Shen, Liu và cáccộng sự của ông cũng chứng minh điều này qua bài báo [27–29]
Để hiểu sâu về mạng nơ-ron tích chập, chúng tôi sẽ đi chi tiết hơn các thànhphần cơ bản của một mạng nơ-ron tích chập trong phần tiếp theo
Cấu trúc cơ bản của một mạng nơ-ron tích chập bao gồm: tầng Convolution,tầng Pooling, tầng ReLU và tầng Fully connected
Trước khi đi chi tiết các thành phần cơ bản của mạng nơ-ron tích chập, mặcđịnh người đọc đã làm quen với phần mạng nơ-ron nhân tạo trong phần trước
Trang 32Tầng tích chập (Convolution Layer)
Tầng này là tầng quan trọng nhất trong cấu trúc của mạng nơ-ron tích chập, tầngnày dựa trên lý thuyết về xử lý tín hiệu số, thì việc tích chập ma trận với nhaugiúp chúng ta trích xuất được những thông tin quan trọng từ dữ liệu đầu vào
Để hiểu quá trình tích chập ma trận, ta sẽ tìm hiểu thông qua ví dụ sau:
Hình 3.5: Ví dụ phép toán tích chập giữa ma trận đầu vào và ma trận kernel
(1)
Trong Hình 3.5 là một ví dụ cụ thể về tích chập giữa ma trận đầu vào với kíchthước [5 × 5] với ma trận kernel kích thước [3 × 3] ta thu được kết quả như Hình3.6
Kết quả của quá trình ta sẽ được một ma trận đầu ra là:
Trong Hình 3.5 ma trận kernel kích thước [3 × 3]: [1, 0, 1][0, 1, 0][1, 0, 1]
Những ưu điểm của tầng tích chập:
Trang 33Tầng tổng hợp (Pooling Layer)
Tầng này thường nằm phía sau tầng tích chập, mục đích chính là giảm thiểu kíchthước không gian cho tầng tiếp theo nhưng vẫn giữ được đặc trưng có trong matrận đầu vào
Các hoạt động trong lớp này sẽ dẫn đến mất một số thông tin, tuy nhiên sựmất mát này có ích cho mạng vì hai lý do sau:
• Việc giảm kích thước dẫn đến chi phí tính toán sẽ thấp hơn cho các lớptiếp theo của mạng nơ-ron Tuy nhiên các giá trị đặc trưng vẫn được giữ lạithông qua việc lấy mẫu
• Tránh vấn đề Overfitting trong mạng
Hoạt động của tầng này sử dụng một cửa sổ trượt quét qua toàn bộ dữ liệu,mỗi lần trượt theo một bước trượt hay còn gọi là stride cho trước Khác với tầngtích chập trước đó, tầng này tiến hành lấy mẫu, khi cửa sổ trượt di chuyển chỉ
có một giá trị được xem là giá trị đại diện cho thông tin vùng đó hay còn gọi là
Trang 34giá trị mẫu được giữ lại Các phương thức lấy mẫu phổ biến trong tầng này làMax-Pooling mục đích lấy giá trị lớn nhất, ngoài ra còn có các phương pháp khácnhư lấy giá trị nhỏ nhất hoặc lấy giá trị trung bình.
Một ví dụ giả sử ta có một ma trận có kích thước [32 × 32] và tầng này sử dụng
bộ lọc có kích thước là [2 × 2] với bước trượt stride = 2 và sử dụng phương pháplấy giá trị lớn nhất, Hình 3.7 biểu diễn một phần lát cắt trong ma trận [32 × 32]
Hình 3.7: Ví dụ lấy giá trị lớn nhất đối với tầng Pooling
Bộ lọc sẽ lần lượt duyệt qua ma trận này, với mỗi lần duyệt giá trị lớn nhấttrong 4 giá trị nằm trong vùng của sổ [2 × 2] của bộ lọc sẽ được giữ lại và đưa
ra ở đầu ra Cuối cùng sau khi qua lớp tổng hợp này, kích thước ban đầu của matrận sẽ còn lại [16 × 16] sẽ giảm xuống [2 × 2]
Cũng tương tự cho ví dụ trên, nếu ta sử dụng phương pháp lấy giá trị nhỏnhất ta sẽ thu được kết quả như Hình 3.8
Hình 3.8: Ví dụ lấy giá trị nhỏ nhất đối với tầng Pooling
Trang 35Chương 3 Kiến thức nền 23
Tầng ReLU (Rectified Linear Unit)
Nhiệm vụ chính của tầng này là chuyển đổi toàn bộ giá trị âm trong kết quả từ tầngtrước đó thành một giá trị cụ thể ví dụ như 0 nếu sử dụng hàm f (x) = max(0, x).Một cách dễ hiểu nếu tất cả các nơ-ron được tổng hợp bởi các phép biến đổi tuyếntính thì ta có thể đưa một mạng nơ-ron bất kỳ về dưới dạng một hàm tuyến tính.Như trong mạng nơ-ron truyền thẳng, việc xây dựng dựa trên các phép biến đổituyến tính như vậy sẽ khiến việc xây dựng mạng nơ-ron đa tầng sẽ trở nên vônghĩa Có rất nhiều cách để khiến mô hình trở nên phi tuyến như sử dụng hàmkích hoạt sigmoid, tanh Đặt biệt các nghiên cứu gần đây đã chứng minh việc sửdụng hàm ReLU khá hiệu quả, đây là một trọng những điểm làm cho việc sử dụnghàm này trở nên phổ biến
Tầng kết nối đầy đủ (Fully-Connected Layer)
Tầng kết nối đầy đủ là cách kết nối các nơ-ron ở hai tầng với nhau trong đó tầngsau kết nối đẩy đủ với các nơ-ron ở tầng trước nó Ta có thể hiểu tầng này đóngvai trò như một mô hình phân lớp và tiến hành dựa trên dữ liệu đầy đủ đã được
Một ví dụ được Lopez đưa ra trong bài báo [33] về việc sử dụng mạng nơ-rontích chập phân tích ngôn ngữ tự nhiên như trong Hình 3.9
Với ví dụ trên trong bài báo của Lopez, chúng ta có ma trận đầu vào cho mộtcâu "you should listen to your dad" và d = 5 là chiều dài của bộ từ điển, nó sẽ
là một ma trận với độ rộng là 5 và chiều dài là 6, với heigth tùy biến (2,3,4) vàchúng ta sẽ áp dụng với 2 bộ lọc cho từng vùng trên ma trận, sau tầng tích chậpđầu tiên ta sẽ có 6 kết quả như trên, sau khi sử dụng max-pooling cho việc tìm
Trang 36Hình 3.9: Ví dụ ứng dụng CNN vào xử lý ngôn ngữ tự nhiên.
đặc trưng cho tầng trước và sử dụng hàm softmax cho tầng kết nối đầy đủ ta thuđược kết quả cuối cùng gồm 2 lớp như trong Hình 3.9
3.2.3 Mạng nơ-ron hồi quy
Mạng nơ-ron hồi quy (Recurrent Neural Networks - RNNs) là một trong những
mô hình của Deep Learning được đánh giá có nhiều ưu điểm trong tác vụ xử lýngôn ngữ tự nhiên Ý tưởng của mạng nơ-ron hồi quy dựa trên việc thiết kế mộtmạng nơ-ron sao cho có khả năng xử lý được thông tin dưới dạng chuỗi
Mạng nơ-ron hồi quy có tác vụ lặp đi lặp lại cho mỗi thành phần trong chuỗi,tại một nơ-ron có kết quả đầu ra phụ thuộc vào kết quả tính toán của các nơ-ron
Trang 37• xt: là giá trị đầu vào tại thời điểm thứ t
• st: là trạng thái ẩn (hidden state) tại thời điểm t st được tính dựa trên cáctrạng thái ẩn trước đó kết hợp với giá trị đầu vào tại thời điểm hiện tại
st = f (U xt+ W st−1) Thường hàm f là hàm phi tuyến tính (Tanh hoặcReLU ) s−1 là trạng thái ẩn được khởi tạo là vector không
• ot: là giá trị đầu ra tại thời điểm t ot là một vector chứa xác suất của toàn
bộ các từ trong từ điển ot= sof tmax(V st)
Trang 38một bộ tham số (U , V , W ), các tham số này sẽ được học trong suốt quá trìnhphân tích.
Để tìm được các tham số này thoả mãn hàm Cost là nhỏ nhất Có một số bàibáo hàm Cost được xem như là hàm mất mát Lost (L) Hàm này mang ý nghĩagiá trị mong muốn so với giá trị mà hệ thống trả ra độ chênh lệch càng thấp thìmức độ học càng chính xác Hàm mất mát đơn giản nhất là hàm Distance giữaOuput và giá trị thực tế mong muốn có được
Mục đích cuối cùng của chúng ta là đi tìm các tham số U, V, W để cực tiểuhoá hàm mất mát Để tìm được các giá trị mong muốn của các tham số này, ta
đi tìm đạo hàm riêng của hàm mất mát với các tuỳ biến như sau (đây là các giátrị chúng ta cần tính):
Trang 39(3.4) là một dạng của Jacobian Matrix ∂st+1
∂s t của biểu thức Ta có thể viết dướidạng:
Trang 40∂V =X
t
√
· stTương tự cho các tham số U, W
∂L
∂U =X
3.2.4 Long Short-Term Memory
Một trong những khó khăn của mạng nơ-ron hồi quy đó là sự phụ thuộc quá dài(Long-term dependency) Giả sử văn bản có khoảng 100.000.000 từ, thì mạng nơ-ron hồi quy phải dụng bộ nhớ khá lớn Đó là một vấn đề khó khăn khá lớn đượcHochreiter năm 1991 [4] và Bengio năm 1994 [34] đưa ra như một thách thức cho
mô hình này
Thêm vào đó, trong những năm 1990, mạng nơ-ron hồi quy phải đối diện vớihai thách thức lớn đó là vấn đề Vanishing và Exploding Gradients ảnh hưởng lớnđến hiệu suất của mô hình Vấn đề này phát sinh trong quá trình huấn luyện mạng