.
ĐẠ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
ĐẠ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
Lời cảm ơn
Trước tiên, em muốn gửi lời cảm ơn sâu sắc đến Cô Nguyễn Cẩm Tú người đã
tận tình chỉ bảo tôi trong suốt quá trình thực hiện luận văn.
Em cũng xin chân thành cảm ơn các Thầy Cô giáo của trường Đại Học Công
Nghệ, những người đã tận tình chỉ bảo dạy dỗ và trang bị cho tôi những kiến thức quý
báu trong suốt thời gian học trong trường.
Em 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
i
Lờ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
ii
MỤC LỤC
MỞ ĐẦU
...................................................................................................................... 1
Chương 1.
các nhãn
Giới thiệu chung bài toán phân lớp đa nhãn và mối quan hệ giữa
...................................................................................................................... 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.
nhãn
Các phương pháp phân lớp đa nhãn sử dụng độ gần nhau giữa các
.................................................................................................................... 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
3.3.1
Quá trình tiền xử lý văn bản [3] ................................................................ 30
iii
3.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
iv
DANH 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
v
DANH 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
vi
DANH SÁCH TỪ VIẾT TẮT
MLL
Multi Label Learning
BR
Binary Relevance
MLkNN
Multi – Label k-Nearest Neighbors
CC
Classifier Chain
CLR
Calibrated Label Ranking
CML
Collective Multi Label Classifier
RLOSS
Rank-Loss
HLOSS
Hamming-Loss
AP
Average Precision
MAP
Mean Average Precision
SVN
Support Vector Machine
CBOW
Continuous Bag Of Word
vii
TỔ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ể {y1, y2, …, yq}
𝑥
Feature vector
Vector đặc trưng d chiều của thể hiện x (x1, x2, …, xd)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.
ℎ(. )
𝑓(. , . )
𝜙(. , . )
-
𝒟𝑗
Binary Training DataSet
for j-th Label
Tập huấn luyện nhị phân {(𝑥𝑖 , 𝜙(𝑌𝑖 , 𝑦𝑗 ))| 1 ≤ 𝑖 ≤ 𝑚} dẫn xuất từ tập 𝒟
𝜓(. , . , . )
-
𝜓(𝑌, 𝑦𝑗 , 𝑦𝑘 ) trả về +1 nếu 𝑦𝑗 ∈ 𝑌 và 𝑦𝑘 ∉ 𝑌 và -1 nếu 𝑦𝑗 ∉ 𝑌 và 𝑦𝑘 ∈ 𝑌
𝐷𝑗𝑘
Binary Training DataSet
for Label Pair (yj, yk)
Tập
Binary learning algorithm
Giải thuật học nhị phân
ℬ
𝜙(𝑌, 𝑦) trả về 1 nếu x 𝑦 ∈ 𝑌, -1 ngược lại.
cho nhãn thứ j.
huấn
luyện
nhị
phân
{(𝑥𝑖 , 𝜓(𝑌, 𝑦𝑗 , 𝑦𝑘 ))| 𝜙(𝑌𝑖 , 𝑦𝑗 ) ≠
𝜙(𝑌𝑖 , 𝑦𝑘 ), 1 ≤ 𝑖 ≤ 𝑚} dẫn xuất từ tập 𝒟
viii
MỞ ĐẦ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
việc tích hợp độ gần nhau giữa các từ, nhãn vào các phương pháp phân lớp đa nhãn đã
1
nghiê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 .
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.
2
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
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.
Hình 1.1: Ví dụ dữ liệu đa nhãn
Như ví dụ trong hình trên đã chỉ ra bài báo với tiêu đề “ 78 ngày đi bộ độc hành
xuyên Mông Cổ” được gãn với các nhãn ở bên dưới “Du lịch một mình”, “Mông Cổ”,
Xứ Wales”, “Lập kỷ lục” và “Scotland”.
Theo cách truyền thống, dữ liệu đơn nhãn được quy định chỉ thuộc vào một
nhãn cố định.
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
3
hàm f: 𝒳 → Y từ một tập dữ liệu {(x1, y1), (x2, y2) … (xm, ym)}, với xi 𝜖 𝒳 là một thể
hiện và yi 𝜖 𝒴 là nhãn xác định của xi.
Tức là từ một tập dữ liệu ví dụ đã được xây dựng trước 𝒟 = {{(x1, y1), (x2, y2)
… (xm, ym)}, nhiệm vụ của bài toá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ư Naïve Bayes, Cây quyết định
và máy vector hỗ trợ (Support Vector Machine – SVN) [4].
Nhãn
Thể hiện
Hình 1.2: Học đơn nhã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.
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 {(x1, y1), (x2, y2) … (xm, ym)}, với với
xi 𝜖 𝒳 là một thể hiện và Yi ⊆ 𝒴 là tập của các nhãn của xi.
Nhãn
…
Nhãn
Thể hiện
…
Nhãn
Hình 1.3: Học đa nhãn đơn thể hiện
4
1.1.2 Bài toá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 toá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 toá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ư: Naï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 toá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:
5
Hì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.
6
1.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.
7
Ví 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 .
8
1.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.
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
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
STT
1.
Tên tệp
word2vec.c
2.
word2phase.c
3.
distance.c
Hỗ trợ
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.
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.
Tính độ gần nhau của từ do người dùng nhập vào
10
vớ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
11
2.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 loglinear 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
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 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
12
2.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.
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
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 ≤ 𝑖 ≤ 𝑚}
Với 𝜙(𝑌𝑖 , 𝑦𝑗 ) = {
(1)
+1, 𝑛ế𝑢 𝑦𝑗 ∈ 𝑌𝑖
−1, 𝑛𝑔ượ𝑐 𝑙ạ𝑖
Ví dụ, với tập dữ liệu ví dụ 𝐷 gồm 4 thể hiện đã được gán nhãn trong tập gồm 4
nhãn:
Bảng 2.2: Tập dữ liệu ví dụ
Thể hiện
Tập nhãn
𝑥1
{𝑦2 , 𝑦3 }
𝑥2
{𝑦1 }
𝑥3
{𝑦1 , 𝑦2 , 𝑦3 }
𝑥4
{𝑦2 , 𝑦4 }
Khi đó ta sẽ xây dựng 4 tập dữ liệu huấn luyện cho 4 nhãn như sau:
𝐷1 = {(𝑥1 , −1), (𝑥2 , 1), (𝑥3 , 1), (𝑥4 , −1)}
𝐷2 = {(𝑥1 , 1), (𝑥2 , −1), (𝑥3 , −1), (𝑥4 , −1)}
14
𝐷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 đó:
𝑌 = {𝑦𝑗 | 𝑔𝑗 (𝑥) > 0, 1 ≤ 𝑗 ≤ 𝑞}
(2)
Khi tất cả các bộ phân lớp cho ra kết quả âm thì tập nhãn của 𝑥 sẽ là rỗng. Để
tránh việc tạo ra dự đoán tập nhãn rỗng, có thể sử dụng quy tắc T-Criterion sau:
𝑌 = {𝑦𝑗 | 𝑔𝑗 (𝑥) > 0, 1 ≤ 𝑗 ≤ 𝑞 } ∪ {𝑦𝑗 ∗ | 𝑗 ∗ = 𝑎𝑟𝑔𝑚𝑎𝑥1≤𝑗≤𝑞 𝑔𝑗 (𝑥)}
(3)
𝑌 = 𝐵𝑖𝑛𝑎𝑟𝑦𝑅𝑒𝑙𝑒𝑣𝑎𝑛𝑐𝑒(𝐷, ℬ, 𝑥)
1. for j = 1 to q do
2. Khởi tạo tập dữ liệu huấn luyện 𝐃𝐣 theo công thức (1);
3. 𝐠 𝐣 ← 𝓑 (𝐃𝐣 );
4. endfor
5. Trả về 𝐘 theo công thức (3)
Hình 2.4: Mã giả của phương pháp Binary Relevance
Nhận xét: Binary Relevance là phương pháp thuộc cách tiếp cận bậc nhất tức là
không xét đến mối quan hệ giữa các nhãn. Tuy vậy, Binary Relevance cũng được sử
dụng nhiều trong các ứng dụng thực tế vì nó cho phép việc thực hiện tính toán song
song để xây dựng các bộ phân lớp một cách độc lập [13] [15].
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à
𝜏(𝑗)
(1 ≤ 𝑗 ≤ 𝑞) trong danh sách nhãn đã được sắp thứ tự, tập dữ liệu huấn luyện của
15