Phương pháp đánh giá kết quả

Một phần của tài liệu Phân tích ý kiến người dùng theo khía cạnh bằng phương pháp học sâu (Trang 47 - 60)

Có nhiều phương pháp đánh giá các mơ hình phân lớp (classification), tuỳ vào những bài toán khác nhau mà chúng ta sử dụng các phương pháp khác nhau.Trong luận văn của chúng tơi, để đánh giá q trình phân tích ý kiến người dùng theo khía cạnh, chúng tơi chọn các phương pháp đánh giá trên 2 bài toán phân tích khía cạnh từ bình luận và nhận dạng ý kiến theo khía cạnh. Các phương pháp thường được sử dụng là: Độ chính xác (Accuracy score), Độ đo F1 (Precision, Recall và F1 score),... Trong đó:

- Accuracy cho chúng ta biết được bao nhiêu phần trăm lượng dữ liệu được phân loại đúng.

𝐴𝑐𝑐𝑢𝑟𝑎𝑐𝑦 = 𝑆ố 𝑘ế𝑡 𝑞𝑢ả 𝑑ự đ𝑜á𝑛 đú𝑛𝑔

𝑇ổ𝑛𝑔 𝑠ố 𝑘ế𝑡 𝑞𝑢ả 𝑐ầ𝑛 𝑑ự đ𝑜á𝑛 (3.5)

- Độ đo độ phủ Recall (R) được tính theo cơng thức sau:

𝑅𝑒𝑐𝑎𝑙𝑙 = |𝑆∩𝐺|

|𝐺| (3.6)

- Độ đo precision (P) được tính theo cơng thức sau:

𝑃𝑟𝑒𝑐𝑖𝑜𝑛 = |𝑆∩𝐺|

|𝑆| (3.7)

- Độ đo F1-score (F1) được tính theo cơng thức sau:

𝐹1 = 2∗𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛∗𝑅𝑒𝑐𝑎𝑙𝑙

𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛+𝑅𝑒𝑐𝑎𝑙𝑙 (3.8)

Trong đó: S là phân lớp được hệ thống dự đốn ra, G là phân lớp đích (phân lớp được người dùng gán nhãn).

46

CHƯƠNG 4 THỰC NGHIỆM

Trong chương này chúng tơi xin trình bày quá trình thực nghiệm bao gồm: cơ sở dữ liệu sử dụng phục vụ việc nghiên cứu, công nghệ sử dụng và xây dựng ứng dụng phân tích ý kiến người dùng theo khía cạnh.

4.1 Dữ liệu

4.1.1 Thu thập dữ liệu

Thu thập dữ liệu phù hợp để đưa vào các mơ hình máy học là một bước rất quan trọng để có kết quả tốt nhất và dự đốn chính xác nhất. Trong phần này chúng tơi sử dụng bộ dữ liệu VLSP 2018 (miền dữ liệu nhà hàng).

Dữ liệu là các bài báo, đăng trên các phương tiện truyền thông xã hội, không phải dữ liệu nhân tạo (do người làm dữ liệu sinh ra).

Trong đó, ba loại thực thể có tên được xác định tương thích với các loại thực thể được mô tả như sau:

a/ Tên địa lí (Địa danh - Location) bao gồm các thực thể có toạ độ địa lí nhất định,

ghi lại được trên bản đồ:

- Tên gọi các hành tinh: Mặt Trăng, Mặt Trời, Trái Đất…

- Tên gọi các thực thể mang yếu tố địa lí tự nhiên và địa lí lịch sử (quốc gia vùng lãnh thổ, châu lục), các vùng quần cư (làng, thị trấn, thành phố, tỉnh, giáo khu, giáo xứ), các điểm kinh tế (vùng nông nghiệp, khu công nghiệp). - Tên gọi các thực thể tự nhiên (đèo, núi, dãy núi, rừng, sông, suối, hồ, biển,

vịnh, vũng, eo biển, đại dương, thung lũng, cao nguyên, đồng bằng, khu bảo tồn thiên nhiên, bãi biển, khu sinh thái, v.v.) .

- Tên gọi các thực thể là cơng trình xây dựng, cơng trình kiến trúc cơng cộng (cầu, đường, cảng, đập, lâu đài, tháp, quảng trường, bảo tàng, phòng trưng bày, hội trường, trường học, nhà trẻ, thư viện, bệnh viện, viện dưỡng lão, trung tâm y tế, nhà thờ, nhà xứ, tu viện, nhà ở, chung cư, kí túc xá, chợ, cơng viên, nhà hát, rạp chiếu phim, khu thể thao, bể bơi, trung tâm thanh thiếu niên, khu cắm trại, doanh trại quân đội, nhà máy, sân bay, nhà ga, nhà kho, bãi đỗ xe,

47

sân chơi, nghĩa trang, ...). Tên gọi địa điểm, địa chỉ thương mại (hiệu thuốc, quán rượu, nhà hàng, khách sạn, câu lạc bộ đêm, các địa điểm tổ chức âm nhạc, ...) .Một số địa danh trừu tượng khác (Vườn Địa Đàng, Sơng Ngân, Cầu Ơ Thước…).

b/ Tên tổ chức (Organization) bao gồm các loại tên sau:

- Các cơ quan chính phủ (các bộ ngành, uỷ ban nhân dân, hội đồng nhân dân, tồ án, cơ quan báo chí, hội nghề nghiệp, đồn thể chính trị, phịng ban, ...). - Công ti (ngân hàng, thị trường chứng khoán, hãng phim, nhà sản xuất, hợp

tác xã, phòng ban, ....) - Các thương hiệu

- Các tổ chức chính trị (các đảng phái chính trị, các tổ chức khủng bố, ...) - Các ấn phẩm (các tạp chí, báo)

- Các cơng ti âm nhạc (ban nhạc, dàn nhạc, đội hợp xướng ...) - Các tổ chức công cộng (trường học, tổ chức từ thiện)

- Các tổ chức khác của con người (câu lạc bộ thể thao, các hiệp hội, nhà hát, công ti, tôn giáo, tổ chức thanh niên...)

c/ Tên người (Person) bao hàm các loại tên sau:

- Tên, tên đệm và họ của một người - Tên động vật và các nhân vật hư cấu - Các bí danh

Ở dữ liệu miền nhà hàng, các bình luận sau khi được thu thập thì sẽ được tiền xử lý để loại bỏ các thành phần nhiễu. Sau đó các bình luận này sẽ được biến đổi đề đưa vào các mơ hình học sâu CNN, LSTM để huấn luyện theo từng khía cạnh. Kết quả so sánh nhiều mơ hình được đánh giá trên độ đo như độ chính xác, độ phủ và chỉ số F1. Dựa trên các độ đo này, chúng tơi lựa chọn mơ hình cho kết quả tốt nhất đề lưu lại phục vụ cho quá trình xây dựng ứng dụng Web. Sau đây là danh sách 12 nhãn khía cạnh được trình bày như sau:

➢ Food#Quality: Nếu bình luận đề cập đến món ăn, chất lượng, khẩu vị của đồ ăn.

48

➢ Food#Style&Option: Nếu bình luận nhắc đến kích thước khẩu phần ăn hoặc kiểu món ăn

➢ Food#Prices: Bình luận nhắc đến giá tiền chi tiết của từng món ăn.

➢ Drink#Quality: Tương tự như khía cạnh Food#Quality, thì nếu người dùng đề cập đến chất lượng của thức uống.

➢ Drink#Prices: Bình luận đề cập đến giá tiền chi tiết của đồ uống

➢ Drink#Style&Options: Bình luận đề cập đến công thức, khẩu phần, kích thước chi tiết của đồ uống

➢ Service#General: Nếu người dùng đề cập chung chung đến phong cách phục vụ của nhân viên, nhà hàng, gửi xe.

➢ Ambience#General: Bình luận nhận xét khơng khí, khơng gian của nhà hàng.

➢ Location#General: Vị trí điểm điểm của nhà hàng, ngồi ra cịn quang canh của nhà hàng

➢ Restaurant#General: Đề cập đến nhà hàng một cách chung chung

➢ Restaurant#Prices: Đề cập đến chi phí chung của nhà hàng hoặc các chi phí dịch vụ khác

➢ Restauran#Miscellenous: Đề cập đến các vấn đề của nhà hàng như nhà vệ sinh, v.v.

4.1.2 Xử lý dữ liệu

Tiền xử lý dữ liệu trước khi đưa vào các mơ hình máy học là một bước rất quan trọng trong lĩnh vực Xử lý ngôn ngữ Tự nhiên. Bước này giúp chúng ta loại bỏ các trường hợp nhiễu, giảm kích thước đầu vào và làm tăng hiệu suất của các mơ hình.

4.1.2.1 Làm sạch dữ liệu

Đối với dữ liệu được thu thập từ thực tế, chúng tơi xử lý các bình luận theo các bước sau đây:

- Đưa về dạng chữ thường để giảm kích thước tập từ vựng

- Xóa nhiều khoảng trắng bởi vì bình luận được thu thập từ thực tế nên sẽ có khơng ít lỗi đánh dấu câu.

- Thay thế các con số thành ký tự đặc biệt, loại bỏ stopword để giảm nhiễu và giảm kích thước tập từ vựng

49

- Loại bỏ các dấu câu, ký tự trong tồn bộ bình luận.

- Tách từ trên bình luận sử dụng kỹ thuật tách từ thư viện Pyvi.

Hình 4. 1: Sơ đồ quy trình xử lý dữ liệu

Mẫu dữ liệu gốc Dữ liệu sau khi làm sạch #78

Phở khô tôm hùm ở đây vừa lạ vừa ngon ( trước giờ chưa nghe đến phở tôm hùm bao giờ) Chất lượng: q ít tơm Giá: 49k - chấp nhận được vì có tơm hùm

{FOOD#QUALITY, positive},

{FOOD#STYLE&OPTIONS, neutral}, {FOOD#PRICES, neutral}

#78

phở khô tôm_hùm ở đây vừa lạ vừa ngon trước giờ chưa nghe đến phở

tơm_hùm bao_giờ chất_lượng q ít tơm giá num k chấp_nhận được vì có

tơm_hùm

{FOOD#STYLE&OPTIONS, positive}, {FOOD#PRICES, positive},

{FOOD#QUALITY, positive} Bảng 4. 1: Minh họa kết quả làm sạch dữ liệu

4.1.2.2 Chuẩn hóa dữ liệu

Dữ liệu đầu vào được chia làm 3 phần: phần chỉ mục, phần dữ liệu và phần nhãn

Mẫu dữ liệu gốc Các thành phần

#78

Phở khô tôm hùm ở đây vừa lạ vừa ngon ( trước giờ chưa nghe đến phở tôm hùm bao giờ) Chất lượng: q ít tơm Giá: 49k - chấp nhận được vì có tơm hùm

#78

Phở khơ tơm hùm ở đây vừa lạ vừa ngon ( trước giờ chưa nghe đến phở tơm hùm bao giờ) Chất lượng: q ít tơm Giá: 49k - chấp nhận được vì có tơm hùm

50 {FOOD#QUALITY, positive}, {FOOD#STYLE&OPTIONS, neutral}, {FOOD#PRICES, neutral} {FOOD#QUALITY, positive}, {FOOD#STYLE&OPTIONS, neutral}, {FOOD#PRICES, neutral}

Bảng 4. 2: Minh họa các thành phần dữ liệu

Phần nhãn cũng bao gồm 2 phần: phần khía cạnh và phần ý kiến theo khía cạnh

Mẫu dữ liệu Các thành phần

{FOOD#QUALITY, positive}

FOOD#QUALITY positive

Tiếp đến, đề tài tiến hành trích xuất các khía cạnh và ý kiến từ dữ liệu nhãn đầu vào bên trên để tạo thành danh sách khía cạnh, ý kiến phục vụ cho việc xây dựng nhãn cho mơ hình phân tích khía cạnh và mơ hình phân tích ý kiến theo khía cạnh. Sau khi trích xuất, ta có được 12 lớp khía cạnh (đây cũng chính là số lớp để phục vụ bài tốn phân loại khía cạnh) và 4 lớp ý kiến (đây cũng chính là số lớp để phục vụ bài tốn phân tích ý kiến theo khía cạnh) như sau:

12 khía cạnh 4 ý kiến - FOOD#STYLE&OPTIONS - FOOD#PRICES - FOOD#QUALITY - DRINKS#STYLE&OPTIONS - DRINKS#QUALITY - DRINKS#PRICES - RESTAURANT#GENERAL - RESTAURANT#MISCELLANEOUS - RESTAURANT#PRICES - LOCATION#GENERAL - SERVICE#GENERAL - AMBIENCE#GENERAL - Negative - Positive - Neutral - None

51

Trong đó, các khía cạnh khơng xuất hiện trong mẫu dữ liệu sẽ được nhận ý kiến là None

4.1.2.3 Phân chia dữ liệu

Dữ liệu VLSP-2018 (miền nhà hàng) có tổng cộng 4.750 dữ liệu bình luận được chia thành 3 tập con để phục vụ cho việc huấn luyện, kiểm thử và kiểm tra như sau

Tập dữ liệu Số lượng bình luận Số lượng khía cạnh

Tập huấn luyện (Train) 2.961 9.034

Tập kiểm thử (Validation) 1.290 3.408

Tập kiểm tra (Test) 500 2.419

Tổng cộng 4.750 14.861

Bảng 4. 4: Thống kê số lượng bình luận và số lượng khía cạnh trong bộ dữ liệu

52

Hình 4. 3: Phân chia dữ liệu huấn luyện, kiểm tra và kiểm thử

4.2 Kết quả thực nghiệm

Kết quả thực nghiệm cho thấy rằng các phương pháp học sâu kết hợp như CNN- LSTM, MultiCNN-LSTM cho kết quả tốt hơn phương pháp truyền thống CNN hay LSTM trên tập kiểm tra.

4.2.1 Công nghệ sử dụng

Trong thực nghiệm, chúng tôi sử dụng ngơn ngữ lập trình Python, xây dựng các phương thức làm sạch dữ liệu kết hợp với các thư viện xử lý dữ liệu pyvi, ftfy để tiền xử lý dữ liệu, sử dụng thư viện mã nguồn mở Tensorflow - Keras do Google phát triển để xây dựng các mơ hình học sâu thực hiện việc huấn luyện mơ hình phân tích ý kiến người dùng theo khía cạnh. Việc huấn luyện mơ hình gồm 2 cơng đoạn: Tiền xử lý dữ liệu và huấn luyện mơ hình học sâu nhiều lớp.

Mơi trường thực nghiệm huấn luyện trên máy PC sử dụng hệ điều hành Windows 10 Pro bản 64 bit với RAM 16Gb, Intel(R) Core(TM) i5-8400 CPU @ 2.80GHz, GPU NVIDIA GeForce GTX 1070Ti 8Gb.

4.2.2 Trích xuát đặc trưng

Word embedding: để thực hiện word embedding cho dữ liệu đầu vào của mơ hình

53

chiều. Tuy nhiên, đề tài không thực hiện biến đổi trực tiếp dữ liệu đầu vào mà sử dụng bộ dữ liệu này như ma trận trọng số cho lớp Embedding trong mơ hình mạng. Việc này tạo điều kiện thuận lợi cho phép dễ dàng điều chỉnh các tham số phục vụ tunning cho mơ hình sau này.

Trích xuất đặc trưng: đề tài thực hiện lọc giữ lại các từ trong văn bản cho mơ hình

xác định khía cạnh và giữ lại danh từ, động từ, tính từ và trạng từ (gọi tắt là cụm danh từ) cho mơ hình phân tích quan điểm theo khía cạnh để tính giá trị Tf-Idf, từ đó xác định các từ quan trọng nhất dùng làm vector đặc trưng. Sau khi thực hiện trích xuất và tính giá trị Tf-Idf tương ứng thì thu được 569 từ (được sắp xếp theo mức độ quan trọng giảm dần) để làm đặc trưng bổ sung cho mơ hình CNN.

Hình 4. 4: Minh họa trích xuất từ vựng

Dữ liệu sau khi vector hóa sẽ đi qua lớp Convolution layer là lớp quan trọng nhất trong mơ hình CNN sẽ trích xuất được những thông tin quan trọng của dữ liệu giúp xây dựng được mơ hình có khả năng tự học đặc trưng.

4.2.3 Xác định khía cạnh

Đối với bài tốn Xác định khía cạnh, phương pháp CNN đạt kết quả độ chính xác là 83.77%, độ phủ là 66.56%, chỉ số F1-score là 74.18%, phương pháp LSTM đạt là độ chính xác 82.43%, độ phủ là 79.26% và chỉ số F1 là 80.82% cho bài toán phát hiện khía cạnh, đối với phương pháp CNN-LSTM thì mơ hình này đạt 84.49% độ chính xác, độ phủ là 80.82% còn chỉ số F1 là 82.61%, cao nhất là phương pháp MutiCNN-LSTM độ chính xác là 89.2%, độ phủ là 87.57 cịn chỉ số F1 là 89.52%.

54

CNN 83.77 66.56 74.18

LSTM 82.43 79.26 80.82

CNN-LSTM 84.49 80.82 82.61

MultiCNN-LSTM 89.22 87.57 89.52

Bảng 4. 5: Kết quả huấn luyện các mơ hình bài tốn Xác định khía cạnh (đơn vị %) Nhìn vào bảng kết quả, chúng ta có thể thấy rằng các phương pháp học sâu như LSTM, CNN-LSTM, MultiCNN-LSTM cho kết quả tốt hơn nhiều so với phương pháp CNN. Cụ thể, phương pháp CNN-LSTM cho kết quả độ đo F1 là 82.61% cao hơn phương pháp CNN là 8.43%. Còn với phương pháp MultiCNN-LSTM cho kết quả độ đo F1 là 89.52% cao hơn độ đo F1 của CNN là 15.34%. Từ kết quả này, chúnh tôi thấy rằng các phương pháp học sâu cho kết quả tốt hơn phương pháp truyền thống CNN.

Với 12 khía cạnh khác nhau của dữ liệu miền nhà hàng trong bộ dữ liệu VLSP-2018, Hình 4.1 trình bày kết quả chi tiết của bài tốn nhận dạng từng khía cạnh trong bộ dữ liệu của phương pháp MultiCNN-LSTM vì phương pháp này cho kết quả tốt nhất cho cả hai bài tốn.

Hình 4. 5: Độ đo F1 cho bài toán nhận dạng khía cạnh trên mơ hình MultiCNN- LSTM

55

4.2.4 Phân tích ý kiến người dùng theo khía cạnh

Cịn đối với bài tốn phát hiện ý kiến theo khía cạnh thì mơ hình CNN đạt độ chính xác là 62.59%, độ phủ là 49.73% và chỉ số F1 là 55.43%, phương pháp LSTM đạt là độ chính xác 60.23%, độ phủ là 55.72% và chỉ số F1 là 57.89%, đối với phương pháp CNN-LSTM thì mơ hình này đạt 60.46% độ chính xác, độ phủ là 57.83% còn chỉ số F1 là 59.12%, cao nhất vẫn là kết quả của mơ hình MultiCNN-LSTM là độ chính xác là 69.92%, độ phủ là 68.61%, chỉ số F1 là 69.47%.

56 Mơ hình Độ chính xác Độ phủ Độ đo F1 CNN 62.59 49.73 55.43 LSTM 60.23 55.72 57.89 CNN-LSTM 60.46 57.83 59.12 MultiCNN-LSTM 69.92 68.61 69.47

Bảng 4. 6: Kết quả huấn luyện các mơ hình bình tốn phân tích ý kiến theo khía cạnh (đơn vị %)

Cũng theo bảng kết quả, kết quả của phương pháp MultiCNN-LSTM rất khả quan và có tiềm năng nghiên cứu và phát triển thêm để đưa vào ứng dụng thực tế, vì thế, chúng tôi quyết định sử dụng phương pháp MultiCNN-LSTM để làm mơ hình dự đốn cho demo.

Hình 4.2 trình bày kết quả chi tiết của bài toán nhận dạng ý kiến của từng khía cạnh trong bộ dữ liệu của phương pháp MultiCNN-LSTM.

Hình 4. 6: Độ đo F1 trên từng khía cạnh cho bài tốn nhận dạng ý kiến trên mơ hình MultiCNN-LSTM

57

Bên cạnh đó, chúng tơi cũng đã sử dụng framework Flask kết hợp với các kỹ thuật HTML, CSS để xây dựng một chương trình minh họa trên nền tảng website để trực quan hóa ứng dụng.

Hình 4. 7: Kết quả so sánh các mơ hình cho bài tốn phát hiện khía cạnh

58

So sánh với một nghiên cứu năm 2018, chủ đề “A Transformation Method For Aspect-Basedsentiment Analysis” trong Hội thảo quốc tế lần thứ năm về xử lý giọng nói và ngơn ngữ tiếng Việt (VLSP 2018) [20]. Các nhà nghiên cứu đã đưa ra một hệ thống phân tích cảm xúc dựa trên khía cạnh (ABSA) áp dụng phương pháp học có

Một phần của tài liệu Phân tích ý kiến người dùng theo khía cạnh bằng phương pháp học sâu (Trang 47 - 60)

Tải bản đầy đủ (PDF)

(76 trang)