Các số liệu, kết quả trìnhbày trong đơ án là trung thực và chưa từng được ai cơng bơ trong bât kỳ cơng trình nàotrước đây.Hà Nội, tháng 01 năm 2022Sinh viên thực hiện Trang 6 NHẬN XÉT,
Dat van dé
Bài toán phân loại ý kiến bình luận - 2-2 +¿+£+++Ex+ExtzE++Exerxerkzreerxees 2
Với sự phát triển Internet, các website Thương mại điện tử ra là cách giúp khách hàng có thé mua bán hàng hóa trực tuyến một cách thuận tiện, nhanh chóng, hiệu qua, tiết kiệm chi phí Trong qua trình đó, các nhà phát triển website phải cần có những chức năng nhằm nâng cao trải nghiệm khách hàng, chất lượng dịch vụ Và tính năng chia sẻ những trải nghiệm, bình luận và đánh giá sau giao dịch là một trong số đó, từ đây các nhà cung cấp dịch vụ có thé đánh giá được cảm nhận của khách hàng về dịch vụ họ đang sử dụng. Ý kiến khách hang là những phản hồi mà khách hàng cảm nhận được sau khi sử dụng dịch vụ, sản phẩm của doanh nghiệp Những ý kiến của khách hàng có thê tiêu cực hoặc tích cực hoặc trung tính Dựa theo những nhận xét tích cực của khách hàng, doanh nghiệp sẽ biết được những ưu điểm của sản phẩm hay dịch vụ từ đó có thé dùng dé quảng bá hay truyền thông Tuy nhiên, vấn đề làm sao doanh nghiệp có thể biết được khách hàng đang hài lòng và không hải lòng về vấn đề này hay thương hiệu đang được người dùng sử dụng nhiều Giải pháp cho van dé này, em đã tìm hiểu dé phân tích ý kiến khách hàng thông qua tập dữ liệu là ý kiến bình luận của khách hàng trên website thegioididong.com — nhà phân phối bán lẻ điện thoại lớn và website Foody.vn - một trang thương mại điện tử hàng đầu trong lĩnh vực dịch vụ đặt hàng trực tuyến Với dữ liệu chỉ ở mức độ sơ cấp, và lượng dữ liệu rất lớn các doanh nghiệp không thé dựa vào dữ liệu thô này để ra quyết định được, họ cần biết được các tri thức được phân tích từ tập dữ liệu này nên em sẽ dùng các phương pháp học máy dé phân loại dữ liệu, xem bình luận nào là tích cực, bình luận nào là tiêu cực và dùng các phương pháp phân tích và dự đoán được ý kiến của khách hàng.
Bài toán phân loại ý kiến bình luận có thé xem là bài toán classification Các bình luận được gán các nhãn phân loại dựa trên mức độ tương tự của bình luận là tích cực, tiêu cực, hay có thê là trung tính: ¢ Input: là các bình luận dưới dạng ngôn ngữ tự nhiên của người dùng, đưa ra nhãn phân loại cho bình luân, phân loại xem ý kiến thuộc loại nào.
* Output: Nhãn của bình luận là tích cực, tiêu cực, hay trung tính, ta có thé phát triển thêm các trạng thái ý kiến khác.
Có rất nhiều kỹ thuật học máy và khái phá dữ liệu đã được áp dụng vào bài toán phân loại câu hỏi như: cây quyết định (decision tree), Nạve Bayes, K láng giềng gần nhất (KNN), mạng noron (neural network)(như mang than kinh tích chập Convolutional
Neural Networks (CNNs), mạng nơ-ron hồi quy Recurrent Neural Network (RNN)
Một số nghiên cứu liên quan đến phân loại văn bản 2-5 22sz+sz+s+¿ 3
Hiện nay đã có rât nhiêu nghiên cứu về bài toán phân loại văn bản cũng như là ý kiên bình luận.
Nhóm nghiên cứu của Trần Cao Đệ và Phạm Nguyên Khang [9] đã thực hiện phân loại văn bản theo chủ đề với thuật toán SVM và cây quyết định Bản chất bài toán này khác so với bài toán phân loại văn bản vì qui trình xử lí, phương pháp xử lí là tương tự nhau: rút trích đặc trưng, lựa chọn đặc trưng, máy học và phân lớp Họ đã thực hiện cách nam bắt các đặc trưng của văn ban bằng cách mô hình hóa văn bản như là một vector trọng số của đặc trưng voi chỉ số TF-IDF Với phương pháp cây quyết định, sử dụng độ đo về độ lợi của thông tin(Gain) và độ hỗn loạn thông tin Sau khi văn bản được mô hình hóa thành các vector d;(w¡i, ,Wim) sau khi đã loại bỏ stopwords, họ tiễn hành triển khai cây quyết đỉnh, ngoài ra họ còn xử lí bằng cách xén tỉa cây Cây được xây xong thì tiễn hành duyệt cây dé đưa ra kết quả Đối với phương pháp SVM, ho còn áp dụng thêm phương pháp SVD dé loại bỏ bớt đặc trưng do không gian đặc trưng là lớn dé giảm việc gia tăng nhiễu- là một trở ngại chính trong việc áp dụng SVM Việc đánh giá của họ dựa vào các chỉ số độ chính xác (Precision), độ bao phủ (Recall) và F1 Kết quả thực nghiệm của nghiên cứu cho thấy thuật toán SVM kết hợp với kĩ thuật SVD đã cho kết quả tốt hơn thuật toán cây quyết định, góp phần tăng độ chính xác của mô hình phân loại, với độ chính xác trung bình là 91% trong khi cây quyết định là 84.1%.).
Bên cạnh đó, có nghiên cứu phân loại văn bản của nhóm Chunting Zhoul [5] vào năm 2015 đã sử dụng kết hợp hai ưu điểm của mạng CNN với mạng LSTM gọi là C- LSTM để phân loại ý kiến bình luận phim va phân loại câu hỏi Ý tưởng của họ là sử dụng mạng CNN ban dé có thé năm bắt được các đặc trưng và sau do cho phép mang LSTM hoc các phụ thuộc dài từ các đăng trưng tuần tự bậc cao CNN được xây dựng, sẽ dựa trên các vectơ từ được đào tạo trước từ dir liệu văn ban không 16 không được gắn nhãn dé tìm hiéu các biểu diễn cấp cao hơn của n- gram thông qua Convolution, các đặc trưng đó được tổ chức dưới dang các đặc trưng cửa số tuần tự dé phục vụ như là đầu vào của mạng LSTM Và do đó mô hình sẽ không dựa vào bất kỳ kiến thức ngôn ngữ bên ngoài nào và quá trình tiền xử lý phức tạp Kết quả nghiên cứu tốt nhất với kiến trúc của mô hình C-LSTM có sự khả quan với 94,6% với tác vụ phân loại câu hỏi, khá gần với mô hình SVM cho kết quả cao nhất là 95% Mặc dù không thê vượt qua những mô hình hiện đại nhất nhưng vẫn đầy hứa hẹn và có thé so sánh với các mô hình phụ thuộc nhiều vào ngôn ngữ chú thích và kiến thức, đặc biệt là cây phân tích cú pháp, khi so sánh kết quả với các mô hình CNN và LSTM đơn lẻ cho thấy rằng LSTM học được sự phụ thuộc dài hạn qua các chuỗi biểu diễn cấp cao hơn tốt hơn.
Hiện nay ngoài học máy truyền thống, thì deep learning đã được áp dụng phô biến trong bài toán phân loại văn bản.
Khó khăn và thách thức với bài toán phân tích bình luận người dùng
Không như các từ ngữ trong các văn bản chính thống, từ ngữ trên các bình luận sẽ đa dạng tùy theo thói quen, ý đồ của tác giả do vậy mà việc nhận diện hay tìm ra được ý kiến rõ ràng của người dùng gap khá nhiều khó khăn Nói chung, các câu/từ được sử dụng theo thé tự do của mỗi người dùng: bài viết, bình luận có thé quá dài hoặc quá ngắn, người dùng sử dụng tiếng lóng, teen code, sai chính tả, các từ viết tắt, hashtags
Chính vi thé nhận diện được chính xác ý định của người dùng cũng như ý kiến bộc lộ trong văn bản là như thé nào, cụ thé:
- Binh luận chứa từ viết tắt, teen code, tối nghĩa Với lối diễn đạt vô cùng đơn giản, người dùng luôn thê hiện và diễn tả ý kiến, mong muốn bằng từ ngữ theo sở thích, thói quen của mình,
- Binh luận chứa các từ bị sai chính tả, lẫn cả tiếng nước ngoài.
* Binh luận chứa tiếng long, từ địa phương.
* - Cách dé bày tỏ ý kiến tương tự nhau thường giống nhau Đôi khi bình luận một vấn đề xấu nhưng thực ra là đang khen các sản phẩm và ngược lại.
Phân loại cảm xúc bình luận sử dụng mô hình BERT J0)
Tiền xử lí văn bản ::©2+tt2E2 22211222 1t
Đầu vào có thé là một câu, hoặc nhiều câu trong một bình luận sẽ được đặt thành một chuỗi tạo bởi các từ Các nhà phát triển BERT đã thêm một bộ quy tắc cụ thé dé đại diện cho văn bản đầu vào cho mô hình, là những lựa chọn thiết kế sáng tạo dé làm cho mô hình trở nên tốt hơn Chuỗi đầu vào BERT biểu diễn một cách tường minh cả câu bình luận, là sự ghép nối của token phân loại đặc biệt “[cls]”, token của chuỗi, và token phân tách đặc biệt “[sep]” Đầu vào, mỗi lần nhúng đầu vào là sự kết hợp của 3 lần nhúng:
* Position Embeddings: BERT học va sử dụng nhúng vi trí dé thé hiện vị trí của các từ trong một câu Chúng được thêm vào dé khắc phục hạn chế của Máy biến áp, không giống như RNN, không thé năm bắt thông tin "trình tự" hoặc "thứ tu"
- Segment Embeddings: BERT cũng có thé lay các cặp câu làm đầu vào cho các nhiệm vụ (Câu hỏi-Trả lời) Đó là lý do tại sao nó học cách nhúng duy nhất cho câu đầu tiên và câu thứ hai dé giúp mô hình phân biệt giữa chúng Trong ví dụ trên, tất cả các mã được đánh dấu là EA đều thuộc câu A (và tương tự đối với EB) ằ Token Embeddings: Đõy là cỏc cỏch nhỳng đó học cho mó thụng bỏo (token) cụ thé từ từ vựng mã thông báo WordP mảnh.
Biéu diễn đầu vào của nó được xây dựng băng cách tính tổng các nhúng token, phan đoạn và vi trí trong ứng Một so đồ nhúng toàn diện như vậy chứa rất nhiều thông tin hữu ích cho mô hình.
Input [ios | my || dog is cute lÍ [SEP] he likes | play Ì ##ing | [SEP]
Embeddings E cis) Emy Fog E Ete | Ei cee} Ee By, E ay E zing | Elser)
Embeddings E, E, Eạ E, Eạ Ea E, E E; Eạ E;
Hình 22: Các nhúng dau vào của BERT bao gồm các thành phan token, phân đoạn và vi tri [37].
Su két hợp của các bước tiền xử lý này làm cho BERT trở nên rất linh hoạt Điều này ngụ ý răng không cần thực hiện bat kỳ thay đổi lớn nào trong kiến trúc của mô hình, chúng ta có thể dễ dàng đào tạo nó trên nhiều loại nhiệm vụ NLP BERT được đào tao trước về hai nhiệm vụ NLP: Tạo mô hình ngôn ngữ có mặt nạ (Masked Language Modeling) và dự đoán câu tiếp theo(Next Sentence Prediction).
BERT (Biéu diễn mã hóa hai chiều từ Máy biến áp) là một kiến trúc mạng no-ron lớn, với một số lượng lớn các tham số, có thể dao động từ 100 triệu đến hơn 300 triệu Vì vậy, việc đào tạo một mô hình BERT từ đầu trên một tập dữ liệu nhỏ sẽ dẫn đến việc trang bị quá nhiều Vì vậy, tốt hơn là sử dụng mô hình BERT được đào tạo trước đã được đào tạo trên một tập dữ liệu khong lồ, làm điểm khởi đầu Sau đó, có thé dao tạo thêm mô hình trên tập đữ liệu tương đối nhỏ hơn và quá trình này được gọi là fine- turning (tinh chỉnh mô hình).Ù°Ì
Các kỹ thuật tinh chỉnh khác nhau !®!; ằ Dao tạo toàn bộ kiến trỳc: cú thể đào tạo thờm toàn bộ mụ hỡnh được đào tạo trước trên tập dữ liệu của mô hình ban đầu và cung cấp đầu ra cho một lớp softmax Trong trường hợp này, lỗi được truyền ngược thông qua toàn bộ kiến trúc và các trọng số được đảo tạo trước của mô hình được cập nhật dựa trên tập đữ liệu mới.
+ Huan luyện một số lớp trong khi đóng băng (freezing) những lớp khác: Một cách khác dé sử dụng mô hình đã được huấn luyện trước là huấn luyện nó từng phần Những gì có thể làm là giữ nguyên trọng số của các lớp ban đầu của mô hình trong khi chỉ dao tạo lại các lớp cao hơn Có thé thử và kiểm tra xem có bao nhiêu lớp được đóng băng và bao nhiêu lớp được đảo tạo.
* Pong băng toàn bộ kiến trúc - Có thé đóng băng tat cả các lớp của mô hình và đính kèm một vài lớp mạng nơ-ron của riêng và đảo tạo mô hình mới này Lưu ý rằng trọng số của chỉ các lớp đính kèm sẽ được cập nhật trong quá trình đào tạo mô hình.
Trong hướng đồ án này sẽ sử dụng cách tiếp cận thứ ba, sẽ thêm vào kiến trúc model một output layer vào BERT đê tùy biên theo tác vụ huân luyện.
Pre-training Fine-Tuning af See.
Hình 23: Toàn bộ tiến trình pre-training va fine-tuning cua BERT [38].
Trong suốt quá trình fine-tuning thì toàn bộ các tham số của layers học chuyên giao sẽ được fine-tune.
Quá trình huấn luyện sẽ fine-tune lại toàn bộ các tham số của model BERT đã cut off top linear layer và huân luyện lại từ đâu các tham sô cua linear layer mà thêm vào kiên trúc model BERT đê customize lại phù hợp với bai toán.
2.4 Mô hình phân loại ý kiến bình luận người dùng trực tuyến sử dụng mô hình
Mô hình huấn luyện gồm hai giai đoạn chính là học mô hình huấn luyện sử dụng BERT và học có giám sát dé đạo tao lớp cuối cùng cho nhiệm vụ phân loại.
Hình 24: Mô hình huấn luyện phân loại da nhãn sử dung BERT.
Các token của câu sẽ được đưa vào mô hình huấn luyện trước BERT tạo ra các embedding, và các embedding này được đưa vao fine-turing sử dụng mô hình học có giám sát đê phân loại.
Nhu đã được trình bay trước đó, token đầu tiên của mỗi chuỗi là token phân loại đặc biệt ([CLS]) Không giống như vectơ trạng thái ân tương ứng với token biểu diễn từ thông thường, trạng thái ân tương ứng với token đặc biệt này được chỉ định bởi các tác giả của BERT là đại diện của toàn bộ câu được sử dụng cho các nhiệm vụ phân loại.
Như vậy, khi chúng ta cung cấp một câu đầu vào cho mô hình trong quá trình huấn luyện, đầu ra là vecto trạng thái ân độ dài 768 tương ứng với token này Lớp bổ sung được thêm ở trên bao gồm các nơ ron tuyến tính chưa được huấn luyện có kích thước [hidden_ state, number_of_ labels], hay [768,3] hoặc [768,2] nếu là 2 nhãn, có nghĩa là đầu ra của BERT kết hợp với lớp phân loại của chúng ta là một vectơ gồm hai số đại diện cho điểm số dé làm cơ sở phân loại Vecto này được đưa vào hàm loss cross-entropy.