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). 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ững cô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. 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.
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. 18 Báo cáo khóa luận tốt nghiệp Nguyễn Lan Anh — Trần Văn Trường 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ây dự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.
Phân tích, đánh giá và thảo luận các kết quả đạt được cùng với các hướng phát triển trong tương lai. 19 Báo cáo khóa luận tốt nghiệp Nguyễn Lan Anh — Trần Văn Trường 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). Phát hiện cảm xúc thể hiện trong văn bản: buồn, vui, giận,. 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 hai lớ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âu hay 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 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áp chung, đó là Dựa trên luật (Rule-based system); Dựa trên hệ thống tự động (Automatic System: 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ạo như 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ới ngô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 20 Báo cáo khóa luận tốt nghiệp Nguyễn Lan Anh — Trần Văn Trường 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ài toá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 đám mâ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 Neural Network (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ủa phươ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ểu diễ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ôn ngữ. 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ân tí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à độ chính xác [12]. 21 Báo cáo khóa luận tốt nghiệp Nguyễn Lan Anh — Trần Văn Trường Abdul-Mageed va Ungar lần đầu tiên xây dựng một tập dé liệu lớn dé tự động phá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ân tí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].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ẽ được thu 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.
2 Báo cáo khóa luận tốt nghiệp Nguyễn Lan Anh — Trần Văn Trường 23 Báo cáo khóa luận tốt nghiệp Nguyễn Lan Anh — Trần Văn Trường CHƯƠNG3.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 đối vớ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ất phứ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 từ đơn bằng cách nối với nhau qua kí tự caer “_”, 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ách nhau 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ột khoả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 xử lí ngôn ngữ tự nhiên.2 Mục đích tách từ Mục tiêu của việc tách từ cho đầu vào là dé khử tính nhập nhằng về ngữ nghĩa của văn bản.
Tùy vào từng loại ngôn ngữ có các đặc trưng khác nhau mà dẫn đến việc tách từ cũng có các độ khó khác nhau. Dựa vào Whaley, các loại hình ngôn ngữ [16] được phân thành: - 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ởi khoả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 24 Báo cáo khóa luận tốt nghiệp Nguyễn Lan Anh — Trần Văn Trường 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ất lượ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ông thể thiếu khi giải quyết các bài toàn liên quan đến ngôn ngữ tự nhiên.2 Biểu diễn dưới dạng Véc-tơ (Word Embedding) 3.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ôn ngự 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 đạt ngữ nghĩa.