1. Trang chủ
  2. » Luận Văn - Báo Cáo

Khóa luận tốt nghiệp Công nghệ thông tin: Hệ thống đánh giá và gợi ý sản phẩm dựa trên bình luận sử dụng BERT

93 1 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Hệ thống đánh giá và gợi ý sản phẩm dựa trên bình luận sử dụng BERT
Tác giả Nguyễn Lan Anh, Trần Văn Trường
Người hướng dẫn ThS. Hồ Trần Nhật Thủy
Trường học Đại học Quốc gia Thành phố Hồ Chí Minh
Chuyên ngành Công nghệ thông tin
Thể loại báo cáo khóa luận tốt nghiệp
Năm xuất bản 2021
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 93
Dung lượng 26,32 MB

Nội dung

Mãi đến gần 14 năm sau, với sự phát triển của khả năng tính toán, sự xuất hiệncủa các mô hình xác suất thống kê và các thuật toàn Machine learning, Xử lý ngôn ngữ tự nhiên đã quay trở lạ

Trang 1

BAO CAO KHOA LUAN

TOT NGHIEP

Tên đề tai: HE THONG ĐÁNH GIA VA GOI Ý SAN

PHAM DỰA TREN BÌNH LUẬN SU DUNG BERT

(SENTIMENT ANALYSIS OF E-COMMERCE

PRODUCT REVIEWS USING BERT)

Giảng viên hướng dẫn: ThS Hồ Trần Nhat Thủy

Trang 2

LOI CAM ON

Quá trình thực hiện khóa luận tốt nghiệp là giai đoạn quan trọng nhất trong quãngđời mỗi sinh viên Khóa luận tốt nghiệp là tiền để nhằm trang bị cho chúng em những

kỹ năng nghiên cứu, những kiến thức quý báu trước khi lập nghiệp

Trước hết, chúng em xin trân trọng cảm ơn Cô Hồ Trần Nhật Thủy đã tận tìnhgiúp đỡ, định hướng các tư duy và cách làm việc khoa học Đó là những góp ý hết sức

quý báu dành cho chúng em.

Ngoài ra, chúng em xin chân thành cảm ơn quý Thay, Cô đang giảng day và côngtác tại khoa Hệ thống thông tin, Trường Đại học Công nghệ Thông tin đã tận tình chỉdạy và trang bị cho chúng em những kiến thức cần thiết trong suốt thời gian ngồi trênghế giảng đường, làm nén tang để chúng em có thể hoàn thành được bài khóa luận này

Xin chúc những điều tốt đẹp nhất sẽ luôn đồng hành cùng mọi người và xin chânthành cảm ơn!

TP Hồ Chí Minh, ngày 16 tháng 05 năm 2021

Nguyễn Lan Anh - Trần Văn Trường

Trang 3

MỤC LỤC

CHƯƠNG 1 GIỚI THIỆU TONG QUAN -555ccccvvvvvveerrrrrrrrrrrrrrree 4

LD BO na ố ẻ 41.2 Lịch sử phát triển Xử lý ngôn ngữ tự nhiên

I0 0o ẽn ẽ.ẽ 61.3.1 Phân tích cảm xúc từ ý kiến người dùng

1.3.2 Ứng dụng của bài toán phân tích cảm xúc -+c-++ 6

1.3.3 Thách thức của bài toán phân tích cảm xúc

1.4 Mục tiêu khóa luận -¿- ¿+22 c3 21323121 5E15551 51512151111 EETrrkrrrrree 8

1.5 Bố cục khóa luận

CHƯƠNG 2 CÁC NGHIÊN CỨU LIÊN QUAN VÀ PHƯƠNG PHÁP DE XUẤT

20 2.1 Các mức độ phân tích cảm xúc

2.2 Các nghiên cứu liên quan đến bài toán ¿¿2+z++22+++cvvszvesrrxee 20

CHƯƠNG 3 CƠ SỞ LÝ THUYẾT -: t:tt!+2ttttrrtttriiiirrrrree 24

3.1.1 Khái niệm - + St tt 2tr tr rerrrrrrrrdee 24

3.2 Biểu diễn dưới dạng Véc-tơ (Word Embedding) -:: c:z+ccss+ 25

3.2.1 Khái niệm và mục đÍích - -¿- ¿2+2 St x St *+k*EE+EEeEevketErkrrkeseserrersrrrree 25

3.2.2 Biểu diễn với Túi từ (Bag of Words) -2cccc2c2vccccccvvvrrrrrrrrrrrrr 25

3.2.3 One-hot encoding -¿- +: +52 3932221212122 2121211.11121.1 re 26 3.2.4 TF-IDF (Term Frequency — Inverse Document Erequency) - 27

Trang 4

3.2.5 Biểu diễn với N-grams 5c: 22v tt x21 1 28

3.2.8 Word embeddings [23] - ¿E651 E122 E12 1212121 1 tr rườn 36 3.2.9 BERT word embedding - ¿- - + 5S E22 EEEEEEEskekrrkrrrrerrke 373.3 Các phương pháp phân lớp truyền thống 2¿©22+¿z222v+zz+scrxee 42

3.3.2 Hoi quy Logistic (Logistic Regression) [26] - 2 +5+55+<+s<++ 49

3.4 Mô hình học sâu: BERT [23] - - ¿+22 +22 +2 *EcEEeE+xerrrrterrserrrrrrrrrrxer 53 3.4.1 Sự ra đời của BEIT - c1 St t1 23 E12 111 1511 1 111111111111 111 E1 xrke 53 3.4.2 Sự khác biệt của BERT so với các phương pháp trước - 54

3.4.3 Giới thiệu 3212:1075 54

3.4.5 Input Repr€s€nn{atiOI - - + tk ST HT HH rên 57 3.4.6 Pre-training 'Tia§ks - -s¿ c 21 St H222 01121110 2 ren 58

3.4.8 Fine-tuning_PTOC€dUTe - - + +2 + S + 2k2 221111 11 ke tre 61

3.5 Các độ đo đánh giá - ¿+ tk TT 101110 1011100 go rên 62 3.5.1 Độ chính xác (ACCUTACY) ¿c1 1S 1H91 HH 62 3.5.2 PPreCiSIOI - TS HH2 00102 12 H001 T1 ri hờn 62 3.5.3 Recall 63 3.5.4 Fl-Score.

4.1 Ngôn ngữ, công cụ hỗ trợ xây dựng website

Trang 5

4.1.1 Ngôn ngữ Python - - - ¿+ + S22 EE2E21 2121 1111101 T11 ren 64 4.1.2 Django FTameWOrK -¿- + + St kề TT 1210111111111 1101011 1 0 gi 65 4.1.3 nh ố ố ốố ố ố ố ố ốeố 65 4.1.4 Google COlab cà k1 121111 TH HH1” 21 0H HH HH HH HH ướt 66

4.2 Thiết kế hệ thống -2¿¿©22++22EE+++t2EEEE1222221111222211122211122222111 1211 xe 674.2.1 Sơ đồ Usecase ssssssssssssssssssssssssssssesssesseesesssstissinnnesssssssssssssssseeeeeeeeeseeseeees 674.2.2 Danh sách các seCase sàn 9111121221022 011k 684.2.3 Đặc tả Usecase và Sơ đồ hoạt động (Actitity Diagram) - 69

4.2.4 Sequence Diagram va Class Diagramm - ¿+ + sx‡svxerevserrrree 70

4.3 Thiết kế dữ liệu 222222 vn re 73

4.3.1 Mô hình dữ liệu quan hỆ - - ¿5252 2E S**Ek‡kekeEEEEkEkEkerrrkrkrkee 73

CHƯƠNG 5 THỰC NGHIỆM VA MINH HỌA -cccc-cc+++++z2222t+ 71

5.2 Các tập dữ liỆu 5: tt 5 2 1 HH HH HH H00 00011011001 1 1kg 77

5.3 Tiền xử lý đữ liệu ¿-522222¿-2222E2212221122222111122221112201112220111 01 Ceee 79

5.4 Xây dựng mô hình học sâu phân tích cảm XÚC - - - +2 << ++++ 81

5.4.1 Môi trường triển khai -¿ ©222++2VV+++t2EEES++eSEEE+rretEExrrrrrrkrrrrrrr 81

5.5 Két com ẽ.ẻẽ 835.6 Minh họa kết qua sccsscsscsssssssesssssssesssssssessssseecssssuesessssseseessseseesssiesesssseeseessseeeesase 835.6.1 Môi trường triỀn khai -22222222++2222222YE2+rtrtEEEEEvrrrrrrtrrrrrrrrrree 835.6.2 Kết quả đạt được

CHƯƠNG 6 KET LUẬN VÀ HƯỚNG PHÁT TRIẺN -cc+¿ 896.1 Kết quả

Trang 6

6.2 Khó khăn -¿- ¿52 52St22E2 2 122187122121211.T1 1.111 erree 89

Trang 7

DANH MỤC HÌNH ẢNH

Hình 2.1 Tổng quát các bước thực hiện trong khóa luận - -+ 23

31 32 29

Hình 3.1 Biểu diễn từ "yêu" bằng các từ lân cận nó

Hình 3.2 Ma trận đồng xuất hiện

Hình 3.3 Ví dụ về mô hình N-grams

Hình 3.4 Kiến trúc mạng no-ron 33Hình 3.5 Ví dụ về Word2vec :::cccctt tre 33

Hình 3.8 Tìm đường thang dé phân chia các bộ điểm xanh và đỏ

Hình 3.9 Việc ánh xa tập data từ không gian 2 chiều sang không gian 3 chiéu 43Hình 3.10 Nhiều các đường thẳng dé phân chia 2 bộ điểm xanh, đỏ 43

Hình 3.13 Nguyên tắc xác định Hyperplan, trường hợp chọn đường thang B 47Hình 3.14 Nguyên tắc xác định Hyperplan, trường hợp chọn đường thẳng C 48Hình 3.15 Tìm siêu phẳng có margin lớn nhất -¿ 2czz+222vvscccc+2 48Hình 3.16 Xử lý mặt phẳng phi tuyến tính và không thé tách rời 49Hình 3.17 Vi dụ bài toán phân loại 2 lớp (Binary Classification) ‹ ‹ + 50 Hình 3.18 Hàm SigmOid - ¿- - - ¿5< SE SE 1E E11 111141111101 1 11010101 1u 51 Hình 3.19 Quy trình học từ dữ liệu ¿- + 5S St +t#vEvEvkerrkstskerkrrrerrrree 52 Hình 3.20 Sự so sánh giữa BERT, OpenAI GPT và ELMo ¿+ s++<<s+ 57 Hình 3.21 Input representatiOH cesses SS*Sk*k2k$ E112 11111 101111111 1 uy 57

Hình 3.22 Kết quả của BERT đạt được trên SQUAD v[ Ì -5 <+ 61Hình 3.23 Kết quả của BERT trên GLUE benchmark -2 ¿2225222 62

Hình 4.1 Logo của ngôn ngữ lập trình Python - 25+ 5555+scsscc>+x+eexsx+ 64 Hình 4.2 Mô hình MVT của framework Django ‹-¿- 5c + St sxskekekererrkekerree 65

Trang 8

Hình 4.6 Usecase Quản lý bình luận - ¿+5 t2 ‡vEvEvxerrksteterrrrrrrrree 68

Hình 4.7 Sequence diagram Lấy bình luận từ URL -.cc::¿2vcvccccc+2 71Hình 4.8 Sequence diagram Phân tích sắc thái bình luận - : - 71

Hình 4.9 Sequence diagram Theo dõi giá . ¿-¿-¿- 52 25+ S++++xetererrrkskerrre 72

Hình 4.10 Class diagram tơng quất -22::¿£22222v2+2++tttEEEEEEvrrrrrtrrrrrrrrrree 73Hình 5.1 Tập dữ liệu huấn luyện bởi tổ chức AïVïVN -:ccccccccccveccrrr 71Hình 5.2 Đồ thị tương quan về số lượng bình luận tích cực và tiêu cực 78Hình 5.3 Dé thị thé hiện đồ dài bình luận trong bộ dữ liệu -: 79Hình 5.4 Các bước tiền xử lý dữ liệu :¿-2222222ccettcEEEErvrrrrrrrrrrrrrrrree 81Hình 5.5 Màn hình nhập URL sản phẩm và hiển thị các sản phẩm đã cĩ review 84Hình 5.6 Màn hình hiền thị chỉ tiết các review của sản phẩm . - - 85Hình 5.7 Màn hình hiền thị kết quả phân tích sắc thái bình luận - 87Hình 5.8 Màn hình thêm sản phẩm để theo dõi giá -cccc:c+222cvcvcccccee 87Hình 5.9 Kết quả cập nhật giá sau mỗi giờ . - -: +2v2z+222vvz+ttcvvsrrrrrx 87Hình 5.10 Màn hình hiền thị danh sách các sản phẩm dang theo dõi giá 88

Hình 5.11 Màn hình gửi email thơng báo cĩ giảm giá - - +5 s+++cex+xsxe 88

Trang 10

ĐÈ CƯƠNG CHI TIẾT

TEN ĐÈ TÀI: HE THONG ĐÁNH GIÁ VÀ GỢI Ý SAN PHAM DUA TREN BÌNHLUẬN SỬ DỤNG BERT

SENTIMENT ANALYSIS OF E-COMMERCE PRODUCT REVIEWS USING BERTCán bộ hướng dẫn: ThS Hồ Trần Nhật Thủy

Thời gian thực hiện: Từ ngày 1/3/2021 đến ngày 14/6/2021

Sinh viên thực hiện:

Nguyễn Lan Anh - 17520241

Trần Văn Trường - 17521190

Nội dung đề tài: Xây dựng một hệ thống khuyến nghị sản phẩm giúp người dùng lựa chọnđược nơi mua sản phẩm tốt nhất Đồng thời, hệ thống có chức năng phân tích các bìnhluận của khách hàng, giúp người bán cải thiện sản phẩm và dich vụ Hệ thống thu thập dữliệu bình luận về sản phẩm, sau đó áp dụng các thuật toán máy học đề phân tích Từ đóđưa ra các khuyến nghị cho cả người mua và người bán

1 Mục tiêu:

- Tìm hiểu và nghiên cứu các thuật toán phân loại văn bản, công nghệ xây dựng website

- Xây dựng và huấn luyện các mô hình học sâu, từ đó có thể phân tích điểm mạnh và yếucủa từng mô hình đối với bài toán nói riêng và các phương pháp tiếp cận khác nói chung

- Xây dựng hệ thông khuyến nghị gợi ý sản phẩm, theo dõi sự biến động của giá cả cho

người dùng.

2 Phạm vi đề tài:

- Tìm hiểu các phương pháp phân loại văn bản

- Tìm hiểu và áp dụng BERT đề xây dựng mô hình phân tích sắc thái bình luận

- Xây dựng hệ thống thử nghiệm có các chức năng:

+ Đăng ký và đăng nhập.

+ Tìm kiếm sản phẩm

Trang 11

+ Gợi ý sản phẩm có độ tin cậy cao, nhận được nhiều bình luận tích cực từ các khách hàng

đã mua.

+ Sắp xếp và hiền thị thông tin sản pham theo giá cả và độ tin cậy

+ Theo dõi giá cả sản phẩm

3 Đối tượng nghiên cứu:

- Dữ liệu đánh giá của khách hàng về các sản phẩm trên các trang thương mại điện tử:

Shopee, Tiki, Lazada.

- Các thuật toán phân loại văn ban.

4 Phương pháp thực hiện:

- Khảo sát các hệ thống khuyến nghị sản pham đã có trên thị trường

- Tìm hiểu, nghiên cứu các phương pháp phân loại văn bản: RNNs, LSTMs, CNNs, BERT,

PhoBERT.

- Thu thập dữ liệu bình luận, đánh giá của khách hàng về sản phẩm trên các trang thương

mại điện tử: Shopee, Tiki, Lazada.

- Xây dựng, so sánh, đánh giá mô hình thu được từ thuật toán.

- Phân tích, thiết kế, xây dựng hệ thống website khuyến nghị sản phẩm

5 Kết quả dự kiến:

- Xây dựng được mô hình phân tích đánh giá bình luận sản phẩm của khách hàng

- Xây dựng hoàn chỉnh hệ thống gợi ý sản phẩm cho hiệu năng cao Hệ thống có khả năng

mở rộng và phát triển phù hợp với nhu cầu người tiêu dùng

Trang 12

1 Khao sát va phân tích các hệ Nguyễn Lan Anh, 01/03/2021 —

thống khuyến nghị dang có mặt | Tran Văn Trường 07/03/2021

trên thị trường.

2 Tim hiểu và nghiên cứu các thuật | Nguyễn Lan Anh 08/03/2021 —

toán phân loại văn bản: RNNs, 15/03/2021

4 Xây dựng mô hình phân loại sắc | Nguyễn Lan Anh, 24/03/2021 —

thái bình luận Trần Văn Trường 31/03/2021

5 Phân tích, thiết kế các tính năng | Nguyễn Lan Anh 01/04/2021 —

của hệ thông khuyến nghị sản 05/04/2021

phẩm

6 Xây dựng và hoàn chỉnh các tính | Nguyễn Lan Anh, 06/04/2021 —

năng của hệ thống Trần Văn Trường 06/05/2021

7 | Triển khai và chạy thử hệ thống | Nguyễn Lan Anh, 07/05/2021 —

Trần Văn Trường 21/05/2021

§ Hoàn thiện sản phẩm Viết báo Nguyễn Lan Anh, 22/05/2021 —

cáo Trần Văn Trường 14/06/2021

Xác nhận của CBHD TP HCM, ngày 07 tháng 03 năm 2021

(Ký tên và ghi rõ họ tên) Sinh viên 1

(Ký tên và ghi rõ họ tên)

Trang 13

ThS Hồ Trần Nhật Thủy Nguyễn Lan Anh

Sinh viên 2

(Ký tên và ghi rõ họ tên)

Trần Văn Trường

Trang 14

CHUONG1 GIỚI THIỆU TONG QUAN

1.1 Bối cảnh

Cùng với xu thế phát triển công nghệ trên thế giới, thương mại điện tử ở Việt

Nam đang từng bước hình thành, tăng trưởng mạnh mẽ, và giữ vai trò ngày càng quan

trọng trong phân phối hàng hóa Việt Nam được đánh giá là một trong những thị trườngthương mại điện tử (TMĐT) phát triển nhanh nhất khu vực Đông Nam Á

Sự phát triển của TMĐT đã mở ra thị trường mua sắm online với nhiều mặt hang

đa dạng Đặc biệt, khi dịch Covid-19 bùng phát, thói quen của người tiêu dùng đang có

sự thay đổi rõ rệt, chuyển từ trực tiếp sang trực tuyến Trong một khảo sát gần đây củaNielsen Việt Nam và Infocus Mekong Mobile Panel, 25% số người được hỏi cho biết

đã tăng cường mua sắm online và giảm các hoạt động mua sắm trực tiếp Còn theonghiên cứu của Worldpanel, mua sắm trực tuyến dần chiếm ưu thé va bùng né ấn tượng

Tuy nhiên, mua hàng trực tuyến cũng tiềm ấn rất nhiều rủi ro Mua sắm onlinehạn chế người tiêu dùng trong việc đánh giá sản phẩm Bởi người tiêu dùng chỉ có thénhìn hình ảnh sản phẩm qua thiết bị kết nói mạng — thường tiềm ẩn rủi ro là không giốngvới sản phẩm thật Bên cạnh đó, việc tiếp cận các thông tin về an toàn/ cảnh báo củasản phẩm cũng khó khăn hơn so với hình thức mua sắm truyền thống Ngoài ra, sự xuấthiện của nhiều sàn thương mại điện tử và các dịch vụ mua săm online của các doanhnghiệp, mua bán nhỏ lẻ trên mạng xã hội cũng làm cho người tiêu dùng cảm thấy bốirồi, gặp khó khăn khi lựa chọn sản phẩm Chang hạn, cùng một loại mặt hàng nhưng ởcác cửa hàng online có rất nhiều sự khác biệt về giá cả, mẫu mã, hạn sử dung, dịch vụbảo hành và chăm sóc khách hàng Đề lựa chọn một sản phẩm tốt, người tiêu dùng phảimất nhiều thời gian, công sức tìm hiểu, trải nghiệm, so sánh, đánh giá

Nhận thay được khó khăn ấy, nhóm tác gia lựa chọn xây dựng hệ thống đánh giá

và gợi ý sản phẩm dựa trên bài toán Phân tích cảm xúc từ bình luận của khách hàng

1.2 Lịch sử phát triển Xứ lý ngôn ngữ tự nhiên

Các ý tưởng và nghiên cứu về Xử lý ngôn ngữ tự nhiên đã xuất hiện từ nhữngnăm đầu 1900 Mãi đến năm 1950, Alan Turing đã xuất bản bài báo “Computing

Trang 15

Machinery and Intelligence” mô tả “Phép thử Turing”: đặt ra câu hỏi liệu máy tính có

thể đạt được ý thức và có khả năng suy nghĩ huy không qua đó hình thức hóa khái niệm

thuật toán và tính toán với máy [1] Sau đó không lâu, năm 1952, mô hình Hodgkin —

Huxley ra đời đã cho thây cách bộ não sử dụng các tế bào thần kinh trong việc cấu tạomạng lưới điện [2] Những sự kiện này đã giúp truyền cảm hứng cho ý tưởng về Trí tuệnhân tạo (AI), Xử lý ngôn ngữ tự nhiên (NLP) và sự phát triển của máy tính

Từ năm 1957 đến 1966, hàng loạt các nghiên cứu về Xử lý ngôn ngữ tự nhiênđược công bố Cau trúc ngữ pháp Phase — Structure Grammar được tạo ra bởi NoamChomsky cho phép máy tính có thé hiéu được ngôn ngữ tự nhiên (1957)

Năm 1964, một quá trình “đánh chữ” bình luận và phản hồi tự động được thiết

kế bởi ELIZA Năm 1964, ALPAC (Automatic Language Processing AdvisoryCommittee), một Uy ban được Mỹ thành lập dé đánh giá tiến trình nghiên cứu Xử lý

ngôn ngữ tự nhiên Tuy nhiên, năm 1966, NRC và ALPAC đã dừng việc tài trợ vào AI

và NLP vì không ứng dụng được vào sản xuất thực tế (chi phí tao ra bản dịch của máytính đắt hơn con người) Nghiên cứu Trí tuệ nhân tạo và Xử lý ngôn ngữ tự nhiên đã bịnhiều người xem là đi vào ngõ cụt

Mãi đến gần 14 năm sau, với sự phát triển của khả năng tính toán, sự xuất hiệncủa các mô hình xác suất thống kê và các thuật toàn Machine learning, Xử lý ngôn ngữ

tự nhiên đã quay trở lại mạnh mẽ với nhiều nghiên cứu thực tiễn ra đời: N-Grams trởnên cực kì hữu dụng trong việc nhận biết và theo dõi các cụm dữ liệu ngôn ngữ/số; Năm

1997, các mô hình mạng thần kinh tái phát (RNN, LSTM) được giới thiệu và tới năm

2007 đã được công nhận áp dụng đề xử lý giọng nói và văn bản [3]

Ngày nay, Xử lý ngôn ngữ tự nhiên đã trở nên phổ biến trong thực tiễn: các trợ

lý ảo có thé tự động tương tác và phục vụ người dùng như Siri, Alexa; chatbots có théthực hiện những cuộc nói chuyện phức tạp, trợ giúp kinh doanh (Talla, Glowboat); các

ứng dụng dịch thuật, chuyền giọng nói thành văn bản và ngược lại ngày càng hoàn thiện

Với xu hướng và tầm quan trọng của dữ liệu ở thời đại ngày nay, Xử lý ngônngữ tự nhiên là chìa khóa mau chốt dé khai thác tri thức từ những con chữ tưởng chừng

như vô nghĩa.

Trang 16

1.3 Phát biếu bài toán

1.3.1 Phân tích cảm xúc từ ý kiến người dùng

Phân tích cảm xúc trong ngôn ngữ tự nhiên đề cập đến việc sử dụng các phương

pháp xử lý ngôn ngữ tự nhiên, phân tích văn bản, các phép tính toán trong ngôn ngữ

học, sinh trắc học để xác định, trích xuất, định lượng, nghiên cứu một cách có hệ thống

các trạng thái tình cảm theo ý kiến chủ quan [4] Nói một cách dễ hiểu, phân tích cảm

xúc tức là phân loại cảm xúc (tích cực, tiêu cực, trung tính) của một câu hay đoạn văn

ta thường thấy hằng ngày Phân tích cảm xúc được ứng dụng nhiều trong việc phân tíchcảm xúc, ý kiến của người dùng, khách hàng để mang lại thông tin quý giá hỗ trợ trongkinh doanh.

Có những bài toán mở rộng hơn từ bài toán phân tích cảm xúc người dùng ban

đầu như xác định rõ trạng thái cảm xúc của người dùng (vui, buồn, giận dữ, ), phát

hiện mục tiêu/ nguồn gốc của cảm xúc Tuy nhiên, trong khóa luận này chi dé cập đến

bài toán phân tích cảm xúc người dùng cơ bản, là xác định mức độ tích cực, tiêu cực từ

các ý kiến phản hồi của người dùng.Có những bài toán mở rộng hơn từ bài toán phântích cảm xúc người đùng ban đầu như xác định rõ trạng thái cảm xúc của người dùng(vui, buồn, giận dữ, ), phát hiện mục tiêu/ nguồn gốc của cảm xúc Tuy nhiên, trongkhóa luận này chỉ đề cập đến bài toán phân tích cảm xúc người dùng cơ bản, là xác địnhmức độ tích cực, tiêu cực từ các ý kiến phản hồi của người dùng

1.3.2 Ung dụng cúa bài toán phân tích cảm xúc

Thương mại điện tử ra đời, đem lại nhiều lợi ích cho con người Khách hàng cóthé lựa chọn da dạng các sản phẩm mà không cần phải đến tận nơi, tiết kiệm tiền bạc,

thời gian và công sức Tuy nhiên, sự tiện lợi cũng đi kèm với những rủi ro Hàng giả,

hàng nhái, kém chất lượng tràn lan, rất khó kiểm duyệt trên sàn thương mại điện tử Vìthế, không ít khách hàng e ngại, do dự hay từ chối việc mua hàng online Do đó, những

hệ thống gợi ý sản phẩm uy tín dựa trên việc phân tích cảm xúc bình luận của ngườidùng vô cùng quan trọng.

Trong thực tế, khách hàng luôn thích được lắng nghe và chính bài toán phân tíchcảm xúc là chìa khóa của một thương hiệu dé thấu hiểu khách hàng của họ Tiếp nhận

phản hồi, ý kiến của người dùng đối với sản phẩm hay dịch vụ, hiểu được tâm tư của

Trang 17

khách hàng là điều cần thiết đối với một doanh nghiệp, thương hiệu Thông qua nhữngcảm xúc, phản hồi từ người dùng, doanh nghiệp có thể nắm bắt được chất lượng làmviệc của dịch vụ chăm sóc khách hàng, chất lượng các tính năng của sản phẩm Từ đó,giúp cho việc cải tiến trở nên hiệu quả, chính xác hơn.

Theo báo cáo thống kê từ trang vnetwork.vn, hiện đang có tới 68,17 triệu người

đang sử dụng dịch vụ Internet tại Việt nam tinh tới thang 1 năm 2020 (tăng hơn 10% so

với 2019), chiếm 70% dân sé Việt Nam Vì thế riêng với nước ta, vẫn đang hiện diện

một nguồn dữ liệu người dùng khổng 16 chưa được khai thác trên Internet, đặc biệt là

các mạng xã hội hàng triệu người dùng, các sàn thương mại điện tử Chính nguồn dữliệu đổi dào và da dạng này là nguyên liệu, đồng thời cũng là cơ hội mạnh mẽ dé cácbài toán khai thác dữ liệu bứt phá.

Phân tích cảm xúc cũng không ngoại lệ, nhờ vào “ngôn ngữ tự nhiên”, những

nguyên liệu khổng lồ có sẵn trên Internet, việc thực hành và khả năng áp dụng vào thực

tế là hoàn toàn khả thi Bên cạnh đó, công dụng của bài toán cũng trở nên đa dạng

Ngoài những ứng dụng thực tiễn đã nêu trên, phân tích cảm xúc còn được sử dụng rộng

rãi trong việc nghiên cứu thị trường (nghiên cứu đối thủ); giám sát truyền thông, mạng

xã hội (cập nhập những xu hướng mới nhất; theo dõi nội dung quan tâm/ được tạo bởingười dùng mạng xã hội; khám phá những yếu t6 ảnh hưởng đến một thương hiệu; nângcao chất lượng quản lý rủi ro

Như vậy, đối với một thị trường xã hội còn mới mẻ và đang bắt đầu du nhậpnhững công nghệ Trí tuệ nhân tạo/ Khai thác dữ liệu cộng với nguồn dữ liệu dồi dàovẫn chưa được sử dụng và khai thác một cách triệt để chính là sân choi dé các bài toánMáy học/Học sâu, đặc biệt là Phân tích cảm xúc trong ngôn ngữ tự nhiên có thể tỏa

sáng.

1.3.3 Thách thức của bài toán phân tích cảm xúc

Dé phân tích cảm xúc trong ngôn ngữ tự nhiên hoàn thiện, máy tính phải hiểuđược câu trúc, ngữ nghĩa và ý định, mục đích chính xác của câu nói Điều này gây ranhiều sự khó khăn như:

- _ Nhận diện được đối tượng người dùng đang nhắc đến trong nhiều thực thé xuất

hiện trong một câu đề làm rõ ý định của người dùng

Trang 18

- Nhận diện được các danh từ, cụm danh từ được sử dụng để đề cập đến một đối

tượng đã xuất hiện.

- Phân tích cú pháp của câu: nhận diện chủ ngữ va đối tượng của câu Nhận diện

động từ, tính từ, trạng từ đang đề cập, nhắn mạnh đến đối tượng nào trong câu

- Riêng ở Việt Nam, ta có nhiều từ long, thơ ca, thành ngữ, tục ngữ và nhiều cách

nói mỉa mai, châm biếm nên ý nghĩa, cảm xúc thật sự của câu nói có thể bị chegiấu

1.4 Mục tiêu khóa luận

Trước khi bắt đầu thực hiện, khóa luận này đặt ra những mục tiêu như sau:

- Tìm hiểu và nghiên cứu các thuật toán phân loại văn ban, công nghệ xây dựng

website.

- Xây dựng và huấn luyện các mô hình học sâu, từ đó có thể phân tích điểm mạnh

và yếu của từng mô hình đối với bài toán nói riêng và các phương pháp tiếp cậnkhác nói chung.

- _ Xây dựng hệ thống khuyến nghị gợi ý sản phẩm, theo dõi sự biến động của giá

cả cho người dùng.

1.5 Bố cục khóa luận

Với những mục tiêu đề ra, khóa luận sẽ bao gồm 6 chương được trình bày như sau:

Chương 1 Giới thiệu tổng quan về bối cảnh, lịch sử của Xử lý ngôn ngữ tựnhiên và phát biểu bài toán Phân tích cảm xúc bình luận (ứng dụng, thách thức).Chương 2 Giới thiệu chỉ tiết về bài toán Phân tích cảm xúc bình luận, nhữngcông trình nghiên cứu liên quan và đề xuất các phương pháp khóa luận sẽ thực

hiện.

Chương 3 Trình bày các kiến thức nền tảng về xử lý ngôn ngữ tự nhiên, kỹthuật học máy, các mô hình học sâu và độ đo kiểm định phục vụ cho bài toán.Chương 4 Mô tả quá trình phân tích thiết kế hệ thống, thiết kế dữ liệu cho hệthống website

Trang 19

Chương 5 Mô tả quá trình thực hành, các bước thu thập, tiền xử lý dữ liệu, xâydựng mô hình, huấn luyện và đánh giá kết quá rồi từ đó rút ra kết luận Ứng dụng

mô hình có kết quả cao nhất vào hệ thống đánh giá và gợi ý sản phẩm

Chương 6 Phân tích, đánh giá và thảo luận các kết quả đạt được cùng với cáchướng phát triển trong tương lai

Trang 20

CHƯƠNG2 CAC NGHIÊN CỨU LIEN QUAN VÀ

PHƯƠNG PHÁP ĐÈ XUẤT

2.1 Các mức độ phân tích cảm xúc

Bài toán Phân tích cảm xúc trong ngôn ngữ tự nhiên thuộc dạng bài toán phân tích

ngữ nghĩa văn bản Vì vậy, ta phải xây dựng một mô hình máy học có thể hiểu ngữ

nghĩa của câu văn, đoạn văn để đưa ra quyết định về màu sắc cảm xúc chủ đạo mà câu

văn hay đoạn văn đó thé hiện Bài toán được phân làm các mức độ khác nhau:

1 Phân tích cảm xúc, thái độ trong văn bản thành hai lớp: tích cực (positive) và

tiêu cực (negative).

2 Phát hiện cảm xúc thể hiện trong văn bản: buồn, vui, giận,

3 Phát hiện mục tiêu, nguồn gốc, môi trường nguyên nhân dẫn đến cảm xúc

Khóa luận này chỉ thực hiện giải quyết ở mức độ phân tích cảm xúc thành hailớp là tích cực (positive) và tiêu cực (negative).

Phát biểu theo góc nhìn của máy học (Machine learning), phân tích cảm xúc làbài toán phân lớp nhị phân dựa trên văn bản ngôn ngữ tự nhiên, với đầu vào là một câuhay một đoạn văn bản, còn dau ra là 0 hoặc 1, đại diện cho phân lớp tiêu cực hay tích

cực.

2.2 Các nghiên cứu liên quan đến bài toán

Bài toán có nhiều cách tiếp cận, nhưng thường được gom lại ba phương phápchung, đó là Dựa trên luật (Rule-based system); Dựa trên hệ thống tự động (AutomaticSystem: machine learning) và kết hợp cả hai [5]

Có một số phương pháp dựa trên các bộ từ điển cảm xúc (Lexicon based) tự tạonhư SentiWordNet, SenticNet, MPQA và Wordnet-Affect để gan nhan/diém cho các từ

là tích cực hay tiêu cực, sau đó ta dùng những nhãn này để áp dụng các tính toán vớingôn ngữ tự nhiên dựa trên các từ xuất hiện trong văn bản để cho ra một số điểm thểhiện cảm xúc của văn bản đó Tuy nhiên các phương pháp này phụ thuộc vào phan từvựng quá nhiều, tốn nhiễu thời gian và chi phí để xây dựng bộ từ vựng gán nhãn Ngoài

Trang 21

ra, việc không thể hiểu được mối quan hệ các từ trong văn bản dẫn tới kết quả không

cao [6].

Với sự ra đời của học máy và học sâu, bài toán Phân tích cảm xúc có những

hướng giải quyết mạnh mẽ hơn Các phương pháp máy học (Machine learning) xem bàitoán này như một bài toán phân lớp, các đặc trưng sẽ được rút trích từ văn bản đầu vào

và đưa vào các mô hình phân lớp như SVM, Logistic Regression Phương pháp máy

học là phương pháp học có giám sát và thường cần rất nhiều dữ liệu dé huấn luyện với

nhãn được gán trước Độ chính xác của phân lớp cảm xúc sẽ phụ thuộc vào bộ dữ liệu

huấn luyện

Lan sóng phát triển vượt trội của khoa học kỹ thuật, các dịch vụ điện toán đámmây làm tiền đề và cơ hội cho phương pháp học sâu Deep learning trỗi dậy mạnh mẽ.Bài toán phân tích cảm xúc đã được giải quyết bằng mô hình học Recurrent NeuralNetwork (RNN) với một biến thể là LSTM Long Short Term Memory Neural Network(LSTMs) [7], kết hợp với mô hình hóa từ (vector representations of words)Word2Vector [8] với kiến trúc Continuous Bag-of-Words (CBOW) Ưu điểm củaphương pháp nay là độ chính xác, tốc độ cho ra kết quả nhanh, đầu vào có thé là một

câu hoặc một đoạn văn.

Một số nghiên cứu đã được thực hiện áp dụng các mô hình học sâu:

Augenstein và cộng sự đã đề xuất một LSTM hai chiều (Bi-LSTM) với mã hóa

có điều kiện cơ chế phát hiện lập trường trong dữ liệu Twitter chính trị [9]

Tang đề xuất mô hình học biéu diễn câu với CNN hoặc LSTM từ biểu diễn từnhúng, sau đó sử dụng GRU để mã hóa ngữ nghĩa của câu và các quan hệ trong biểudiễn văn bản để phân loại cảm xúc [10]

Zhou thiết kế mạng LSTM cho phân lớp cảm xúc ở mức độ văn bản xuyên ngônngữ Mô hình bao gồm 2 LSTM, mỗi LSTM đều cấu trúc phân cấp, do đó áp dụng hiệu

quả các thông tin cảm xúc trên các ngôn ngữ giàu tài nguyên cho các ngôn ngữ nghèo

tài nguyên và giúp cải thiện hiệu suất của bài toán phân lớp [11]

Wang và các đồng nghiệp đã đề xuất sự kết hợp giữa CNN và LSTM cho phântích cảm xúc Với nguyên tắc trích xuất đặc trưng văn bản của CNN kết hợp với khảnăng ghi nhớ thông tin đường dài của LSTM giúp cho mô hình được cải thiện tốc độ và

Trang 22

Abdul-Mageed va Ungar lần đầu tiên xây dựng một tập dé liệu lớn dé tự độngphát hiện cảm xúc bằng cách sử dụng giám sát từ xa và sau đó sử dụng mạng GRU đềphát hiện cảm xúc chi tiết [13].

Sunmoo Yoon và đồng nghiệp cũng đưa ra ứng dụng thực tiễn của bài toán Phântích cảm xúc vào thực tế, tuy chỉ sử dụng các kỹ thuật cơ bản của xử lý ngôn ngữ tựnhiên, song nghiên cứu đã chỉ ra cách tiếp cận áp dụng bài toán vào phân tích mạng xã

hội Twitter, nơi mà mọi thông tin được cập nhật từng phút [14].

2.3 Phương pháp đề xuất

Khóa luận sẽ thực hiện hai phần chính: Xây dựng, huấn luyện mô hình học sâu

và Ứng dụng web minh họa

- _ Xây dựng, huấn luyện mô hình học sâu bao gồm xây dựng bộ vec-tơ hóa từ, thu

thập và tiền xử lý dữ liệu dùng cho huấn luyện các mô hình: TF-IDF + SVM,TF-IDF + Logistic Regression, BERT + Logistic Regression, PhoBERT, BERT.

Kết qua sẽ được lưu lại và so sánh, đánh giá dé chọn ra mô hình tốt nhất nhằm

áp dụng vào thực tiễn

- Ung dụng web minh họa: Cho phép người dùng lấy bình luận từ trang bán hàng

trên Shopee, Tiki thông qua URL đề phân tích cảm xúc Các bình luận sẽ đượcthu thập, lưu trữ và xử lý, sau đó chạy qua mô hình đề xuất kết quả, báo cáo trên

web.

Trang 24

CHƯƠNG3 CƠ SỞ LÝ THUYÉT

3.1 Tách từ (Word Tokenization)

3.1.1 Khái niệm

Khái niệm “Tach từ” trong Tiếng Anh là “Word Segmentation” nhưng trong lập

trình, ta gọi là “Word Tokenization”, mỗi từ tách ra được gọi là một token [15].

Tach từ và tách các từ có nghĩa thành các thành phan trong một câu, nhưng đốivới Tiếng Việt, chúng ta có từ đơn và từ ghép Do đó, công đoạn tách từ trở nên rấtphức tạp, phải gom nhóm các từ đơn liền kề thành một từ ghép có ý nghĩa

Ví dụ: “Môn học này chắc chắn được điểm cao.” sau khi tách từ sẽ thành

“Môn học này chắc_chắn được điểm cao.” Về hình thức, các từ ghép được tạo từ hai

caer

từ đơn bằng cách nối với nhau qua kí tự “_”, trong trường hợp nay là từ “Môn_ học” va

từ “chắc_chắn” Sau khi thực hiện tách từ thì mỗi từ (token) trong câu sẽ được cáchnhau bởi một khoảng trắng Trong trường hợp các dấu câu cũng sẽ được cách bởi mộtkhoảng trắng Đây là quy ước chung cho tất cả các ngôn ngữ của bài toán tách từ trong

- Ngôn ngữ đơn lập: Tiếng Hán, tiếng Thái, Tiếng Việt và các tiếng trong ngôn

ngữ Môn-Khmer (một nhóm ngôn ngữ của ngữ hệ Nam A),

- Ngôn ngữ không đơn lập: được chia thành ba loại hình nhỏ:

+ Ngôn ngữ hòa kết: Tiếng Anh, tiếng Nga, tiếng Pháp,

+ Ngôn ngữ chap dính: Tiếng Nhật, tiếng Hàn, tiếng Thổ Nhĩ Ky,

+ Ngôn ngữ hỗn nhập (tổng hợp): Các ngôn ngữ Chu-cốt, Cam-chat

Đối với tiếng Anh thì việc tách từ khá dé dàng vì các từ đã được cách nhau bởikhoảng trắng và dấu câu Đối với tiếng Việt, ranh giới từ không được xác định mặc

Trang 25

nhiên bằng khoảng trắng Ý nghĩa ngữ pháp của tiếng Việt nằm ở trật tự của từ Vì thế,trong một câu có thể có nhiều ngữ nghĩa khác nhau, tùy vào cách ta tách từ như thế nào,gây sự khó hiéu về mặt ngữ nghĩa.

Ví dụ: “Ăn cơm không được uống rượu.” có thể tách thành:

Ăn / cơm / không / được / uống / rượu

Ăn / cơm không / được / uống / rượu

Từ đó, ta thấy rằng việc tách từ tiếng Việt rất phức tạp, gây ảnh hưởng đến chấtlượng huấn luyện các mô hình máy học sau này Vì thế, tách từ là một quá trình khôngthể thiếu khi giải quyết các bài toàn liên quan đến ngôn ngữ tự nhiên

3.2 Biểu diễn dưới dạng Véc-tơ (Word Embedding)

3.2.1 Khái niệm và mục đích

Mục tiêu của bài toán không chỉ cho máy hiểu được cú pháp của ngôn ngữ màcòn hiểu ngữ nghĩa của các câu sử dụng trong từng tình huống, ngữ cảnh khác nhau màkhông mắc phải sự nhập nhằng Bước đầu tiên là chuyền đổi cách biểu diễn từ ngônngự tự nhiên sang một dạng biểu diễn mà máy tính có thể hiểu được (số hóa)

Ngôn ngữ tự nhiên là một hệ thống phức tạp ma con người sử dụng dé diễn đạtngữ nghĩa Trong hệ thống này, từ là đơn vị cơ bản của ngữ nghĩa Còn trong các môhình máy học, mô hình xử lý ngôn ngữ tự nhiên như LSTM, RNN, CNN yêu cầu dữliệu đầu vào ở dạng vector, mỗi vector bao gồm n số thực Cũng như tên gọi của nó,một vector từ (word vector) là một vector được sử dụng để biểu diễn một từ

Kỹ thuật ánh xạ từ ngữ sang vector còn được gọi là kỹ thuật nhúng từ (word embedding).

Kỹ thuật này lần đầu được thực hiện bởi mô hình Word2Vec [17], Glove, sau đó là

Fasttext [18], sự ra đời của nhúng từ là một bước đột phá trong lĩnh vực xử lý ngôn ngữ

tự nhiên.

3.2.2 Biểu diễn với Túi từ (Bag of Words)

Mô hình túi từ (bag of words hay BOW [19]) là một biểu diễn đơn giản hóa được

sử dụng trong xử lí ngôn ngữ tự nhiên Trong mô hình này, một văn bản (chẳng hạn nhưmột câu) được biểu diễn dưới đạng túi (multiset) chứa các từ của nó, không quan tâm

Trang 26

đến ngữ pháp hay thậm chí trật tự của từ, nhưng vẫn giữ tính đa dạng BOW thườngđược sử dụng trong các phương pháp phân loại tài liệu Trong đó, sự xuất hiện (tan suất)của mỗi từ được sử dụng như một đặc trưng cho máy phân loại.

Một tài liệu tham khảo đầu tiên về “túi từ” có thể tìm thấy trong bài viết năm

1954 của tác giả Zellect Harris [20].

Vi dụ: “Vỹ thích chơi điện_ tử, Duy cũng thích chơi điện_ tử”, ta có các từ:

[“Vÿ”, “thích”, “chơi”, “điện_tử”, “Duy”, “cũng”, “thích”, “chơi”, “điện_ tử”] Vậy các từ được hình thành từ câu trên sẽ là:

{“Vỹ”: 1, “thích”: 2, “chơi”: 2, “điện_tử”: 2, “Duy”: 1, “cũng”: 1}

Mỗi phần tử gồm mỗi khóa là từ và mỗi giá trị là số lần xuất hiện cùa từ đó trongcâu hoặc văn bản Từ “Vỹ” xuất hiện 1 lần nên giá trị của nó là 1, từ “thích” xuất hiện

2 lần nên giá trị của nó là 2

Lưu ý, thứ tự của từ bị bỏ qua, mô hình BOW không chú trọng thứ tự của các từ

trong một câu hoặc văn bản.

3.2.3 One-hot encoding

Day là cách don giản dé biéu diễn ngôn ngữ sang dang vector với số chiều làkích thước từ điền Giống như tên của nó, chỉ ở chiều mà vi trí một từ xuất hiện trong

từ điển có giá trị là 1, các chiều khác đều có giá trị là 0

Ví dụ khi tập dữ liệu có 3 câu:

Câu 1: Tôi đang đi tìm một_nửa của mình.

Câu 2: Tôi đã ăn một_ nửa quả táo.

Câu 3: Tôi đã đi tìm một_ nửa quả táo.

Như vậy từ điển V = {tôi, dang, đi, tim, một-nửa, của, mình, đã, ăn, qua, táo} cókích thước § = 11 Biểu diễn theo one-hot thì:

Tôi =[I 0000000000]

Đang = [0 1000000000]

Mình = [00000010000]

Táo =[00000000001]

Trang 27

Cách biểu diễn này rõ ràng là rất đơn giản nhưng giới hạn của nó cũng đã rõ Ví

dụ, khi muốn tính độ tương đồng giữa rôi và mình thì sẽ ra kết quả là 0 (bằng cách dùngcosine similarity) Nhưng trên thực tế, zôi và minh ở ngữ cảnh này đều là một Ngoài ra,với bộ dữ liệu 1 Terabyte của Google chứa 13 triệu từ, thì chiều của từng vector cũng

sẽ là 13 triệu Cách biểu diễn này quá tốn tài nguyên, nhưng thông tin mà nó lưu trữ lạikhông được nhiều như số chiều của nó

3.2.4 TF-IDF (Term Frequency — Inverse Document Frequency)

TE-IDF [22] là một kỹ thuật trong trích xuất đặc trưng Trọng số này được sửdụng để đánh giá tầm quan trọng của một từ trong văn bản Giá trị càng cao, thể hiện

độ quan trọng càng cao vào nó phụ thuộc vào tần suất xuất hiện của nó trong văn bản

TF (Term frequency): Tần suất xuất hiện của một từ trong văn bản Số lần xuấthiện của từ đó so với từ có sé lần xuất hiện nhiều nhất trong văn ban, giá trị nằm trong

- Tf (t, d): Tần suất xuất hiện của từ t trong văn bản d

- F(t,d): Số lần xuất hiện của từ t trong văn bản d

- Max {f(w, d): w € d}: Số lần xuất hiện của từ có số lần xuất hiện nhiều nhất

trong văn bản d.

IDF (Inverse Document Frequency): Nghịch đảo tần suất của văn bản, giúp đánhgiá tầm quan trọng của I từ Khi tinh TF, tat cả các từ được coi như có độ quan trọngbằng nhau Nhưng một số từ nối trong câu như “nên”, “vì” và “mà” thường xuất hiệnrất nhiều lần nhưng độ quan trọng lại không cao Như thế, chúng ta cần giảm độ quantrọng của những từ này xuống

Công thức:

|D|

idf Œ.P) = lose peal

Trong do:

Trang 28

- ldf(, D): Giá tri idf của từ t trong tập văn bản

IDI: Tổng số văn bản trong tập D

- I{d€D:te€ d} I: Số văn bản chứ từ nhất định, với điều kiện t xuất hiện trong

văn bản d (tf(t, d) khác 0) Công thức tính:

tf —idf(t,d,D) = tƒ(t, đ) * idƒ(t,D)

Khi đó những từ có giá trị TF-IDF cao là những từ xuất hiện nhiều trong văn bảnnay (tf(t, d) cao), và xuất hiện ít trong các văn bản khác (idf(t, d) cao) Việc này giúplọc ra những từ phổ biến và giữ lại những từ có giá tri cao

3.2.5 Biểu diễn với N-grams

Mô hình N-grams [21] cũng là một biểu diễn của văn bản như BOW nhưng thayvào đó, nó lưu trữ thông tin về thứ tự và sự liên kết của các từ N ở đây là số lượng từliền kề được gom nhóm vào một túi, N có thé là 1, 2, 3, Về mặt khái niệm, chúng ta

có thé xem mô hình túi từ như một trường hợp đặc biệt của mô hình N-grams với N =

1 Với N = 1, ta gọi là Unigrams, với N = 2, ta gọi là Bigrams, với N = 3 ta gọi là Trigrams.

Vi dụ như câu trên “Vỹ thích chơi điện_tử, Duy cũng thích choi điện_tử”, một

mô hình Bigrams sẽ phân tích thành các đơn vị sau và lưu trữ tần số của từng đơn vị

như trước đây Vi vậy ta có ['“Vỹ thích”, “thích chơi”, “chơi điện_tử”, “Duy cũng”,

“cũng thích”, “thích chơi”, “chơi điện_tử”].

Trang 30

So sánh với mô hình BOW

Mỗi đơn vị chỉ có một từ (có thé là từ don

hoặc từ ghép).

Mỗi đơn vị có số lượng từ tùy thuộc vào

N.

Không quan trọng thứ tự của các từ trong

câu hoặc văn bản.

Quan trọng thứ tự của các từ trong câu

hoặc văn bản.

với nhau.

Bảng 3.1 So sánh mô hình BOW và N-grams.

3.2.6 Co-occurrence matrix (Ma trận đồng hiện):

Năm 1957, nhà ngôn ngữ học J.R Firth đã định nghĩa “You shall know a word by

the company it keeps” (tạm dịch: ban sẽ hiéu một từ | qua các từ di cùng với nó)

Vi dụ như hình dưới biểu diễn mối tương quan của từ yêu và các từ đồng xuất hiện

gân nhât với nó:

Trang 31

ekhoi_goi_tinh_yéu ®con người_yêu sđề_ tài_tình_yêu

Hình 3.2 Biểu diễn từ "yêu" bằng các từ lân cận nó.

Nhu vậy, một từ được biéu diễn ngữ nghĩa bởi các từ xung quanh nó

Ma trận đồng xuất hiện: được dé xuất ở hai mức là mức document (văn bản) và mức

windows (của số từ) Mức văn bản cho thông tin chung về các chủ đề hướng tới các

phương pháp LSA (latent semantic analysis) Mức cửa số từ cho thông tin về cả chức

năng cú pháp của từ và ngữ nghĩa.

Trang 32

Counts | tôi | đang| đi | tìm |một nửa| của | mình | đã | ăn | quả | tảo

tdi 1 0 0 0 0 0 2 0 0 0

đang

tìm

một_nửa cua

minh

Hình 3.3 Ma trận đồng xuất hiện.

Cách biểu diễn này hợp lý hơn ở chỗ là đã ghi nhận được chính xác thông tin đồngxuất hiện của các từ trong dữ liệu Nhưng vẫn chưa giải quyết được van dé số chiều củavector tăng lên theo kích thước từ điền

3.2.7 Mô hình Word2vec

Word2vec [17] là một mạng nơ-ron hai lớp với duy nhất một lớp ẩn, lay đầu vào

là một tập dữ liệu văn bản tách từ ta thu được kết quả là một tập không gian các vectorđặc trưng Mỗi vector đặc trưng trong không gian thé hiện cho một từ duy nhất trong

văn bản.

Kiến trúc mạng nơ-ron:

Trang 33

Input Vector

0 0 0 0 0 0

Probability that the word at a

- randomly chosen, nearby position is “abandon”

— > "ability”

«« “able"

300 neurons > "zone"

10,000

Hình 3.4 Kiến trúc mang nơ-ron.

Đầu vào: Một one-hot vector đại diện cho từ, độ lớn của vector bằng đúng số

lượng từ vựng

Đâu ra: Xác suât xuât hiện của các từ trong từ vựng so với dau vào.

Vua Hoang Phu nit Gang

Trang 34

Ở ví dụ trên, mỗi cột chính là một vector đặc trưng của từ, ta có 4 từ “Vua”,

“Hoang hậu”, “Phụ nữ” va “Công chúa”, các đặc tính sẽ tạo nên vector đặc trưng có 4

chiều

Các từ “Vua”, “Hoàng hậu, “Công chúa” có xác suất xuất hiện với từ “Hoànggia” rất cao, trong khi từ “Phụ nữ” có xác suất rất thấp

Mục đích của Word2vec là nhóm các từ tương tự (các vector đặc trưng) lại với

nhau trong không gian vector Độ tương đồng giữa các từ được tính toán dựa trên toánhọc, cụ thể là khoảng cách Cosine giữa 2 vector đặc trưng:

A*B _ i=1 BiAj

|I4l|*|IEl|

similarity = cos(@) =

Giá trị khoảng cách Cosine trong khoảng [-1; 1] giá trị này càng lớn thé hiện độtương đồng, giống nhau giữa 2 vector càng lớn Từ đó, ta có thể nhóm các từ tương tựnhau và thé hiện vector đặc trưng của chúng trên không gian vector Vector từ học từ

mô hình word2vec rất phù hợp dé trả lời cho câu hỏi: Nếu A là B thì C la

Như ví dụ dưới đây, nếu thủ đô của China là Bắc Kinh, thì thủ đô của Nga làthành phố Moscow,

Trang 35

Country and Capital Vectors Projected by PCA

2 4 n L + 4 L +

2 “1.5 a 0.5 0 0.5 1 1.5 2

Hình 3.6 Ví du về mối quan hệ từ của Word2vec.

Hay như trong ví dụ bên dưới là mối liên hệ về giới tính: có các cặp từ tươngđồng như: uncle — aunt, man — woman, sir-madam, kết quả này lấy từ mô hình

word2vec.

Trang 36

là các từ hay xuất hiện cùng nhau trong văn cảnh, các từ đồng nghĩa, các từ thuộc cùng

- Con đường này nhiều cây quá (Từ đường diễn tả nơi đi lại được tao ra dé nối

các địa điểm với nhau)

Trang 37

- Ca phê bạn nên cho thêm ít duong (Tu đường này là thé hiện chất kết tỉnh có Vị

giảm đi sự mêm mại và đa nghĩa của ngôn ngữ.

3.2.9 BERT word embedding

từ dữ liệu văn bản hoặc tinh chỉnh các mô hình này trên một nhiệm vụ cụ thể (phan loại,nhận dạng thực thé, trả lời câu hỏi, ) với dữ liệu riêng của mình

BERT mang lại một lợi thế vượt trội hơn so với các mô hình tiền nhiệm nhưWord2vec, Fasttext, khi mà mỗi từ chỉ được biểu diễn bằng 1 vector từ cố định, bất

ké từ đó có xuất hiện trong các câu khác nhau như thế nào đi nữa Lý do chính là BERT

có thêm ngữ cảnh (context) vào trong các vector embedding Ngữ cảnh là một thứ vô cùng quan trọng trong ngôn ngữ, với các ngữ cảnh khác nhau thì các từ trong câu được

hiểu theo ý nghĩa hoàn toàn khác nhau, các Language Model bỏ qua ngữ cảnh khó cóthể đạt được chất lượng tốt

Đối với nhúng từ không ngữ cảnh: như Word2vec hay Fasttext Mỗi từ trong

từ điển sẽ có một vector để đại diện cho nó và trong bat cứ câu nào, đoạn văn nào thì từ

đó vẫn chỉ được biểu diễn bởi vector đó

Đối với nhúng từ có ngữ cảnh 1 chiều: Người ta sử dụng các kiến trúc mạngRNN để có thể tạo ra mối quan hệ thứ tự giữa các từ trong câu, từ đó tạo ra vector từ cóngữ cảnh Tuy nhiên việc này chỉ thực hiện được theo một chiều từ trái sang phải, hoặc

Trang 38

theo 2 hướng ngược nhau nhưng 2 hướng này độc lập không liên quan gì đến nhau nên

có thể xem là một chiều mà thôi

Ví dụ một bài toán mà nhúng từ 1 chiều chưa giải quyết được:

Câu văn gốc: “Hôm nay, tôi đưa bạn gái đi chơi” Sau đó chúng ta che từ “bạn

gái” đi và câu văn trở thành: “Hôm nay, tôi đưa [mask] đi chơi”.

Yêu cầu bài toán là dự đoán từ đã được che

Nếu là trong ngôn ngữ tự nhiên của con người, chúng ta nhìn vào câu là có thé

đoán ra ngay được từ trong đó là “bạn gái” Nhưng model thì không như vậy, do model

chỉ được training một chiều, cho nên sẽ dự đoán [mask] từ các từ trước đó là “Hom nay,tôi đưa” và có thể các từ được dự đoán là: “tiền”, “điện thoại”, “laptop”, “hàng” tùyvào vào từ điển của chúng ta Vậy là chưa hiệu quả rồi, trong khi nếu có kết hợp đượcthêm từ đi chơi phía sau thì có thể dự đoán ra các từ: “em gái”, “bạn”, “bạn gai”, vớixác suất chính xác cao hơn rất nhiều

BERT ra đời đã giải quyết van đề này, ngay trong cái tên của BERT đã thấy đượcchữ Bidirectional (2 chiều) Tóm lại là một từ trong câu sẽ được biểu diễn một cách cóliên quan đến cả những từ phía trước lẫn phía sau nó Hay nói cách khác là liên quanđến tất cả các từ có trong câu Ví dụ như câu trên, model sẽ dựa vào cả đoạn “Hôm nay

tôi đưa” và “đi chơi” dự đoán ra từ đã bị che với độ chính xác khá cao.

3.2.9.2 Định dạng đầu vào của BERT (Input Formatting)

Bởi vì BERT là mô hình được huấn luyện trước (pretrained model) cần dữ liệuđầu vào ở một định dạng nhất định, chúng ta cần:

1 Một token đặc biệt [SEP], dé đánh dâu phần cuối của một câu hay sự phân táchgiữa hai câu.

2 Một mã token đặc biệt [CLS], ở đầu văn bản Mã token này được sử dụng cho

các nhiệm vụ phân loại, tuy nhiên BERT mong đợi nó dù bat kể ứng dụng là gì

3 Các token phù hợp với bộ từ vựng cố định được sử dụng trong BERT

4 Các Token ID của các token, từ tokenizer của BERT.

5 Các Mask ID dé cho biết phần tử nào trong chuỗi là mã token và phan tử nào là

phần tử đệm (padding elements)

6 Các Segment ID ding dé phân biệt các câu khác nhau

Trang 39

7 Các Positional Embedding dùng để hiển thị vị trí các token trong chuỗi.

Các yêu cầu trên có thé được xử lý bằng chức năng tokenizer.encode_plus củatransformers.

3.2.9.3 Các token đặc biệt:

BERT có thé lay một hoặc hai câu làm đầu vào và sử dụng mã token đặc biệt[SEP] để phân biệt chúng Mã token [CLS] luôn xuất hiện ở đầu văn bản và dành riêngcho các nhiệm vụ phân loại Tuy nhiên, cả hai mã token trên luôn được yêu cầu, ngay

cả khi chúng ta chỉ có một câu và ngay cả khi chúng ta không sử dụng BERT đề phânloại Đó là cách BERT đã được huấn luyện trước, là những gì BERT mong đợi được

nhận.

Ví dụ:

Hai câu đầu vào:

[CLS] The man went to the store [SEP] He bought a gallon of milk.

Một câu đầu vào:

[CLS] The man went to the store [SEP]

3.2.9.4 Mã hóa (Tokenization)

BERT cung cấp tokenizer của riêng mình Quá trình xử lý được thể hiện ở ví dụ

như sau:

Trang 40

text = “Here is the sentence I want embeddings for.”

marked_text = “[CLS] ” + text + “ [SEP]”

# Tokenize our sentence with the BERT tokenizer.

là cách tokenizer biểu thị rằng từ khóa hoặc ký tự phụ này là một phần của một từ lớn

hơn và đứng trước một từ khóa phụ khác Vì vậy, ví dụ, mã token “##bed” tách biệt với

mã token “bed”; từ đầu tiên được sử dụng bất cứ khi nào từ khóa phụ “bed” xuất hiện

trong một từ lớn hơn và từ thứ hai được sử dụng khi đó là mã token độc lập.

Tại sao lại như vậy? Đó là do BERT tokenizer được tạo bằng mô hìnhWordPiece Mô hình này tạo ra một lượng từ vựng có kích thước cố định gồm các ký

tự, từ phụ và từ riêng lẻ phù hợp nhất với dữ liệu ngôn ngữ Vì kích thước giới hạn từ

vựng của mô hình BERT tokenizer là 30.000 nên mô hình WordPiece đã tạo ra một bộ

từ vựng có chứa tat cả các ký tự tiếng Anh, gần 30.000 từ va từ phụ phổ biến nhất đượctìm thấy trong kho ngữ liệu tiếng Anh mà mô hình được huấn luyện Bộ từ vựng nàybao gồm 4 thứ:

1 Toàn bộ các từ

2 Các từ phụ xuất hiện tách biệt hoặc ở đầu một từ (Ví dụ: “em” trong

“embeddings” được gán cùng một vec-tơ như chuỗi ký tự độc lập “em” trong

Ngày đăng: 03/11/2024, 18:18

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN