Danh sách các thuật toán được sử dụng để so sánh

Một phần của tài liệu (Luận văn Đại học Thương mại) NGHIÊN CỨU MỘT SỐ THUẬT TOÁN HỌC MÁY (MACHINE LEARNING) ỨNG DỤNG CHO BÀI TOÁN XÁC ĐỊNH CÁC CHỦ ĐỀ QUAN TÂM CỦA KHÁCH HÀNG TRỰC TUYẾN (Trang 44 - 50)

Thuật toán Đặc trưng đầu vào Gán đơn nhãn Gán đa nhãn

CNN Văn bản gốc x x T2V Văn bản gốc x x MNB TF-IDF x NB TF-IDF x SVM TF-IDF x K-NN TF-IDF x C4.5 TF-IDF x

Thuật toán CNN: Convolutional Neural Network (CNNs – Mạng nơ-ron tích

chập) là một trong những mơ hình Deep Learning tiên tiến, CNN được đánh giá là thuật tốn ứng dụng tốt cho phân tích dữ liệu văn bản.

Mạng CNN gồm một tập hợp các lớp tích chập (convolution) chồng lên nhau và sử dụng các hàm khởi tạo phi tuyến (nonlinear activation) như ReLU và tanh để kích hoạt các trọng số trong các nút (node). Mỗi một lớp sau khi thơng qua các hàm kích hoạt sẽ tạo ra các thơng tin trừu tượng hơn cho các lớp tiếp theo.

Trong mơ hình mạng truyền ngược (feedforward neural network) thì mỗi nơ ron đầu vào (input node) cho mỗi nơ ron đầu ra trong các lớp tiếp theo. Mơ hình này gọi là mạng kết nối đầy đủ (fully connected layer) hay mạng tồn vẹn (affine layer). Cịn trong mơ hình CNNs thì ngược lại. Các lớp liên kết được với nhau thơng qua cơ chế tích chập. Lớp tiếp theo là kết quả tích chập từ lớp trước đó, nhờ vậy mà có được các kết nối cục bộ.

Mỗi một lớp được sử dụng các bộ lọc khác nhau thơng thường có hàng trăm hàng nghìn bộ lọc như vậy và kết hợp kết quả của chúng lại. Ngồi ra có một số lớp khác như pooling/subsampling layer dùng để chắt lọc lại các thơng tin hữu ích hơn (loại bỏ các thơng tin nhiễu).

Hình 4.3 : Minh họa thuật toán CNN (Kim Y. , 2014) Thuật toán T2V hay word2vec:

Thuật toán Word2Vec hoặc Word Embedding biểu diễn các từ dưới dạng các vector số thực với số chiều xác định. Word2Vec là một trong những mơ hình đầu tiên về Word Embedding sử dụng mạng nơ ron, vẫn khá phổ biến ở thời điểm hiện tại, có khả năng vector hóa từng từ dựa trên tập các từ chính và các từ văn cảnh...

Về mặt toán học, thực chất Word2Vec là việc ánh xạ từ một tập các từ (vocabulary) sang một không gian vector, mỗi vector được biểu diễn bởi n số thực. Mỗi từ ứng với một vector cố định. Sau quá trình huấn luyện mơ hình bằng thuật tốn backprobagation, trọng số các vector của từng từ được cập nhật liên tục.

Từ đó, có thể thực hiện tính tốn bằng các khoảng cách quen thuộc như euclide, cosine, mahattan, ,..., những từ càng "gần" nhau về mặt khoảng cách thường 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 1 trường từ vừng, ..

Hình 4.4 : Minh họa thuật toán Word2Vec (Allahyari, Mehdi, et al. (2017)

Thuật toán MNB: Định lý Bayes cho phép tính xác suất xảy ra của một sự kiện

ngẫu nhiên A khi biết sự kiện liên quan B đã xảy ra. Xác suất này được ký hiệu là P(A|B), và đọc là “xác suất của A nếu có B”. Đại lượng này được gọi xác suất có điều kiện hay xác suất hậu nghiệm vì nó được rút ra từ giá trị được cho của B hoặc phụ thuộc vào giá trị đó.

Theo định lí Bayes, xác suất xảy ra A khi biết B sẽ phụ thuộc vào 3 yếu tố: - Xác suất xảy ra A của riêng nó, khơng quan tâm đến B. Kí hiệu là P(A) và đọc là xác suất của A. Đây được gọi là xác suất biên duyên hay xác suất tiên nghiệm, nó là “tiên nghiệm” theo nghĩa rằng nó khơng quan tâm đến bất kỳ thông tin nào về B.

- Xác suất xảy ra B của riêng nó, khơng quan tâm đến A. Kí hiệu là P(B) và đọc là “xác suất của B”. Đại lượng này cịn gọi là hằng số chuẩn hóa (normalising constant), vì nó ln giống nhau, khơng phụ thuộc vào sự kiện A đang muốn biết.

- Xác suất xảy ra B khi biết A xảy ra. Kí hiệu là P(B|A) và đọc là “xác suất của B nếu có A”. Đại lượng này gọi là khả năng (likelihood) xảy ra B khi biết A đã xảy ra. Chú ý không nhầm lẫn giữa khả năng xảy ra B khi biết A và xác suất xảy ra A khi biết B.

Hình 4.5: Thuật tốn NB ngun thủy (A.M. Kibriya, et al., (2004)

Thuật toán SVM: SVM là phương pháp phân lớp rất hiệu quả được Vapnik giới

thiệu vào năm 1995 để giải quyết nhận dạng mẫu hai lớp sử dụng nguyên lý Cực tiểu hoá Rủi ro Cấu trúc (Structural Risk Minimization). Ý tưởng chính của thuật toán này là cho trước một tập huấn luyện được biểu diễn trong khơng gian vector trong đó mỗi tài liệu là một điểm, phương pháp này tìm ra một mặt phẳng h quyết định tốt nhất có thể chia các điểm trên không gian này thành hai lớp riêng biệt tương ứng lớp + và lớp -. Chất lượng của siêu mặt phẳng này được quyết định bởi khoảng cách (gọi là biên) của điểm dữ liệu gần nhất của mỗi lớp đến mặt phẳng này. Khoảng cách biên càng lớn thì mặt phẳng quyết định càng tốt đồng thời việc phân loại càng chính xác. Mục đích thuật tốn SVM tìm ra được khoảng cách biên lớn nhất để tạo kết quả phân lớp tốt.

Hình 4.6 : Mơ phỏng thuật tốn SVM (Allahyari, Mehdi, et al. (2017)

Thuật tốn K-NN: có giám sát điển hình, đó là k-nearest neighbor (kNN hay k-

láng giềng gần nhất) kNN là phương pháp truyền thống khá nổi tiếng theo hướng tiếp cận thống kê đã được nghiên cứu trong nhiều năm qua. kNN được đánh giá là một trong

những phương pháp tốt nhất được sử dụng từ những thời kỳ đầu trong nghiên cứu về phân loại văn bản Ý tưởng của phương pháp này đó là khi cần phân loại một văn bản mới, thuật toán sẽ xác định khoảng cách (có thể áp dụng các cơng thức về khoảng cách như Euclide, Cosine, Manhattan, …) của tất cả các văn bản trong tập huấn luyện đến văn bản này để tìm ra k văn bản gần nhất, gọi là k nearest neighbor – k láng giềng gần nhất, sau đó dùng các khoảng cách này đánh trọng số cho tất cả các chủ đề. Khi đó, trọng số của một chủ đề chính là tổng tất cả các khoảng cách ở trên của các văn bản trong k láng giềng có cùng chủ đề, chủ đề nào khơng xuất hiện trong k láng giềng sẽ có trọng số bằng 0. Sau đó các chủ đề sẽ được sắp xếp theo giá trị trọng số giảm dần và các chủ đề có trọng số cao sẽ được chọn làm chủ đề của văn bản cần phân loại.

Thuật toán C4.5: C4.5 là thuật toán phân lớp dữ liệu dựa trên cây quyết định

hiệu quả và phổ biến trong những ứng dụng khai phá cơ sở dữ liệu có kích thước nhỏ. C4.5 sử dụng cơ chế lưu trữ dữ liệu thường trú trong bộ nhớ, chính đặc điểm này làm C4.5 chỉ thích hợp với những cơ sở dữ liệu nhỏ, và cơ chế sắp xếp lại dữ liệu tại mỗi node trong q trình phát triển cây quyết định. C4.5 cịn chứa một kỹ thuật cho phép biểu diễn lại cây quyết định dưới dạng một danh sách sắp thứ tự các luật if-then (một dạng quy tắc phân lớp dễ hiểu). Kỹ thuật này cho phép làm giảm bớt kích thước tập luật và đơn giản hóa các luật mà độ chính xác so với nhánh tương ứng cây quyết định là tương đương. Tư tưởng phát triển cây quyết định của C4.5 là phương pháp Hunt đã nghiên cứu ở trên. Chiến lược phát triển theo độ sâu (depth-first strategy) được áp dụng

cho C4.5.

4.2. KỊCH BẢN THỰC NGHIỆM VÀ THAM SỐ ĐẦU RA 4.2.1. Kịch bản thực nghiệm 4.2.1. Kịch bản thực nghiệm

Với mỗi thực nghiệm (tương ứng với một bộ ngữ liệu), các bước tiến hành tương tự phương pháp One-vs-All như sau:

Với mỗi nhãn có trong bộ dữ liệu lấy N văn bản để thử nghiệm.

Trong N văn bản này có N/2 mẫu có nhãn đang xét (chọn ngẫu nhiên) và N/2 mẫu còn lại chọn là tập các văn bản của các nhãn còn lại được lựa chọn ngẫu nhiên.

Cụ thể với hai bộ ngữ liệu 20 NewsGroups và bộ ngữ liệu Tiếng Việt đều có 1000 mẫu

Cả hai bộ ngữ liệu đều lấy bằng N = 200

Đề tài sử dụng phương pháp cross-validation để thực hiện như sau:

Chia 1000 mẫu văn bản thành 10 nhóm con (10-folds cross-validation). Mỗi lần, lấy một nhóm làm bộ kiểm tra (bộ test), 9 nhóm cịn lại làm bộ dữ liệu học (bộ training).

Sau đó thực hiện việc lặp 10 lần cho mỗi fold như sau:

Coi mẫu có nhãn tương ứng nhãn đang xét là YES, các mẫu có nhãn khác đều gán thành nhãn NO. Bài toán trở thành phân loại văn bản theo hai nhãn YES và NO.

Dùng nhóm đang xét làm bộ kiểm thử (test).

Lần lượt áp dụng các thuật toán được xem xét để huấn luyện và kiểm thử trên hai tập trên.

Quan sát và lưu lại các tham số đầu ra.

Tính trung bình giá trị trên từng tham số đầu ra cho từng nhãn.

Mỗi thuật toán thực hiện chạy 10 lần, ghi lại kết quả sau đó tính kết quả trung bình của 10 lần lặp. So sánh kết quả đầu ra sau 10 lần lặp.

4.2.2. Tham số đầu ra

Tham số đầu ra cho kịch bản này là F1- score và Precision

Đánh giá dựa trên độ chính xác (Accuracy), độ nhạy (Recall). Accuracy và Recall được tính tốn dựa trên ma trận nhầm lẫn (confusion matrix), đây là một trong các độ đo phổ biến trong đánh giá mơ hình của các nghiên cứu về dữ liệu trên các trang mạng xã hội như các nghiên cứu về hệ thống khuyến nghị sản phẩm, tư vấn khách hàng.

Trong đó, đánh giá dựa trên độ chính xác (𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛) được tính bằng:

𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 = 𝑇𝑟𝑢𝑒 𝑃𝑜𝑠𝑖𝑡𝑖𝑣𝑒

𝑇𝑟𝑢𝑒 𝑃𝑜𝑠𝑖𝑡𝑖𝑣𝑒 + 𝐹𝑎𝑙𝑠𝑒 𝑃𝑜𝑠𝑖𝑡𝑖𝑣𝑒 =

𝑇𝑃 𝑇𝑃 + 𝐹𝑃

Recall hay độ nhạy được tính bằng:

𝑅𝑒𝑐𝑎𝑙𝑙 = 𝑇𝑟𝑢𝑒 𝑃𝑜𝑠𝑖𝑡𝑖𝑣𝑒

𝑇𝑟𝑢𝑒 𝑃𝑜𝑠𝑖𝑡𝑖𝑣𝑒 + 𝐹𝑎𝑙𝑠𝑒 𝑁𝑒𝑔𝑎𝑡𝑖𝑣𝑒 =

𝑇𝑃 𝑇𝑃 + 𝐹𝑁

Báo cáo của đề tài còn sử dụng F1- measure hay F1- score và độ chính xác Accuracy để đánh giá và so sánh các kết quả thực nghiệm. Giá trị của chúng được tính theo các công thức:

𝐹 − 𝑚𝑒𝑎𝑠𝑢𝑟𝑒 =2 ∗ 𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 ∗ 𝑅𝑒𝑐𝑎𝑙𝑙 𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 + 𝑅𝑒𝑐𝑎𝑙𝑙 =

2 ∗ 𝑃 ∗ 𝑅 𝑃 + 𝑅 4.3. KẾT QUẢ THỰC NGHIỆM, ĐÁNH GIÁ VÀ THẢO LUẬN

Kết quả độ chính xác (Accuracy) trên bộ ngữ liệu 20 NewsGroups được trình bày trong Bảng 4.4, đây là kết quả trung bình của 10 lần chạy cho mỗi nhãn tương ứng trong bộ mẫu thử nghiệm

Từ kết quả cho thấy thuật toán C45 đạt giá trị Accuracy cao nhất trong 19/20 nhãn, thuật toán SVM cho giá trị Accuracy cao nhất trên nhãn “talk.politics.mideast”.

Xét kết quả trung bình trên tất cả các nhãn thì thuật tốn C45 cho giá trị Accuracy cao nhất, tiếp theo lần lượt là các thuật toán RF, SVM, và MNB.

Từ kết quả cho thấy thuật toán C45 đạt giá trị Accuracy cao nhất trong 19/20 nhãn, thuật toán SVM cho giá trị Accuracy cao nhất trên nhãn “talk.politics.mideast”.

Xét kết quả trung bình trên tất cả các nhãn thì thuật tốn C45 cho giá trị Accuracy cao nhất, tiếp theo lần lượt là các thuật toán RF, SVM, và MNB.

Một phần của tài liệu (Luận văn Đại học Thương mại) NGHIÊN CỨU MỘT SỐ THUẬT TOÁN HỌC MÁY (MACHINE LEARNING) ỨNG DỤNG CHO BÀI TOÁN XÁC ĐỊNH CÁC CHỦ ĐỀ QUAN TÂM CỦA KHÁCH HÀNG TRỰC TUYẾN (Trang 44 - 50)