ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ ĐỖ THỊ NƯƠNG CÁC PHƯƠNG PHÁP XÁC ĐỊNH MỐI QUAN HỆ ĐA NHÃN VÀ ỨNG DỤNG TRONG PHÂN LỚP ĐA NHÃN TIẾNG VIỆT Ngành: Công Nghệ Thông Tin Ch
Trang 1
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
ĐỖ THỊ NƯƠNG
CÁC PHƯƠNG PHÁP XÁC ĐỊNH MỐI QUAN HỆ ĐA NHÃN
VÀ ỨNG DỤNG TRONG PHÂN LỚP ĐA NHÃN TIẾNG VIỆT
LUẬN VĂN THẠC SỸ
HÀ NỘI - 2015
Trang 2ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
ĐỖ THỊ NƯƠNG
CÁC PHƯƠNG PHÁP XÁC ĐỊNH MỐI QUAN HỆ ĐA NHÃN
VÀ ỨNG DỤNG TRONG PHÂN LỚP ĐA NHÃN TIẾNG VIỆT
Ngành: Công Nghệ Thông Tin Chuyên ngành: Hệ Thống Thông Tin
Mã số: 60480104
LUẬN VĂN THẠC SỸ
CÁN BỘ HƯỚNG DẪN: TS Nguyễn Cẩm Tú
HÀ NỘI - 2015
Trang 3Em xin gửi lời cảm ơn tới các thầy cô, các anh chị, các bạn và các em sinh viên trong phòng thí nghiệm KT-Sislab đã giúp em rất nhiều trong việc hỗ trợ kiến thức chuyên môn để hoàn thành tốt nghiệp luận văn
Tôi cũng muốn gửi lời cảm ơn tới những bạn trong khoa CNTT những người đã đồng hành cùng tôi trong suốt thời gian học tập Các bạn cũng luôn động viên và giúp
đỡ tôi rất nhiều trong thời gian làm luận văn
Cuối cùng, con cũng muốn gửi lời cảm ơn vô hạn đến gia đình và các bạn những người luôn ở bên động viên tôi để tôi có thể hoàn thành tốt luận văn này
Tôi xin chân thành cảm ơn!
Hà Nội, ngày 07 tháng 07 năm 2015
Học viên
Đỗ Thị Nương
Trang 4Lời cam đoan
Tôi xin cam đoan giải pháp tích hợp độ gần nhau giữa các nhãn vào trong các phương pháp học máy đa nhãn cho bài toán gán nhãn tiếng Việt được trình bày trong luận văn này là do tôi thực hiện dưới sự hướng dẫn của Tiến sỹ Nguyễn Cẩm Tú
Tất cả những tham khảo từ các nghiên cứu liên quan đề được nêu nguồn gốc một các rõ ràng từ danh mục tài liệu tham khảo trong luận văn Trong luận văn, không
có việc sao chép tài liệu, công trình nghiên cứu của người khác mà không chỉ rõ về tài liệu tham khảo
Hà Nội, ngày 07 tháng 07 năm 2015
Tác giả
Đỗ Thị Nương
Trang 5MỤC LỤC
MỞ ĐẦU 1
Chương 1 Giới thiệu chung bài toán phân lớp đa nhãn và mối quan hệ giữa các nhãn 3
1.1 Đa nhãn – phân lớp đa nhãn 3
1.1.1 Đa nhãn – phân lớp đa nhãn 3
1.1.2 Bài toán phân lớp văn bản 5
1.1.3 Thách thức của bài toán phân lớp đa nhãn 7
1.2 Phân lớp đa nhãn và mối quan hệ giữa các nhãn 7
1.3 Kết luận chương 1 9
Chương 2 Các phương pháp phân lớp đa nhãn sử dụng độ gần nhau giữa các nhãn 10
2.1 Mối quan hệ giữ các nhãn (từ) 10
2.2 Xác định độ gần nhau giữa các nhãn sử dụng Word2vec 10
2.2.1 Giới thiệu về công cụ word2vec 10
2.2.2 Một số kỹ thuật sử dụng trong Word2Vec 11
2.2.3 Sử dụng word2vec để đo độ gần nhau giữa các từ 13
2.3 Các phương pháp phân lớp đa nhãn sử dụng độ gần nhau giữa các nhãn 14
2.3.1 Binary Relevance (BR) 14
2.3.2 Classifier Chain (CC) 15
2.3.3 Calibrated Label Ranking (CLR) 18
2.3.4 Collective Multi-Label Classifier (CML) 21
2.4 Phương pháp và một số độ đo đánh giá các mô hình phân lớp đa nhãn 24
2.4.1 Phương pháp đánh giá các mô hình phân lớp đa nhãn 24
2.4.2 Một số độ đo để đánh giá mô hình phân lớp đa nhãn 24
2.5 Kết luận chương 2 27
Chương 3 Mô hình phân lớp đa nhãn cho văn bản tiếng việt sử dụng mối quan hệ các nhãn 28
3.1 Mô tả phương pháp 28
3.2 Mô hình tiếp cận bài toán 28
3.3 Pha 1 Huấn luyện mô hình 30
Trang 63.3.2 Biểu diễn văn bản trong mô hình vector [3] 30
3.3.3 Học máy đa nhãn 32
3.3.4 Học máy đa nhãn và tích hợp độ gần nhau giữa các nhãn 32
3.4 Pha 2 Phân lớp sử dụng mô hình 33
3.5 Kết luận chương 3 34
Chương 4 Thực nghiệm và đánh giá 35
4.1 Giới thiệu thực nghiệm 35
4.2 Môi trường và các công cụ sử dụng thực nghiệm 35
4.2.1 Cấu hình phần cứng 35
4.2.2 Các phần mềm sử dụng 35
4.3 Mô tả tập dữ liệu 36
4.3.1 Tập dữ liệu đầu vào cho học máy đa nhãn 36
4.3.2 Tính khoảng cách giữa các nhãn 38
4.4 Thực nghiệm 40
4.5 Kết quả thực nghiệm 41
Kết luận 43
Tài liệu tham khảo 44
Trang 7DANH SÁCH HÌNH VẼ
Hình 1.1: Ví dụ dữ liệu đa nhãn 3
Hình 1.2: Học đơn nhãn 4
Hình 1.3: Học đa nhãn đơn thể hiện 4
Hình 1.4: Mô hình phân lớp 6
Hình 2.1: Mô hình CBOW 11
Hình 2.2: Mô hình Skip-gram liên tục 12
Hình 2.3: Ví dụ về xác định độ gần nhau giữa các từ sử dụng Word2Vec 13
Hình 2.4: Mã giả của phương pháp Binary Relevance 15
Hình 2.5: Mã giả của phương pháp CC 17
Hình 2.6: Mã giả của phương pháp CLR 20
Hình 2.7: Mã giả của phương pháp CML 23
Hình 3.1: Mô hình phân lớp đa nhãn văn bản tiếng việt 29
Hình 4.1: Dạng tệp dữ liệu ARFF 38
Hình 4.2: Biểu đồ ví dụ về kết quả khoảng cách nhãn từ công cụ word2vec 39
Hình 4.3: Biểu đồ so sánh kết quả thực nghiệm 42
Trang 8DANH SÁCH BẢNG BIỂU
Bảng 2.1: Các tệp nguồn chính trong Word2Vec 10
Bảng 2.2: Tập dữ liệu ví dụ 14
Bảng 2.3: Minh họa phương pháp k-fold cross validation 24
Bảng 4.1: Cấu hình hệ thống thử ngiệm 35
Bảng 4.2: Một số phần mềm sử dụng 35
Bảng 4.3: Danh sách một số nhãn 36
Bảng 4.4: Mô tả các tệp dữ liệu đầu vào cho thực nghiệm 39
Bảng 4.5: Kết quả thực nghiệm 41
Trang 9CML Collective Multi Label Classifier
Trang 10TỔNG KẾT NHỮNG KÍ PHÁP TOÁN HỌC ĐƯỢC SỬ DỤNG TRONG
LUẬN VĂN
Kí
pháp
Thuật ngữ tiếng Anh Ý nghĩa
𝒳 Instance Space Không gian thể hiện d-chiều ℝ 𝑑 𝑜𝑟 ℤ 𝑑
𝒴 Label space Không gian nhãn với q nhãn có thể {y 1 , y 2 , …, y q }
𝑥 Feature vector Vector đặc trưng d chiều của thể hiện x (x 1 , x 2 , …, x d) T (x ∈ 𝒳)
𝑌 Tagged label set Tập nhãn liên quan tới x (𝑌 ⊆ 𝒴)
𝑌̅ Complementary set Tập bù của Y trong 𝒴
𝒟 Training set Tập huấn luyện đa nhãn {(𝑥 𝑖 , 𝑌 𝑖 ) | 1 ≤ 𝑖 ≤ 𝑚}
𝑆 Test set Tập kiểm thử đa nhãn {(𝑥 𝑖 , 𝑌 𝑖 ) | 1 ≤ 𝑖 ≤ 𝑝}
ℎ( ) Classifier Bộ phân lớp đa nhãn ℎ ∶ 𝒳 → 2 𝑦 , trong đó h(x) trả về tập nhãn phù hợp
với x
𝑓( , ) Real-valued function Hàm giá trị thực 𝑓 ∶ 𝒳 × 𝒴 → ℝ; f(x, y) trả về độ tin cậy cho nhãn phù
hợp của x
| | Cardinaity of A |𝐴| số phần tử của A
⟦ ⟧ Predicate ⟦𝜋⟧ trả về 1 nếu vị từ 𝜋 đúng, 0 ngược lại
𝜙( , ) - 𝜙(𝑌, 𝑦) trả về 1 nếu x 𝑦 ∈ 𝑌, -1 ngược lại
𝒟 𝑗 Binary Training DataSet
for j-th Label Tập huấn luyện nhị phân {(𝑥𝑖, 𝜙(𝑌𝑖, 𝑦𝑗))| 1 ≤ 𝑖 ≤ 𝑚} dẫn xuất từ tập 𝒟
cho nhãn thứ j
𝜓( , , ) - 𝜓(𝑌, 𝑦𝑗, 𝑦𝑘) trả về +1 nếu 𝑦𝑗∈ 𝑌 và 𝑦𝑘∉ 𝑌 và -1 nếu 𝑦𝑗∉ 𝑌 và 𝑦𝑘 ∈ 𝑌
𝐷𝑗𝑘 Binary Training DataSet
for Label Pair (y j , y k )
Tập huấn luyện nhị phân {(𝑥𝑖, 𝜓(𝑌, 𝑦𝑗, 𝑦𝑘))| 𝜙(𝑌𝑖, 𝑦𝑗) ≠ 𝜙(𝑌𝑖, 𝑦𝑘), 1 ≤ 𝑖 ≤ 𝑚} dẫn xuất từ tập 𝒟
ℬ Binary learning algorithm Giải thuật học nhị phân
Trang 11MỞ ĐẦU
Ngày nay với sự bùng nổ của thông tin điện tử cùng với đó nhu cầu phân loại văn bản điện tử, tìm kiếm thông tin yêu thích trên mạng gia tăng, việc gán nhãn thông tin bằng tay gặp nhiều khó khăn và tốn kém thời gian Do vậy sự ra đời của phân lớp văn bản được xem như một chìa khóa quan trọng để giải quyết vấn đề này
Bài toán phân lớp văn bản là việc gán tên các chủ đề (tên lớp/nhãn lớp) đã được xác định trước, vào các văn bản dựa trên nội dung của chúng Nếu mỗi văn bản chỉ thuộc vào một nhãn thì bài toán được gọi là bài toán phân lớp đơn nhãn đơn thể hiện Tuy nhiên, trong thực tế, dữ liệu đa nhãn gặp nhiều trong thực tế hơn là dữ liệu đơn nhãn Ví dụ, một văn bản có thể thuộc nhiều chủ đề như phần mềm, bản quyền, ăn cắp bản quyền…Trong trường hợp đó, bài toán được gọi là bài toán phân lớp đa nhãn Với số lượng văn bản trên internet, cùng với số lượng các chủ đề (nhãn) gia tăng nhanh chóng Bài toán phân lớp đa nhãn đặt ra hai thách thức: (1) số lượng nhãn lớn
và các nhãn có mối liên hệ với nhau, (2) dữ liệu có kích thước vô cùng lớn
Xuất phát từ thực tế nêu trên, luận văn tập trung vào nghiên cứu một số phương pháp phân lớp đa nhãn mà có xét đến mối quan hệ đa nhãn như: Classifier Chain (CC) [8] [13], Calibrated Label Ranking – Xếp hạng theo nhãn hiệu chuẩn (CLR) [9], Collective Multi-Label Classifier [6] và phương pháp cơ sở Binary Relevance [10] Ngoài ra, luận văn cũng nghiên cứu về công cụ word2vec [16] xác định độ gần nhau giữa các từ, nhãn và một số đề xuất cho việc tích hợp độ gần nhau giữa các từ, nhãn này vào các phương pháp phân lớp đa nhãn đã nghiên cứu Qua đó, luận văn áp dụng các phương pháp, kỹ thuật đã nghiên cứu vào việc xây dựng mô hình phân lớp cho văn bản tiếng Việt
Đóng góp của luận văn gồm ba phần:
1) Nghiên cứu công cụ xác định độ gần nhau giữa các từ, nhãn
2) Nghiên cứu một số thuật toán phân lớp đa nhãn và đưa ra đề xuất tích hợp độ gần nhau giữa các từ, nhãn vào một số thuật toán phân lớp đã nghiên cứu
3) Áp dụng các phương pháp học máy đa nhãn cho bài toán gán nhãn tiếng Việt, thực nghiệm và đánh giá
Nội dung của luận văn được chia thành các chương như sau:
Chương 1: Giới thiệu khái quát về đa nhãn và phân lớp đa nhãn văn bản Ngoài ra,
luận văn còn trình bày thách thức của phân lớp đa nhãn Từ đó, luận văn nêu ý nghĩa của mối quan hệ giữa các nhãn trong bài toán phân lớp đa nhãn
Chương 2: Trình bày về công cụ để xác định độ gần nhau giữa các từ, nhãn, các
phương pháp phân lớp đa nhãn mà luận văn sẽ áp dụng và đưa ra một số đề xuất cho
Trang 12nghiên cứu Tiếp theo, luận văn còn trình bày về phương pháp đánh giá các mô hình phân lớp đa nhãn và đưa ra một số độ đo đánh giá chúng
Chương 3: Luận văn trình bày về mô hình phân lớp đa nhãn trong văn bản Luận
văn áp dụng phương pháp biểu diễn dữ liệu (TF) vào trích trọn đặc trưng để giảm số chiều đặc trưng văn bản Sau đó được kết hợp với các phương pháp phân lớp đa nhãn MLL cùng với các phương pháp mà có đề xuất tích hợp độ gần nhau của các nhãn
Chương 4: Luận văn trình bày thực nghiệm cho mô hình của bài toán phân lớp đa
nhãn tiếng Việt trên phương pháp phân lớp đa nhãn ban đầu và phương pháp có tích hợp độ gần nhau của các nhãn Luận văn đánh giá kết quả phân lớp của hai phương pháp phân lớp đa nhãn này cho dữ liệu tiếng Việt trên trang web http://vnexpress.net
Phần kết luận: Tóm lược kết quả đạt được của luận văn và định hướng phát triển
tương lai
Trang 13CHƯƠNG 1 GIỚI THIỆU CHUNG BÀI TOÁN PHÂN LỚP ĐA
NHÃN VÀ MỐI QUAN HỆ GIỮA CÁC NHÃN 1.1 Đa nhãn – phân lớp đa nhãn
1.1.1 Đa nhãn – phân lớp đa nhãn
Trong các nhiệm vụ học giám sát truyền thống của bài toán đơn nhãn, một thể hiện liên tới một nhãn xét theo thuộc tính của thể hiện đó Tuy nhiên, trong nhiều ứng dụng thực tế, các đối tượng thường liên kết tới nhiều nhãn đồng thời Ví dụ, trong phân loại text, một bài báo có thể liên quan đến nhiều chủ đề như giải trí, thời trang…
Hình dưới đây trình bày một ví dụ về một bài báo được gán nhiều nhãn
Nó được định nghĩa như sau [3]:
Cho 𝒳 là không gian thể hiện, 𝒴 là tập của các nhãn lớp Theo Zhi-Hua Zhou
và các đồng nghiệp, đơn nhãn đơn thể hiện (học giám sát truyền thống), để học một
Trang 14hàm f: 𝒳 → Y từ một tập dữ liệu {(x 1 , y 1 ), (x 2 , y 2 ) … (x m , y m )}, với x i 𝜖 𝒳 là một thể hiện và y i 𝜖 𝒴 là nhãn xác định của x i
Tức là từ một tập dữ liệu ví dụ đã được xây dựng trước 𝒟 = {{(x 1 , y 1 ), (x 2 , y 2 )
… (x m , y m )}, nhiệm vụ của bài tốn học đơn nhãn đơn thể hiện là học một ánh xạ f sao
cho cĩ thể gán nhãn từng thể hiện chưa được gãn nhãn trong tập thể hiện 𝒳 với một nhãn trong 𝒴
Một số giải thuật học đơn nhãn đơn thể hiện như Nạve Bayes, Cây quyết định
và máy vector hỗ trợ (Support Vector Machine – SVN) [4]
Trong thực tế, dữ liệu đa nhãn gặp nhiều trong thực tế hơn là dữ liệu đơn nhãn Theo Zhi-Hua Zhou và các đồng nghiệp, học đa nhãn (đơn thể hiện) được định nghĩa như sau:
Để học một hàm f: 𝒳 → 2y từ tập dữ liệu {(x 1 , y 1 ), (x 2 , y 2 ) … (x m , y m )}, với với
x i 𝜖 𝒳 là một thể hiện và Y i ⊆ 𝒴 là tập của các nhãn của x i
Trang 151.1.2 Bài tốn phân lớp văn bản
Phân lớp văn bản là một trong những bài tốn cơ bản trong khai phá dữ liệu văn bản
Ngày nay, hầu hết các thơng tin được sinh ra và lưu trữ điện tử, sự mở rộng và phát triển ứng dụng cơng nghệ thơng tin rộng khắp … đã tạo ra nguồn thơng tin vơ cùng phong phú Để dễ quản lí và lưu trữ dữ liệu, một trong những phương pháp truyền thống là người dùng tự gán nhãn ngữ nghĩa (tagging) cho nội dung số (ảnh, tài liệu, văn bản) Tuy nhiên, việc gán nhãn thủ cơng cho các tài liệu số rất tốn thời gian
và cơng sức Do đĩ, luận văn xây dựng bộ phân lớp đa nhãn cho văn bản
Bài tốn phân lớp văn bản [3] [4] [1] là việc gán tên các chủ đề (nhãn) đã được xác định trước vào các văn bản dựa trên nội dung của nĩ một cách tự động
Phân lớp đa nhãn văn bản là nhiệm vụ phân loại tài liệu trong đĩ mỗi tài liệu cĩ thể đồng thời thuộc nhiều nhãn khác nhau Các kĩ thuật phân lớp văn bản sẽ giúp cho nguồn dữ liệu này được lưu trữ tự động một cách hiệu quả và được tìm kiếm nhanh chĩng
Để phân lớp văn bản tự động người ta thường sử dụng các kỹ thuật học máy cĩ giám sát, đầu vào là tập dữ liệu ví dụ bao gồm dữ liệu văn bản đã được phân lớp bằng tay, được chia thành hai phần: Tập huấn luyện (tập mẫu) và tập thử nghiệm (kiểm tra), tập mẫu chiếm 2/3 dữ liệu ví dụ, tập kiểm thử 1/3 dữ liệu cịn lại
Theo phương pháp học máy (machine learning), quá trình phân lớp gồm hai bước Ở bước thứ nhất, một mơ hình phân lớp (classfication model) được xây dựng dựa trên tri thức kinh nghiệm Ở đây, tri thức kinh nghiệm chính là một tập dữ liệu huấn luyện (training dataset) được cung cấp bởi con người bao gồm một tập văn bản
và phân lớp tương ứng của chúng Bước này cịn gọi là bước xây dựng huấn luyện (training process) hay ước lượng mơ hình phân lớp Ở bước thứ hai, mơ hình phân lớp xây dựng ở bước đầu sẽ được sử dụng để phân lớp cho những văn bản (chưa được phân loại) trong tương lai Bước đầu tiên được xem như là việc học cĩ giám sát mà chúng ta cĩ thể sử dụng rất nhiều các kĩ thuật học máy đã cĩ như: Nạve Bayes, k láng giếng gần nhất (kNN), cây quyết định (Decision Tree), máy vector hỗ trợ (SVN)…
Mục tiêu của bài tốn phân lớp là nhằm xây dựng mơ hình cĩ khả năng gán nhãn cho một văn bản bất kì với độ chính xác cao nhất cĩ thể Mơ hình để học và sử dụng bộ phân lớp là một quá trình 2 pha được minh họa như sau:
Trang 16Hình 1.4: Mô hình phân lớp
Trong những năm gần đây, đã có rất nhiều nghiên cứu để tìm ra các thuật phân lớp cho bài toán phân lớp đa nhãn Về cơ bản, người ta phân loại các giải thuật phân lớp đa nhãn thành hai loại [13] [7]:
Chuyển đổi bài toán: Ý tưởng của các giải thuật loại này là chuyển đổi bài
toán phân lớp đa nhãn thành nhiều bài toán phân lớp đơn nhãn để sử dụng các giải thuật phân lớp đơn nhãn đã được xây dựng trước đó Một số giải thuật phân lớp đa nhãn thuộc loại này như Binary Relevance [10], Classifier Chain [8], Calibrated Label Ranking [9], Randon k-labelsets [7]
Tương thích giải thuật: Ý tưởng của các giải thuật loại này là mở rộng các các
giải thuật, kỹ thuật học đã có để xử lý dữ liệu đa nhãn Một số giải thuật phân lớp đa nhãn thuộc loại này như Multi - label k-Nearest Neighbors [14] tương thích các kỹ thuật học lười (lazy learning), Collective Multi-Label Classifier [6] tương thích các kỹ thuật về lý thuyết thông tin cụ thể là maximum entropy
Trang 171.1.3 Thách thức của bài toán phân lớp đa nhãn
Bài toán phân lớp đa nhãn có vai trò quan trọng trong thực tiễn, nó có nhiều ứng dụng trong cuộc sống hiện đại Bài toán phân lớp đa nhãn đặt ra hai thách thức: (1) số lượng nhãn lớn và các nhãn có mối liên hệ với nhau, (2) dữ liệu có kích thước
vô cùng lớn Trong hầu hết các ứng dụng của phân lớp phân cấp văn bản là bài toán đa nhãn dữ liệu có kích thước rất lớn Chính vì số lượng từ mục lớn như vậy nên việc tìm kiếm tập các đặc trưng trở lên khó khăn Với tập văn bản, mỗi văn bản có thể thuộc vào nhiều nhãn khác nhau, và mỗi văn bản được biểu diễn bằng một tập đặc trưng Bên cạnh đó, nhiều thuộc tính không mang thông tin, nhập nhằng hoặc bị nhiễu
Do đó, lựa chọn đặc trưng có ý nghĩa và tầm quan trọng rất lớn trong thực tế, đặc biệt là đối với một số phương pháp bị ảnh hưởng rất lớn vào yếu tố đầu vào Lựa chọn đặc trưng là lựa chọn những thuộc tính mang nhiều thông tin nhất thông tập thuộc tính và loại bỏ những thuộc tính nhiễu Để giải quyết vấn đề đó, ta chỉ giữ những
từ mục có giá trị về thông tin Lựa chọn đặc trưng giúp giảm thời gian học và tăng chất lượng dự đoán
Một trong những kỹ thuật được dùng để giảm số chiều đặc trưng của văn bản là
mô hình chủ đề ẩn (Latent Dirichlet Allocation – LDA) [3] Ý tưởng của mô hình: mỗi tài liệu là sự trộn lẫn của nhiều chủ đề (topics), mỗi chủ đề là một phân phối xác suất trên tập các từ Mô hình LDA là một mô hình Bayesian 3 mức: (1) Mức kho dữ liệu; (2) Mức tài liệu; (3) Mức từ
Trong đó, mỗi phần của mô hình được coi như một mô hình trộn hữu hạn trên cơ
sở tập các xác suất của chủ đề
Luận văn này sẽ trình bày về một số phương pháp để giải quyết thách thức thứ nhất để tận dụng mối quan hệ đa nhãn trong phân lớp đa nhãn văn bản tiếng Việt
1.2 Phân lớp đa nhãn và mối quan hệ giữa các nhãn
Học đa nhãn là việc tìm một hàm ánh xạ từ không gian các đặc trưng tới không gian của tập các nhãn, và số lượng tập con nhãn sẽ tăng theo hàm số mũ khi số lượng nhãn tăng Vì vậy, khi số lượng nhãn trở lên rất lớn, sẽ gây ra một thách thức cho học
đa nhãn [3] [12] Ví dụ, cho một không gian nhãn với số lượng các nhãn là 20 (q = 20), khi đó số lượng tập con nhãn sẽ là trên một triệu nhãn (220)
Để giải quyết vấn đề này, cần thiết phải khai thác mối quan hệ giữa các nhãn khác nhau để nâng cao việc học đa nhãn
Trang 18Ví dụ, xác suất để một bức ảnh được gán nhãn là “Châu phi” rất cao khi ta biết
nó có các nhãn là “sư tử” và “đồng cỏ”, hay một văn bản được gán nhãn “giải trí” thường sẽ không được gán nhãn “chính trị”
Các cách tiếp cận của các phương pháp phân lớp đa nhãn hiện tại có thể được phân loại dựa trên mối quan hệ giữa các nhãn như sau:
Kiểu quan hệ bậc nhất: Các nhãn được giả thiết là độc lập Nói cách khác,
mối quan hệ đa nhãn không được tận dụng trong phân lớp đa nhãn
Kiểu quan hệ bậc hai: Các mối quan hệ theo cặp, ví như: mối quan hệ giữa
“nhãn phù hợp” và “nhãn không phù hợp” trong quá trình xếp hạng nhãn
Kiểu quan hệ bậc cao: Ví như quan hệ toàn bộ theo đó toàn bộ các nhãn
đều có ảnh hưởng tới việc phân lớp mỗi nhãn; hoặc quan hệ bộ phận trong
đó với một nhãn nhất định, tồn tại một nhóm con trong số toàn bộ các nhãn
có ảnh hưởng tới việc phân lớp nhãn được xét
Trang 191.3 Kết luận chương 1
Trong chương này, luận văn giới thiệu khái quát về một số khái niệm, nội dung của đa nhãn và phân lớp đa nhãn văn bản Ngoài ra, luận văn cũng nêu ra thách thức của bài toán đa nhãn văn bản và mục tiêu của luận văn để giải quyết thách thức về việc tận dụng mối quan hệ các nhãn trong phân lớp đa nhãn
Chương tiếp theo, luận văn sẽ giới thiệu về phương pháp xác định độ gần nhau giữa các nhãn, một số phương pháp phân lớp đa và đề xuất cho việc tích hợp độ gần nhau giữa các nhãn vào các phương pháp phân lớp đa nhãn đã trình bày
Trang 20CHƯƠNG 2 CÁC PHƯƠNG PHÁP PHÂN LỚP ĐA NHÃN SỬ
DỤNG ĐỘ GẦN NHAU GIỮA CÁC NHÃN 2.1 Mối quan hệ giữ các nhãn (từ)
Mối quan hệ giữa các nhãn (từ) được xem xét dựa trên ý tưởng các nhãn (từ) mà thường xuất hiện với nhau trong cùng một tài liệu hay trong cùng một ngữ cảnh nào đó
sẽ được xem là có mối quan hệ gần với nhau hơn là so với các nhãn mà ít hoặc không xuất hiện cùng nhau trong cùng một tài liệu hay cùng một ngữ cảnh
Phần tiếp theo sẽ trình bày về công cụ cho việc xác định mối quan hệ giữa các nhãn sử dụng một công cụ có sẵn và được xem là mang lại hiệu quả cao
2.2 Xác định độ gần nhau giữa các nhãn sử dụng Word2vec
2.2.1 Giới thiệu về công cụ word2vec
Word2vec [16] là công cụ cung cấp cho việc tính toán vector biểu diễn của các
từ Vector biểu diễn của các từ này có thể được dùng trong rất nhiều ứng dụng xử lý ngôn ngữ tự nhiên cũng như phân loại văn bản
Word2vec lấy đầu vào là tập các văn bản và đưa ra các vector từ Đầu tiên nó sẽ xây dựng một tập các từ từ tập văn bản huấn luyện đầu vào sau đó nó sẽ học và đưa ra vector biểu diễn của các từ đó Word2vec sử dụng 2 kiến trúc mô hình để học vector biểu diễn của các từ (1) continuous bag of words – CBOW và (2) continuous skip – gram Ứng dụng dựa trên hai mô hình này được đánh giá là có hiệu năng cao với việc huấn luyện trên tập từ vựng lớn so với các ứng dụng sử dụng mô hình ngôn ngữ mạng
nơ ron (neural network language)trước đó [11]
Ngoài việc học các vector biểu diễn của các từ, word2vec cũng cung cấp công
cụ cho biểu diễn của cụm từ bằng việc tiền xử lý tập dữ liệu huấn luyện để thành lập các cụm từ và sau đó tập các cụm từ này được xem như các từ để học vector biểu diễn cho các từ đó
Bảng sau đây mô tả một số tệp nguồn chính trong word2vec, theo đó mỗi tệp sẽ ứng với một chức năng mà word2vec hỗ trợ:
Bảng 2.1: Các tệp nguồn chính trong Word2Vec
1 word2vec.c Học mô hình vector biểu diễn của tất cả các từ từ tập
dữ liệu đầu vào
2 word2phase.c Tiền xử lý dữ liệu huấn luyện để xây dựng tập các
cụm từ cho tập dữ liệu đầu vào
3 distance.c Tính độ gần nhau của từ do người dùng nhập vào
Trang 21với các từ trong tập huấn luyện
2.2.2 Một số kỹ thuật sử dụng trong Word2Vec
2.2.2.1 continuous bag of words – CBOW
Ý tưởng của mô hình CBOW là mô hình dự đoán từ hiện tại dựa trên các từ xung quanh hay các từ trong cùng ngữ cảnh Ngữ cảnh ở đây có thể là một câu hay một tập các từ đứng cạnh nhau Đầu vào của CBOW sẽ là tập các ngữ cảnh và đầu ra
là từ hiện tại cần dự đoán CBOW sử dụng tầng Chiếu chung cho tất cả các từ, do vậy tất cả các từ sẽ được chiếu vào vị trí giống nhau
Ngoài việc sử dụng các từ đứng trước từ hiện tại, CBOW còn sử dụng các từ đứng sau từ hiện tại để phân loại chính xác từ hiện tại dựa trên việc xây dựng bộ phân loại log-linear cho các từ đứng trước và từ đứng sau Trong mô hình này, thứ tự của các từ trong lịch sử không ảnh hưởng đến việc dự đoán
Lưu ý rằng ma trận trọng số giữa đầu vào và tầng dự đoán được chia sẻ cho tất
cả các vị trí từ theo cùng một cách như trong mô hình ngôn ngữ mạng nơ-ron truyền tới
Hình 2.1: Mô hình CBOW
Trang 222.2.2.2 continuous skip – gram
Kiến trúc của skip-gram là giống với CBOW, tuy nhiên thay vì dự đoán từ hiện tại dựa trên ngữ cảnh, mô hình này tập trung vào việc tối ưu phân loại của một từ dựa trên từ khác trong cùng một câu
Cụ thể, phương pháp này sử dụng đầu vào là từ hiện tại cho bộ phân loại linear với tầng Chiếu liên tục và dự đoán các từ theo một dải nào đó phía trước và sau
log-từ hiện tại Việc tăng kích thước dải sẽ cải thiện chất lượng của vector log-từ đầu ra, tuy nhiên nó cũng làm tăng độ phức tạp tính toán Vì những từ càng xa thì thường ít liên quan đến từ hiện tại hơn là những từ gần nó, do vậy ta có thể đánh trọng số cho những
từ ở xa nhỏ đi để khắc phục vấn đề này
Không giống với các kiến trúc mạng nơ-ron được sử dụng trước đó để học vector từ, việc đào tạo mô hình Skip-gram không sử dụng đến các phép nhân ma trận dày đặc Điều này khiến cho việc đào tạo trở nên cực kỳ hiệu quả: một máy đơn đã được tối ưu có thể đào tạo hơn 100 tỉ từ một ngày Và các đại diện từ được tính toán ra bằng cách sử dụng mạng nơ-ron, tức các vector đã học được thì mã hóa một cách rõ ràng nhiều quy tắc ngôn ngữ và mô hình
Một mở rộng đáng ngạc nhiên của phương pháp này đó là việc áp dụng các phép cộng/trừ đại số cho các vector có thể thu được các kết quả bất ngờ về ngữ nghĩa
Ví dụ: phép tính vec(“Russia”) + vec(“river”) ta sẽ thu được kết quả là vec(“Volga River”) hay vec(“king”) - vec(“man”) + vec(“woman”) ta sẽ thu được kết quả là vec(“queen”) Điều này cho thấy một gợi ý mơ hồ về việc hiểu biết ngôn ngữ có thể thu được bằng cách sử dụng các phép toán cơ bản với các đại diện vector từ
Hình 2.2: Mô hình Skip-gram liên tục
Trang 232.2.3 Sử dụng word2vec để đo độ gần nhau giữa các từ
Một trong các chức năng được hỗ trợ từ word2vec đó là tính toán độ gần nhau giữa các từ được thể hiện bằng giá trị thực của khoảng cách giữa các từ; cụ thể là, từ
mô hình biểu diễn của các vector từ ta có thể có được độ gần nhau của hai từ bất kỳ hay giữa các từ trong một tập con từ nào đó Ví dụ sau đây mô tả về kết quả các từ gần nhất với từ “index” khi sử dụng word2vec cho tập dữ liệu đầu vào là 2694 bài báo trên trang “vnexpress.net” đã qua tiền xử lý [3] sử dụng độ đo cosine:
Hình 2.3: Ví dụ về xác định độ gần nhau giữa các từ sử dụng Word2Vec
Như vậy, sử dụng mô hình vector biểu diễn từ huấn luyện được từ công cụ, Word2Vec có thể tính được khoảng cách (độ gần nhau) các từ bất kỳ cũng như các nhãn với nhau Kết quả này sẽ được luận văn sử dụng để tích hợp vào một số phương pháp phân lớp đa nhãn sẽ được trình bày trong các phần tiếp theo
Trang 242.3 Các phương pháp phân lớp đa nhãn sử dụng độ gần nhau giữa các nhãn
Phần này sẽ trình bày về một số phương thức đa nhãn điển hình cho các cách tiếp cận về mối quan hệ đa nhãn Sau đó, trong một số phương pháp luận văn cũng đưa ra
đề xuất cho việc tích hợp độ gần nhau của các nhãn vào phương pháp đó để nâng cao hiệu quả của việc học
2.3.1 Binary Relevance (BR)
Binary Relevance là phương pháp chuyển đổi đơn giản nhất trong loạt chuyển đổi bài toán [3] Binary Relevance được xem là phương pháp cơ sở của nhiều giải thuật học đa nhãn
Ý tưởng của cơ bản của phương pháp này là chuyển bài toán phân lớp đa nhãn thành nhiều bài toán phân lớp đơn nhãn, ở đó mỗi bài toán phân lớp đơn nhãn sẽ ứng với một nhãn trong không gian nhãn
Phương pháp này đầu tiên sẽ tạo q tập dữ liệu huấn luyện bằng việc xem xét sự phù hợp của mỗi ví dụ trong tập ví dụ ban đầu với mỗi nhãn 𝑦𝑖 trong tập nhãn – q là tổng số nhãn:
𝐷𝑗 = {(𝑥𝑖, 𝜙(𝑌𝑖, 𝑦𝑗))| 1 ≤ 𝑖 ≤ 𝑚} (1) Với 𝜙(𝑌𝑖, 𝑦𝑗) = {+1, 𝑛ế𝑢 𝑦𝑗 ∈ 𝑌𝑖
Trang 25𝐷3 = {(𝑥1, 1), (𝑥2, 1), (𝑥3, 1), (𝑥4, −1)}
𝐷4 = {(𝑥1, −1), (𝑥2, 1), (𝑥3, −1), (𝑥4, 1)}
Sau khi xây được q tập huấn luyện từ tập dữ liệu ví dụ ban đầu, Binary Relevance sẽ sử dụng giải thuật học nhị phân ℬ bất kỳ để học bộ phân lớp nhị phân
𝑔𝑗: 𝒳 → ℝ; 𝑣í 𝑑ụ 𝑔𝑗 ← ℬ (𝐷𝑗); tức là sẽ có q bộ phân lớp nhị phân cho mỗi nhãn
Cho thể hiện mới 𝒙, Binary Relevance dự đoán tập nhãn 𝑌 liên quan tới 𝑥 bằng việc sử dụng mỗi bộ phân lớp nhị phân để gán nhãn cho 𝑥, sau đó kết hợp kết quả với những nhãn phù hợp trên các bộ phân lớp đó:
2.3.2 Classifier Chain (CC)
2.3.2.1 Giới thiệu phương pháp Classifier Chain
Ý tưởng của phương pháp này là chuyển đổi bài toán phân lớp đa nhãn thành
chuỗi (chain) các bài toán phân lớp nhị phân, trong đó bộ phân lớp nhị phân sau sẽ sử
dụng những dự đoán của bộ phân lớp trước đó trong chuỗi [13] [8]
Cho q là tập nhãn { 𝑦1, 𝑦2, … , 𝑦𝑞}, 𝜏 ∶ {1, … , 𝑞} → {1, … , 𝑞} là một hàm hoán vị
để xác định thứ tự của các nhãn ví dụ, 𝑦𝜏(1) ≻ 𝑦𝜏(2) ≻ ⋯ ≻ 𝑦𝜏(𝑞) Xét nhãn thứ j là
Trang 26bộ phân lớp j sẽ được xây dựng bằng việc chèn vào sau mỗi thể hiện với giá trị phù
hợp của nó của nhãn trước nhãn 𝑦𝜏(𝑗):
𝐷𝑗 = {([𝑥𝑖, 𝒑𝒓𝒆𝜏(𝑗)𝑖 ], 𝜙(𝑌𝑖, 𝑦𝜏(𝑗)))| 1 ≤ 𝑖 ≤ 𝑚} (4) Với 𝒑𝒓𝒆𝜏(𝑗)𝑖 = (𝜙(𝑌𝑖, 𝑦𝜏(1)), … , 𝜙(𝑌𝑖, 𝑦𝜏(𝑗−1)))𝑇
Trong đó, [𝑥𝑖, 𝒑𝒓𝒆𝜏(𝑗)𝑖 ] nối vector 𝑥𝑖 và 𝒑𝒓𝒆𝜏(𝑗)𝑖 và 𝒑𝒓𝒆𝜏(𝑗)𝑖 biểu diễn phép gán nhị phân theo công thức (2) của các nhãn trước 𝑦𝜏(𝑗) lên 𝑥𝑖 (trường hợp đặc biệt, 𝒑𝒓𝒆𝜏(1)𝑖 = ∅)
Ví dụ với tập dữ liệu đầu vào như đã trình bày trong Binary Relevance, không mất tính tổng quát, ta giả sử thứ tự của nhãn theo số thứ tự của các nhãn từ 1 → 4 là
𝑦𝜏(1) ≻ 𝑦𝜏(2) ≻ 𝑦𝜏(3) ≻ 𝑦𝜏(4); khi đó tập dữ liệu huấn luyện ứng với mỗi nhãn sẽ là:
𝐷𝜏(1) = {(𝑥1, −1), (𝑥2, 1), (𝑥3, 1), (𝑥4, −1)}
𝐷𝜏(2) = {(𝑥1, −𝟏, 1), (𝑥2, 𝟏, −1), (𝑥3, 𝟏, −1), (𝑥4, −𝟏, −1)}
𝐷𝜏(3) = {(𝑥1, −𝟏, 𝟏, 1), (𝑥2, 𝟏, −𝟏, 1), (𝑥3, 𝟏, −𝟏, 1), (𝑥4, −𝟏, −𝟏, −1)}
𝐷𝜏(4) = {(𝑥1, −𝟏, 𝟏, 𝟏, −1), (𝑥2, 𝟏, −𝟏, 𝟏, 1), (𝑥3, 𝟏, −𝟏, 𝟏, −1), (𝑥4, −𝟏, −𝟏, −𝟏, 1)}
Sau khi xây được q tập huấn luyện từ tập dữ liệu ví dụ ban đầu, Classifier Chain
sẽ sử dụng giải thuật học nhị phân ℬ bất kỳ để học bộ phân lớp nhị phân 𝑔𝜏(𝑗) : 𝒳 ×{−1, 1}𝑗−1→ ℝ; 𝑣í 𝑑ụ 𝑔𝜏(𝑗) ← ℬ (𝐷𝜏(𝑗));
Cho thể hiện mới 𝑥, tập nhãn của nó Y sẽ được dự đoán bằng các duyệt trên
chuỗi bộ phân lớp nhị phân Gọi 𝜆
Trang 27Chuỗi bộ phân lớp đạt được theo các công thức ở trên sẽ bị ảnh hưởng bởi thứ
tự các nhãn được xác định bởi 𝜏 Để giải quyết vấn đề ảnh hưởng này, một tập các bộ
phân lớp có thể được xây dựng với n hoán vị ngẫu nhiên trên không gian nãn,
𝜏(1), 𝜏(2), … , 𝜏(𝑛) Mỗi hoán vị 𝜏(𝑟)sẽ đưa ra một chuỗi bộ phân lớp bằng cách áp dụng trên tập dữ liệu ví dụ ban đầu
5 Trả về 𝐘 theo công thức (6) (Kết hợp với công thức (5))
Hình 2.5: Mã giả của phương pháp CC Nhận xét: Classifier Chain là phương pháp theo cách tiếp cận bậc cao xem xét
mối quan hệ các nhãn theo cách ngẫu nhiên So với Binary Relevance Classifier Chain
có tận dụng mối quan hệ đa nhãn tuy nhiên nó làm mất khả năng tính toán song song
vì phải tính theo thứ tự trong chuỗi
2.3.2.2 Tích hợp độ đo gần nhau giữa các nhãn vào Classifier Chain
Phần này sẽ trình bày về việc tích hợp độ gần nhau giữa các nhãn tính được bằng việc sử dụng công cụ word2vec như đã trình bày trong phần đầu chương vào phương pháp học đa nhãn
Luận văn xin đưa ra đề xuất cho việc tích hợp độ gần nhau giữa các nhãn vào Classifier Chain Ta có thể thấy rằng, trong CC mối quan hệ giữa các nhãn được xét đến ở công thức (4) Ta sẽ sử dụng độ gần nhau giữa các nhãn bằng việc tích hợp vào công thức (4) như sau:
𝐷𝑗 = {([𝑥𝑖, 𝑑𝜏(𝑗)𝜏(𝑘) × 𝒑𝒓𝒆𝑖𝜏(𝑗)], 𝜙(𝑌𝑖, 𝑦𝜏(𝑗)))| 1 ≤ 𝑖 ≤ 𝑚} (7)
Với 𝑑𝜏(𝑗)𝜏(𝑘) là khoảng cách (giá trị độ gần nhau) của nhãn 𝑦𝜏(𝑗) so với nhãn
𝑦𝜏(𝑘)