Phương pháp đánh giá mơ hình

Một phần của tài liệu Phân tích quan điểm trong lĩnh vực thức ăn trẻ em sử dụng kỹ thuật học máy (Trang 51)

3. Bố cục luận văn

3.6.Phương pháp đánh giá mơ hình

Thơng thường phương pháp đánh giá mơ hình của bộ phân lớp quan điểm được đo bằng việc tính tốn chính xác trong đĩ phân lớp vào một tập kiểm tra cụ thể. Độ chính xác của phân lớp được định nghĩa như sau:

Accuracy (ACC): Độ đo chính xác trung bình tổng quát của các nhãn, là

tỷ lệ giữa kết quả dự đốn đúng trong tống số mẫu dữ liệu thực tế.

Accuracy = TP+TN

TP+TN+FP+FN =Số lượng dự đốn đúng

Tổng số mẫu (3.1)

Trong đĩ

 True Positive (TP): tổng số lượng tích cực dự đốn ĐÚNG với số số lượng tích cực thực tế

 True Negative (TN): tổng số lượng tiêu cực dự đốn ĐÚNG với số lượng tiêu cực thực tế;

 False Positive (FP): tổng số lượng tích cực dự đốn SAI với số lượng tích cực thực tế;

 False Negative (FN): tổng số lượng tiêu cực dự đốn SAI với số lượng tiêu cực thực tế.

Precision (Độ chính xác): được định nghĩa là số lượng dự đốn được thực hiện

chính xác hoặc cĩ liên quan trong số tất cả các dự đốn dựa trên lớp tích cực, là tỉ lệ số mẫu tích cực phân loại đúng trong số những mẫu được phân loại là đúng

Precision = TP

TP+FP= Số lượng tích cực phân loại đúng

Tổng số phân loại đúng (3.2)

Recall (Độ bao phủ): chỉ số thể hiện trong tất cả các trường hợp Positive, bao

nhiêu trường hợp đã được dự đốn chính xác, là tỉ lệ số mẫu tích cực đúng trong số những điểm thực sự là positive

Recall = TP

TP+FN = Số lượng tích cực phân loại đúng

Tổng số phân loại trong thực tế (3.3)

F_score: Độ đo F1 là giá trị trung bình hài hịa của độ chính xác và độ bao phủ

giúp tối ưu hĩa một bộ phân loại cho độ chính xác cân bằng và hiệu suất thu hồi.

F1 =2× Precision×Recall

Precision+Recall (3.4)

Thuật ngữ “độ chính xác” dễ gây nhầm lẫn giữa Accuracy và Precision (Accuracy khơng phân biệt Positive/negative). Người ta cịn gọi Precision là “Khả năng xác định”. Precision khơng khảo sát mơ hình mơt cách độc lập, mà đặt mơ hình vào một bối cảnh (dữ liệu). Do đĩ ta khơng nĩi chung chung: ”mơ hình chính xác”, mà là: ”Mơ hình chính xác đối với mẫu/dữ liệu hiện thời”.

Chương 3 đã trình bày các bước thu thập, gán nhãn và thực hiện tiền xử lý cho dữ liệu đầu vào. Trong chương này chúng tơi cũng phân tích các đặc điểm đặc trưng của bộ dữ liệu thực nghiệm thức ăn trẻ em với những bình luận tiếng việt nhằm giải thích cho việc lựa chọn các giải thuật, mơ hình phù hợp với bộ dữ liệu trong bài tốn này.

Trong chương tiếp theo sẽ chi tiết các bước xây dựng mơ hình, cài đặt thực nghiệm để giải quyết vấn đề bài tốn đã cho và phân tích, tổng hợp các kết quả của quá trình thực nghiệm, đưa ra những đánh giá với mong muốn lựa chọn được mơ hình tối ưu nhất cho bài tốn đặt ra.

CHƯƠNG 4: THỰC NGHIỆM VÀ ĐÁNH GIÁ

Trong chương này chúng tơi trình bày về cấu hình thử nghiệm và kết quả thử nghiệm cho bài tốn phân tích quan điểm với dữ liệu trong lĩnh vực thức ăn trẻ em. Đồng thời chúng tơi cũng phân tích và thảo luận về kết quả đạt được.

4.1. Dữ liệu thực nghiệm:

Luận văn được thực nghiệm với tập dữ liệu thức ăn trẻ em. Về nguồn dữ liệu và chi tiết về dữ liệu đã được trình bày trong chương 3. Đầu vào là 15926 câu bình luận tiếng việt đã được gán nhãn, được chia làm 2 tập: tập dữ liệu huấn luyện và tập dữ liệu kiểm thử theo tỉ lệ 80% và 20%.

4.2. Mơi trường thực nghiệm:

- Processor: Intel(R) Core(TM) i3-6100U CPU @ 2.30GHz - Memory (Ram): 4.00 GB

- System type: 64-bit operating system, x64-based processor - Edition: Windows 10 Pro -2021

Các thử nghiệm được cài đặt và sử dụng ngơn ngữ lập trình Python trên mơi trường Jupyter Notebook. Một số thư viện của Python sử dụng trong thực nghiệm gồm: Numpy, Pandas, Scikit- Learning, TensorFlow

4.3. Xây dựng và lựa chọn mơ hình

Chương trình được lập trình cĩ hai mã nguồn chính là chương trình thực hiện đọc, phân tích cấu trúc một tập tin PE và tiến hành dịch ngược về mã hex, chương trình thứ hai là chương trình đọc các dữ liệu mẫu, chạy các thuật tốn trích chọn đặc trưng và chạy các thuật tốn học máy.

Numpy là một thư viện tốn học phổ biến và mạnh mẽ của Python. Nĩ cho phép làm việc hiệu quả với ma trận và mảng với tốc độ xử lý nhanh hơn nhiều lần khi chỉ sử dụng “core Python” đơn thuần. Ngồi ra, Python cũng hỗ trợ một thư viện khác để mở rộng thêm các tính năng của Numpy.

Pandas là một thư viện phần mềm được viết riêng cho ngơn ngữ lập trình Python được xây dựng dựa trên Numpy để thực hiện các thao tác quản lý và phân tích dữ liệu, được thiết kế để cho phép làm việc với dữ liệu được gán nhãn hoặc quan hệ theo cách trực quan hơn. Đặc biệt, nĩ cung cấp các cấu trúc dữ liệu và các phép tốn để thao tác với các bảng số và chuỗi thời gian và khả năng import dữ liệu từ nhiều nguồn khác nhau như CSV.

TensorFlow do Google phát triển, cung cấp một bộ cơng cụ để xây dựng và đào tạo mạng nơ-ron. Ngồi ra cịn cĩ hỗ trợ vectơ hĩa văn bản, cả trên tần suất từ truyền thống và nhúng qua từ nâng cao hơn.

Keras cung cấp các bản tĩm tắt hữu ích để làm việc với nhiều loại mạng nơ-ron, như mạng nơ-ron hồi quy (RNN). Keras cĩ thể được chạy trên Tensorflow, cung cấp các cơng cụ hữu ích để phân loại văn bản

Luận văn đã sử dụng thư viện Pandas để tải tệp csv và phân tích tập dữ liệu thức ăn trẻ em như sau:

Kết quả tệp dữ liệu

Hình 4. 1: Tệp dữ liệu sau khi được tải

Tệp dữ liệu thức ăn trẻ em cĩ 15926 bình luận đã được gán nhãn thủ cơng và được chia làm hai cột cụ thể. Một cột là các câu bình luận của người dùng về miền dữ liệu thức ăn trẻ em, một cột là các tham số đã gán nhãn tương đương từ 1 đến 5 nhãn . Trong quá trình gán nhãn tập dữ liệu thủ cơng khơng tránh khỏi

import pandas as pd import numpy as np

data = pd.read_csv("food_kid_converted.tsv", delimiter="\t", names=["text", "label"])

những sai sĩt nhỏ, để huấn luyện mơ hình học máy được tốt sẽ loại bỏ những nhãn nhỏ hơn 1 và lớn hơn 5.

Kết quả loại bỏ những nhãn nhỏ hơn 1 và lớn hơn 5 bao gồm 159 câu bình luận trong tập dữ liệu.

Hình 4. 2: Chương trình loại bỏ những nhãn lớn hơn 1 và nhỏ hơn 5

Thư viện Sklearn trong Python là thư viện dành cho máy học và cĩ các cơng cụ hữu ích để vectơ hĩa văn bản. Việc đào tạo một bộ phân lớp trên đầu các vectơ, như bộ vectơ văn bản tần số hoặc TF-IDF là khá đơn giản. Scikit-learning cĩ triển khai cho máy hỗ trợ Vectơ SVM, Nạve Bayes và Logistic Regression. Kỹ thuật biến đổi các chuỗi ký tự thành tính năng số gọi là chuyển các câu bản bản thành vectơ số với một mục đích cĩ thể được cung cấp cho các mơ hình học máy.

Tiếp theo, chúng tơi sẽ sử dụng kỹ thuật tách tập dữ liệu thành dữ liệu đào tạo và dữ liệu kiểm thử, với 20% dữ liệu được sử dụng để kiểm thử và 80% cịn lại để đào tạo mơ hình. Kết quả Tách tập dữ liệu gồm 15926 câu bình luận ra thành 1 tập dữ liệu huấn luyện gồm 12609 câu bình luận và một tập dữ liệu kiểm thử gồm 3153 câu bình luận.

filtered_data = data[(data['label'] >= 1) & (data['label'] <= 5)] filtered_data = filtered_data.astype({'label': 'int32'})

4.4. Huấn luyện mơ hình

Trong chương 2, luận văn đã tìm hiểu về các kỹ thuật học máy truyền thống cho bài tốn phân tích quan điểm. Trong phạm vi nghiên cứu, luận văn lựa chọn thuật tốn Nạve Bayes, lựa chọn mơ hình Multiomial Nạve Bayes, trong thư viện sklearn. Mơ hình LinearSVC trong thư viện sklearn được viết lại trên cơ sở thư viện hỗ trợ phân lớp theo thuật tốn Support Vector Machines (SVM). Mơ hình Logistic Regression trong thư viện sklearn sử dụng thuật tốn Hồi quy Logistic. Ngồi ra, luận văn cịn sử dụng kỹ thuật LSTM của Deep Learning trong thư viện Keras.

4.5. Kết quả thực nghiệm

Thực nghiệm 1: So sánh các mơ hình đã được huấn luyện bằng mơ hình

học máy truyền thống, sử dụng các thuật tốn gồm: Nạve Bayes, SVM, Logistic Regression và mơ hình DeepLearning là LSTM ta cĩ các kết quả sau:

Bảng 4. 1: Kết quả thử nghiệm trên các mơ hình.

Phương pháp ACC

Nạve Bayes 63,08

SVM 70,09

Logistic Regression 72.88

LSTM 71.93

Dựa vào bảng dữ liệu 4.1 ta biểu diễn bằng biểu đồ sau:

Hình 4. 3: Kết quả đánh giá các mơ hình sử dụng độ đo ACC

63.08 70.09 72.88 71.93 58 60 62 64 66 68 70 72 74

Nạve Bayes SVM Hồi quy Logistic LSTM

Kết quả thử nghiệm trên các mơ hình học máy

Kết luận thực nghiệm 1:

- Nhìn vào biểu đồ trên ta thấy kết quả phân lớp của các mơ hình chưa thực sự cao vì trong luận văn dữ liệu được phân là 5 lớp nên sẽ khĩ hơn và thấp hơn với dữ liệu phân 3 lớp.

- Bộ phân lớp Logistic Regresion được chứng minh là tốt hơn so với các bộ phân lớp khác với độ đo ACC là 72.88, cao hơn cả khi tiếp cận Deep Learning cụ thể là kỹ thuật LSTM với độ chính xác ACC 70.09. Vậy trong một số trường hợp, khơng phải tập dữ liệu nào khi huấn luyện bằng mơ hình Deep Learning cũng cho kết quả tốt nhất.

Thực nghiệm 2: Đánh giá theo kích cỡ của dữ liệu huấn luyện. Do kết quả của

phương pháp Hồi quy Logistic cao nhất nên chúng tơi chỉ thử nghiệm với phương pháp này. Chia bộ dữ liệu huấn luyện ra thành các tập dữ liệu huấn luyện tương úng với số lượng: 5000, 7000, 10000, 12609 sample (ví dụ) để huấn luyện mơ hình Hồi quy Logistic, kết quả thể hiện trong bảng 4.2.

Bảng 4. 2: Kết quả đánh giá theo cỡ của dữ liệu

Độ đo 5000 7000 10000 12609

ACC 67,3 70,5 71,9 72,88

Dựa vào bảng 4.2 trên ta biểu diễn bằng biểu đồ sau:

Hình 4. 4: Kết quả đánh giá độ lớn của dữ liệu với độ đo ACC

67.3 70.5 71.9 72.88 64 65 66 67 68 69 70 71 72 73 74 5000 7000 10000 12609

Độ lớn của dữ liệu với độ đo ACC khi huấn luyện trên mơ hình Hồi quy Logistic

Nhìn vào bảng dữ liệu và biểu đồ trên ta thấy huấn luyện trên tập mẫu càng nhiều sample thì mơ hình học cho kết quả chính xác càng cao. Điều này chứng tỏ rằng mơ hình vẫn cĩ khả năng học tốt hơn nếu cĩ thêm dữ liệu.

So sánh thời gian huấn luyện trên Hồi quy Logistic

Bảng 4. 3: Thời gian huấn luyện của các tập dữ liệu

Thời gian (giây) 5000 7000 10000 12609

Thời gian Train 53s 71s 82s 109s

Nhận xét: Ta thấy một Epoch với tập dữ liệu huấn luyện 12609 sample trung bình

khoảng 109 giây, trong khi đĩ đĩ tập dữ liệu 5000 sample chỉ mất 53 giây. Nhưng tập dữ liệu 12609 sample cho độ chính xác cao hơn tập dữ liệu 5000 sample

Kết luận 2: Với tập dữ liệu càng lớn thì độ chính xác càng cao và thời gian huấn

luyện càng lâu.

Phân tích lỗi:

Quá trình thực nghiệm với tập dữ liệu thức ăn trẻ em trên các mơ hình truyền thống ta thấy: Các câu cĩ sự pha trộn (vừa cĩ quan điểm tích cực, vừa cĩ quan điểm tiêu cực) hay câu cĩ quan điểm trung tính dễ dẫn đến dự đốn nhãn sai. Ta xét ví dụ sau:

Với ví dụ trên ta thấy trong cùng một câu sẽ cĩ hai quan điểm: Rất tích cực và tiêu cực, được gán nhãn là 3 (trung tính) nhưng trong một số trường hợp máy sẽ dự đốn sai. Cụ thể khi chia nhỏ bộ dữ liệu ở mức 5000, 7000 câu để huấn luyên mơ hình máy sẽ dự đốn là tiêu cực (2), hoặc cĩ khi là tích cực (4). Nhưng khi để tập dữ liệu 12609 thì máy sẽ dự đốn là trung tính (3).

[(' Sữa ngày rất ngon nhưng đắt quá . ', 4), ('Chất lượng sản phẩm tốt , giao hàng chậm .', 2)]

Kết luận 3: Trong học máy truyền thống, các mơ hình sẽ học tốt hơn với

những câu cĩ quan điểm phân cực rõ ràng. Những câu cĩ sự pha trộn vừa cĩ quan điểm tích cực, vừa cĩ quan điểm tiêu cực hay câu cĩ quan điểm trung tính sẽ dễ dẫn dễ dự đốn nhãn sai.

Với phương pháp tiếp cận học sâu, cụ thể là LSTM thường sẽ cho độ chính xác cao với các tập dữ liệu lớn, nhưng với tập dữ liệu nhỏ thì khĩ tìm thấy đặc

sample_sentences = ["Sữa ngày rất ngon nhưng đắt quá .","Chất lượng sản phẩm tốt , giao hàng chậm . "]

trưng sai để cải tiến. Hình 4.5 là một số bình luận khi dùng LSTM để huấn luyện mơ hình nhưng dự đốn sai nhãn.

Hình 4. 5: Một số bình luận dự đốn sai nhãn khi dùng LTSM

Chúng ta cĩ thể thấy với LSTM các câu sai thường khơng bị pha trộn quan điểm như các câu sai của truyền thống mà thường liên quan đến cấu trúc hoặc cụm từ khơng xuất hiện trong tập dữ liệu.

4.6. Đánh giá thực nghiệm

Với mơ hình học sâu LSTM sẽ phù hợp hơn với tập dữ liệu huấn luyện cĩ kích thước lớn. Trong một số trường hợp, với tập dữ liệu huấn luyện kích thước nhỏ khi dùng các phương pháp học máy truyền thống sẽ hiệu quả hơn vì chúng ta cĩ thể thiết kế và xây dựng các đặc trưng hiệu quả cho bài tốn, khơng những thế tính giải thích rõ ràng. Cụ thể với tập dữ liệu thức ăn trẻ em đã được huấn luyện trên các phương pháp học máy truyền thống ta thấy phương pháp Hồi qui Logistic cho kết quả cho kết quả tốt hơn so với LSTM. Khơng những thế tập dữ liệu càng lớn thì độ chính xác càng cao thời gian huấn luyện càng lâu. Tuy nhiên máy sẽ học tốt hơn với quan điểm cĩ phân cực rõ ràng. Hơn nữa, những câu cĩ sự pha trộn vừa cĩ quan điểm tích cực, vừa cĩ quan điểm tiêu cực hay câu cĩ quan điểm trung tính sẽ dễ dẫn dễ dự đốn nhãn sai.

Kết luận chương

Trong chương 4 đã trình bày các thực nghiệm trên tập dữ liệu thức ăn trẻ em sử dụng các kỹ thuật truyền thống Nạve Bayes, SVM, Logistic Regression và mơ hình DeepLearning LSTM để đưa ra những kết luận và phân tích lỗi và đánh giá trong quá trình thực nghiệm.

KẾT LUẬN

Trong luận văn này chúng tơi đã nghiên cứu một ứng dụng trong lĩnh vực xử lý ngơn ngữ tự nhiên, cụ thể là phân tích quan điểm của khách hàng dựa trên những bình luận về thức ăn trẻ em được đăng tải trên các trang website, các trang diễn đàn sản phẩm và mạng xã hội. Giải pháp được thực hiện trên nhiều mơ hình để so sánh được các ưu và khuyết điểm của mơ hình và chọn ra mơ hình tốt nhất thơng qua các phương pháp đánh giá. Ứng dụng của bài tốn phân tích quan điểm là tạo ra các báo cáo trực quan phục vụ nhu cầu ra quyết định của các doanh nghiệp. Từ đĩ doanh nghiệp trong lĩnh vực đồ ăn trẻ em sẽ cĩ chiến lược để phát triển dịch vụ, cải tiến sản phẩm tốt hơn nhằm thu hút và đem lại sự tin tưởng của khách hàng. Ngồi ra nghiên cứu sẽ là tiền đề cho các ứng dụng phân tích dữ liệu, sử dụng giải pháp này để tích hợp vào các ứng dụng với mục đích khảo sát quan điểm trải nghiệm khách hàng đối với tất cả sản phẩm dịch vụ khác nhau.

Những đĩng gĩp của luận văn

- Xây dựng tập dữ liệu (15926 câu và đã gán nhãn thủ cơng cho từng câu) về lĩnh vực thức ăn trẻ em.

- Nghiên cứu tổng quan bài tốn phân tích quan điểm.

- Nghiên cứu các phương pháp NaiveBayes, Hồi quy logic, SVM và LSTM để ứng dụng cho bài tốn phân tích quan điểm trong lĩnh vực thức ăn trẻ em. - Trích chọn các đặc trưng hiệu quả cho bài tốn và phân tích lỗi để cĩ các giải

pháp cải tiến cho tương lai.

Một phần của tài liệu Phân tích quan điểm trong lĩnh vực thức ăn trẻ em sử dụng kỹ thuật học máy (Trang 51)