Tải bản đầy đủ (.pdf) (76 trang)

Phân tích cảm xúc sử dụng cách tiếp cận học chuyển đổi

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.16 MB, 76 trang )

LỜI CAM ĐOAN
Tôi – Vương Hồng Quang – xin cam kết Luận văn tốt nghiệp là công trình nghiên
cứu của bản thân tôi dưới sự hướng dẫn của PGS.TS. Nguyễn Thị Kim Anh, Viện
CNTT, trường Đại học Bách Khoa Hà Nội.
Các kết quả nên trong Luận văn tốt nghiệp là trung thực, không sao chép toàn văn
của bất kỳ công trình nào khác.

Hà Nội, ngày 04 tháng 09 năm 2014
Học viên thực hiện luận văn

Vương Hồng Quang

1


Lời cảm ơn
Đầu tiên, em xin được gửi lời cảm ơn chân thành đến các thầy giáo, cô giáo thuộc
trường đại học Bách Khoa Hà Nội. Đặc biệt là các thầy giáo, cô giáo thuộc Viện
Công nghệ Thông tin và Truyền thông. Các thầy cô đã trang bị cho em những kiến
thức quý báu trong thời gian em học tập và nghiên cứu tại trường.
Em cũng xin được gửi lời cảm ơn đặc biệt đến PGS.TS Nguyễn Kim Anh. Cô là
người đã chỉ dẫn tận tình, cho em những kinh nghiệm quý báu để em có thể hoàn
thành luận văn tốt nghiệp này. Cô luôn động viên, giúp đỡ em trong quá trình
nghiên cứu và hoàn thiện luận văn.
Đồng thời em cũng xin gửi lời cảm ơn chân thành đến GS.TS Atsuhiro Takasu,
thuộc viện công nghệ thông tin quốc gia, Nhật. Thầy đã dìu dắt, chỉ bảo, hướng dẫn,
và chia sẻ kinh nghiệm nghiên cứu khoa học.
Em cũng cảm ơn PGS.TS Lê Đình Duy, TS Nguyễn Văn Kiên, TS Trần Minh
Quang cùng các anh chị nghiên cứu sinh, thuộc viện công nghệ thông tin quốc gia
Nhật, đã đóng góp ý kiến giúp em hoàn thiện luận văn này.
Em xin gửi lời cảm ơn tới gia đình, bạn bè. Mọi người đã luôn động viên thúc đẩy


và tạo động lực cho em luôn tiến lên phía trước.

2


Tóm tắt nội dung
Phân tích cảm xúc là một lĩnh vực quan trọng. Nó có khả năng được áp dụng trong
nhiều lĩnh vực thực tế khác nhau như là: phân tích thị trường, phân tích đánh giá
của người dùng, khám nghiệm pháp y .... Trong thực tế, dữ liệu kiểm tra luôn luôn
thay đổi, và nó có thể không nằm trong cùng miền với tập huấn luyện. Với những
trường hợp này, các cách tiếp cận giải quyết bài toán phân tích cảm xúc trước đây
không cho được độ chính xác như mong muốn. Do đó, vấn đề nâng cao độ chính
xác trong bài toán phân tích cảm xúc khi dự đoán cảm xúc với các dữ liệu mới đến
là cần được giải quyết.
Trong khi đó học chuyển đổi là một phương pháp giúp tăng cường độ chính xác từ
các tập dữ liệu đã có sẵn, ngay cả khi các tập dữ liệu này có phân phối xác suất biên
khác nhau. Hơn nữa, các dữ liệu đã tồn tại là rất phong phú, và có thể có một phần
nào đó được tận dụng để nâng cao độ chính xác cho bài toán phân tích cảm xúc.
Vì các lý do trên, tôi đã chọn đề tài: ―Phân tích cảm xúc sử dụng cách tiếp cận
học chuyển đổi‖.
Luận văn đề xuất một phương pháp tiếp cận mới để giải quyết hiệu quả bài toán
phân tích cảm xúc. Luận văn cũng đề xuất một thuật toán học chuyển đổi sử dụng
các tập dữ liệu cảm xúc đã tồn tại để tăng độ chính xác của bài toán phân tích cảm
xúc trong một miền khác. Ngoài ra luận văn cũng đề xuất một độ đo để đo khả năng
có thể sử dụng của tập dữ liệu cũ cho miền mới, và hai thuật toán để quyết định tập
dữ liệu cảm xúc tốt nhất nên học và để quyết định xem tập dữ liệu có nên được sử
dụng để học hay không. Đóng góp chính của luận văn là:
1. Luận văn đưa ra một phương pháp mới để giải quyết bài toán phân tích cảm
xúc.


3


2. Luận văn đề xuất một phương pháp học chuyển đổi mới với chiến lược học
tập dữ liệu đã tồn tại, đảm bảo sau quá trình học xác suất của tập huấn luyện
và tập kiểm tra là gần nhau nhất.
3. Luận văn đề xuất một độ đo xác định khoảng cách của 2 tập dữ liệu cùng
một số ứng dụng của nó.
Thử nghiệm chỉ ra rằng, đề xuất thu được kết quả tốt hơn các thuật toán học chuyển
đổi với phương pháp tương tự trước đây, và các thuật toán học máy như máy vector
hỗ trợ (SVMs) trong trường hợp tập huấn luyện của dữ liệu tương lai là nghèo nàn,
không đủ xây dựng được một hình phân loại tốt cho tập dữ liệu mới.

4


Abstract
Sentiment Analysis is an important field. Nowaday, It is currently applied into
many different fields in real world as: market analysis, financial, review customer,
forensic analysis…. However, the domain of target datas always change, and it can
be inconsistent with model built by source domain. Therefore, the traditional
machine learning approaches for sentiment analysis problem might not be efficient
for this case.
Within my knowledge, transfer learning can improve the accuracy by using very
rich existed data sets, evenwhen their marginal probability distribution are different
with new test sets.
Because of the above reasons, I chose topic: ―Sentiment Analysis using Transfer
Learning‖.
My thesis proposed a novel approach to solve sentiment analysis problem.
Specifically, I have proposed a method to solve classisify polarity problem (one of

sub-problems of sentiment analysis) that use existed sentiment data set to improve
the accuracy on new domains of dataset. Thesis’s main contributions are as follows.
1. We present a novel approach to a formalism for solving the problem by
adopting transfer learning.
2. We propose a new method that uses a existed sentiment data set, which is
labeled to improve performance.
3. We propose a measure and a threshold to decide whether the system will
learn a data set or not.
The experiments show that my proposal has better result than inductive transfer
learning, and other machine learning algorithms such as Support vector machin
5


(SVMs) when new training set is not big enough to construct model to classify
new data set.

6


Mục Lục
Phần I: Phần mở đầu .................................................................................................12
1. Lý do chọn đề tài ...............................................................................................12
2. Lịch sử nghiên cứu ............................................................................................12
3, Mục đích nghiên cứu của luận văn, đối tượng, phạm vi nghiên cứu ................14
4. Tóm tắt các luận điểm và đóng góp ..................................................................14
Phần II: Nội dung ......................................................................................................17
Chương I. Phân tích cảm xúc ................................................................................17
1. Các nhiệm vụ con của bài toán phân tích cảm xúc .......................................17
2. Các phương thức ...........................................................................................18
Chương II. Học chuyển đổi ...................................................................................28

1. Lịch sử của học chuyển đổi ...........................................................................28
2. Các ký hiệu và định nghĩa .............................................................................31
3. Phân loại các kỹ thuật học chuyển đổi ..........................................................33
Chương III. Áp dụng học chuyển đổi cho bài toán phân loại cảm xúc cực ..........41
1. Thuật toán AdaBoost.....................................................................................41
2. Thuật toán TrAdaBoost. ................................................................................44
3. Thuật toán MulTrAdaBoost ..........................................................................47
4. Thuật toán Unilateral – TrAdaBoost .............................................................50
5. Độ đo và giá trị ngưỡng đề xuất ....................................................................54
6. Cài đặt thử nghiệm và đánh giá.....................................................................59
Phần III: Kết luận ......................................................................................................69
7


Phần IV: Danh mục các tài liệu tham khảo ...............................................................70

8


Danh sách các từ viết tắt và thuật ngữ
SVMs
SMSs
MaxEntropy
SA
LSA
AdaBoost
TrAdaBoost
MMD
MDS
over-fitting

WeakLearn
LS-SVM
RKHS
OC
PC
SPD

Support Vector Machines
Short Message Services
Maximum Entropy
Sentiment Analysis
Latent Sentiment Analysis
Adaptive Boosting
Transfer AdaBoost
Maximum Mean Discrepancy
Mean Discrepancy of Set
Over fitting
Weak Learner
Least Square Support Vector Machine
Reproducing Kernel Hillbert Space
Opinion Classification
Polarity Classification
Symmetric Positive Define

9


Danh sách các hình vẽ
1. Sự khác nhau của các tiến trình học (a) học máy truyền thống (b)
học chuyển đổi ………………………………………………………


29

2. Tổng quan về sự khác biệt của các loại học chuyển đổi……………..

37

3. Thuật toán AdaBoost……………………………………………........ 44
4. Thuật toán TrAdaBoost……………………………………………....

47

5. Thuật toán MulTrAdaBoost………………………………………….. 50
6. Chiến lược học của TrAdaBoost và MulTrAdaBoost………………... 51
7. Chiến lược học của Unilateral – TrAdaBoost……………………….. 52
8. Thuật toán Unilateral – MulTrAdaBoost……………………………. 54
9. Mối liên hệ khoảng cách phân phối và khả năng học……………….
10. Thuật toán quyết định xem có nên học

hay không……………….

58
58

11. Thuật toán dùng để chọn tập dữ liệu tốt nhất ứng với miền đích……. 59
12. So sánh độ chính xác của Unilateral – TrAdaBoost và
MulTrAdaBoost…………………………………………………….... 65
13. So sánh độ chính xác của Unilaterial – TrAdaBoost và thuật toán
học cơ sở……………………………………………………………..


10

67


Danh sách các bảng
1. Mối quan hệ giữa học máy truyền thống các loại học chuyển đổi ….. 34
2. Sự khác nhau của các loại học chuyển đổi ………………………….. 34
3. Các phương pháp khác nhau để học chuyển đổi ……………………. 38
4. Các phương pháp khác nhau sử dụng trong các loại học chuyển đổi
khác nhau ……………………………………………………………

39

5. Cấu trúc của tập dữ liệu Sanders ……………………………………. 61
6. Danh sách các ký tự thể hiện cảm xúc ……………………………....

62

7. Kết quả so sánh độ chính xác khi tập kiểm tra bị thay đổi ………….. 67
8. So sánh độ chính xác của SVM (LR) khi

11

(

) bị thay đổi .... 69


Phần I: Phần mở đầu

1. Lý do chọn đề tài
Phân tích cảm xúc là một lĩnh vực quan trọng. Nó đã được áp dụng trong nhiều lĩnh
vực thực tế khác nhau như là: phân tích thị trường, thương mại điện tử, phân tích
đánh giá của người dùng, khám nghiệm pháp y .... Các phương pháp truyền thống
dùng để phân tích cảm xúc yêu cầu một giả thiết là phân phối xác suất biên của tập
huấn luyện và tập kiểm tra là giống nhau. Tuy nhiên, trong các bài toán thực tế, dữ
liệu kiểm tra luôn luôn thay đổi, và nó có thể không nằm trong cùng miền với dữ
liệu huấn luyện. Với những trường hợp này, các cách tiếp cận giải quyết bài toán
phân tích cảm xúc trước đây không cho được độ chính xác như mong muốn. Do đó,
vấn đề nâng cao độ chính xác của bài toán phân tích cảm với các dữ liệu mới đến là
cần được giải quyết.
Trong khi đó học chuyển đổi là một phương pháp giúp tăng cường độ chính xác từ
các tập dữ liệu đã có sẵn, ngay cả khi các tập dữ liệu này có phân phối xác suất biên
khác nhau. Hơn nữa, các dữ liệu đã tồn tại là rất phong phú, và có thể có một phần
nào đó được tận dụng để nâng cao độ chính xác cho bài toán phân tích cảm xúc.
Vì các lý do trên, tôi đã chọn đề tài: ―Phân tích cảm xúc sử dụng cách tiếp cận
học chuyển đổi‖.
2. Lịch sử nghiên cứu
Đối với bài toán phân tích cảm xúc, ban đầu, các nhà khoa học quan tâm đến các
phương thức phân loại đơn giản, tin cậy vào một phân tích nông dựa vào điểm cảm
xúc của từ vựng được xây dựng bằng tay và tập trung vào việc xây dựng các bộ từ
điển này [Huettner. A et al., 2000], [Tong.R.M, 2001]. Gần đây, các nhà khoa học
đã sử dụng các thuật toán phân loại, như là đã được tổng hợp bởi [Sebastiani. F,
2002], với các bài toán phân loại cảm xúc cực (PC) hay phân loại quan điểm (OC).
12


Ngoài ra, [Pang .L et al., 2002] đã so sánh Naive Bayes, Máy vector hỗ trợ (SVMs)
và Maximum-Entropy-Based trên bài toán phân loại cảm xúc cực (tích cực hay tiêu
cực) cho các bài phỏng vấn. [Go .A et al., 2009] thì lại so sánh trên các câu trạng

thái trên mạng xã hội. [Melville .P et al., 2009] sử dụng kết hợp cả tri thức từ các bộ
từ điển từ vựng và học giám sát để cho kết quả tốt hơn.
Tuy nhiên, rất nhiều phương thức học máy chỉ làm việc tốt dưới giả thiết tập huấn
luyện và tập kiểm tra được sinh ra từ cùng một không gian đặc trưng và cùng một
miền. Khi miền của tập kiểm tra khác với tập huấn luyện, thì hầu hết các mô hình
thống kê cần phải được xây dựng lại. Tuy nhiên công việc này có chi phí khá đắt đỏ
thậm chí là không thể [Pan .S.J et al., 2010]. Bởi vậy bài toán có độ chính xác
không ổn định qua các tập kiểm tra khác nhau. Nói cách khác, độ chính xác là
không thể đoán trước được với tập kiểm tra mới.
Học chuyển đổi là một cách tiếp cận để giải quyết vấn đề làm thế nào tận dụng
nhiều nhất có thể dữ liệu trong miền nguồn nhưng có liên quan nhất định đến miền
đích để giải quyết các bài toán mới và khác trong miền đích. Ngay cả khi các vấn đề
trong miền nguồn và miền đích là khác nhau, thậm chí được biểu diễn bởi các đặc
trưng khác nhau [Pan .S.J et al., 2008]. Dựa vào các trường hợp khác nhau về mối
liên hệ giữa miền đích, miền nguồn và các nhiệm vụ của chúng, chúng ta có thể
chia thành ba loại học chuyển đổi như sau: học chuyển đổi quy nạp, học chuyển đổi
dẫn nạp [Si .S et al., 2010], [Si .S et al., 2012], [Blitzer .J et al., 2012], [Raina .R et
al., 2007], và học chuyển đổi không giám sát [Evgeniou .T et al., 2004], [Bonilla .E
et al., 2008], [Lawrence .N.D et al., 2004]. Học chuyển đổi qui nạp có thể được
tham chiếu đến như là một cách tiếp cận học chuyển đổi dựa trên mẫu [Dai .W et al.,
2007], [Jiang .J et al., 2007], [Zadrozny .B, 2004], [Huang .J et al.,, 2007], mà giả
sử rằng chắc chắn có các phần của dữ liệu trong miền nguồn có thể được sử dụng
lại cho việc học trong miền đích bằng cách đánh lại trọng số. Đánh lại trọng số mẫu
và lấy mẫu là hai kỹ thuật chính được sử dụng trong ngữ cảnh này. Chúng ta có thể
13


dễ dàng sử dụng học chuyển đổi quy nạp với một tập dữ liệu đã được gán nhãn
trong lĩnh vực phân tích cảm xúc để giải quyết bài toán điều tra pháp y.
3, Mục đích nghiên cứu của luận văn, đối tượng, phạm vi nghiên cứu

Để giải quyết các bài toán có ý nghĩa thực tế như, khám nghiệm pháp y, phân tích
tài chính, đánh giá người dùng …, chúng ta rất cần các đánh giá về cảm xúc cực
(tích cực hay tiêu cực). Nhưng chúng ta gặp phải hai vấn đề đó là:
1. Độ chính xác của các thuật toán trên các mạng thực (Twitter, tin nhắn –
SMSs) không cho kết quả chính xác cao.
2. Các tập dữ liệu kiểm tra (test set) luôn luôn thay đổi (có thể cả về nội dung
lẫn miền dữ liệu của tập kiểm tra được lấy).
Do đó, mục đích nghiên cứu là tăng cường độ chính xác của bài toán phân tích cảm
xúc. Đối tượng nghiên cứu của tôi ở đây sẽ là các mạng xã hội thực, cụ thể là các
tin nhắn trên điện thoại, các dòng trạng thái (status) trên các tiểu blog, các tweet
trên Twitter…. Phạm vi nghiên cứu của luận văn là đề xuất một thuật toán dựa trên
phương pháp học chuyển đổi để giải quyết bài toán phân loại cảm xúc cực – một
nhánh của bài toán phân tích cảm xúc để chứng mình tính đúng đắn của phương
pháp.
4. Tóm tắt các luận điểm và đóng góp
Luận văn đề xuất một phương pháp tiếp cận mới để giải quyết hiệu quả bài toán
phân tích cảm xúc. Luận văn cũng đề xuất một thuật toán học chuyển đổi mà sử
dụng các tập dữ liệu cảm xúc đã tồn tại để tăng độ chính xác. Ngoài ra luận văn
cũng đề xuất một độ đo, và hai thuật toán để quyết định tập dữ liệu cảm xúc tốt nhất
nên học và để quyết định xem tập dữ liệu có nên được sử dụng để học hay không.
Đóng góp chính của luận văn là:

14


1. Luận văn đề xuất áp dụng một phương pháp mới để giải quyết bài toán phân
tích cảm xúc.
2. Luận văn đề xuất một phương pháp học chuyển đổi mới với chiến lược học
tập dữ liệu đã tồn tại mới, đảm bảo sau quá trình học xác suất của tập huấn
luyện và tập kiểm tra là gần nhau nhất.

3. Luận văn đề xuất một độ đo xác định khoảng cách của 2 tập dữ liệu cùng
một số ứng dụng của nó.
Thử nghiệm chỉ ra rằng, đề xuất thu được kết quả tốt hơn các thuật toán học chuyển
đổi với phương pháp tương tự trước đây, và các thuật toán học máy như máy vector
hỗ trợ (SVMs) trong trường hợp tập huấn luyện của dữ liệu tương lai là nghèo nàn,
không đủ xây dựng được một hình phân loại tốt cho tập dữ liệu.
Phần nội dung chính của luận văn sẽ được tổ chức như sau:
 Phần I: Phần mở đầu
 Phần II: Nội dung
o Chương I: Phân tích cảm xúc
o Chương II: Học chuyển đổi
o Chương III: Áp dụng học chuyển đổi cho bài toán phân loại cảm xúc
cực
1. Thuật toán AdaBoost
2. Thuật toán TrAdaBoost
3. Thuật toán MulTrAdaBoost
4. Thuật toán Unilateral – TrAdaBoost
5. Độ đo độ lệch trung bình cực đại (Maximum Mean
Discrepancy – MMD) và giá trị ngưỡng độ lệch tới tâm trung
bình (Mean Discrepancy of Set – MDS)
6. Cài đặt thử nghiệm và đánh giá
15


 Phần III: Kết luận
 Phần IV: Danh mục các tài liệu tham khảo

16



Phần II: Nội dung
Chương I. Phân tích cảm xúc
Phân tích cảm xúc (Sentiment Analysis – SA) hay còn được gọi là khai thác ý kiến
(opinion mining) đề cập đến việc xử lý ngôn ngữ tự nhiên, phân tích văn bản, và
ngôn ngữ học để xác định và trích xuất thông tin mang sắc thái chủ quan.
Nói chung, phân tích cảm xúc hướng đến việc xác định thái độ của người nói hay
người viết đối với một chủ đề nào đó hoặc cảm xúc cực theo ngữ cảnh của tài liệu.
Thái độ có thể là sự phán đoán hay đánh giá của người đó, hoặc trạng thái tình cảm,
hoặc trạng thái cảm xúc trong giao tiếp.
1. Các nhiệm vụ con của bài toán phân tích cảm xúc
Một nhiệm vụ cơ bản của phân tích cảm xúc là phân loại các cảm xúc cực của một
văn bản. [Turney .P, 2002] và [Pang .B et al., 2002] đã áp dụng các phương thức
khác nhau để phát hiện cảm xúc cực trong các đánh giá sản phẩm và phim. Hầu hết
trong các phương thức phân loại thống kê, lớp trung lập bị bỏ qua do giả thiết rằng
các văn bản trung lập nằm gần biên của phân loại hai lớp. Tuy nhiên rất nhiều nhà
nghiên cứu đã khuyến nghị rằng, trong tất cả các bài toán phân cực cảm xúc, ba loại
cảm xúc phải được phát hiện. Hơn nữa nó đã được chứng minh rằng, với các bộ
phân loại như là MaxEntropy (Maximum Entropy), SVMs có thể tăng độ chính xác
khi có sự có mặt của lớp trung lập.
Một nhiệm vụ khác của phân tích cảm xúc đó là xác định chủ quan / khách quan.
Theo [Pang .B et al., 2008] thì nhiệm vụ này thường định nghĩa như là một bài toán
phân loại thành hai lớp chủ quan hoặc khách quan. Theo [Mihalcea .R et al., 2007]
bài toán này đôi khi phức tạp hơn bài toán phân tích cảm xúc cực: tính chủ quan của
từ và cụm từ có thể phụ thuộc vào ngữ cảnh của chúng và tài liệu chứa chúng.

17


Một nhiệm vụ phân tích khác mịn hơn nữa được gọi là phân tích cảm xúc dựa trên
các đặc trưng. Nó dùng để xác định ý kiến hay cảm xúc thể hiện trên các đặc trưng

khác nhau của thực thể ví dụ như điện thoại thông minh, máy ảnh số … Một đặc
trưng là một thuộc tính hay thành phần của một thực thể ví dụ như màn hình điện
thoại, pin điện thoại … Bài toán này liên quan đến rất nhiều bài toán con như là:
xác định các thực thể liên quan, trích xuất các đặc trưng của chúng, phân loại cảm
xúc cực trên từ đặc trưng.
Do hầu hết các bài toán con của lĩnh vực phân tích cảm xúc, đều có thể quy về các
bài toán phân loại. Vì thế, trong luận văn, tôi sẽ chỉ minh họa một phương thức học
chuyển đổi cho bài toán phân loại cảm xúc cực.
2. Các phương thức
Các phương thức đã và đang tồn tại để phân tích cảm xúc có thể được nhóm lại
thành ba loại chính sau:
 Dựa vào từ khóa (lexicon based).
 Dựa vào các phương thức thống kê (statistical methods).
 Dựa vào các kỹ thuật concept-level (concept-level techniques).
a. Phương pháp dựa vào từ khoá
Đầu tiên là phương thức dựa vào các từ khóa, theo [Ortony .A et al, 1988] thì các
phương thức phân loại văn bản loại này phân loại bằng cách dựa vào các từ khóa có
ảnh hưởng rõ ràng đến cảm xúc như ―buồn, vui, hạnh phúc, chán, ghét …‖. Các
thuật toán dựa vào từ khoá này chỉ sử dụng các phương pháp phân loại đơn giản, kết
hợp với các bộ từ điển với các mức độ cảm xúc của các từ. Do đó họ chỉ tập trung
vào việc xây dựng các bộ từ điển đó. [Ding .X et al., 2008] đã trình bày phương
pháp tổng thể dựa trên từ khoá để thực hiện phân tích cảm xúc trên các đánh giá cho

18


các tính năng của sản phẩm bằng cách kết hợp nhiều từ thể hiện cảm xúc trong cùng
một câu đánh giá.
Chúng ta có thể thấy một cách rõ ràng rằng, phương pháp này khá đơn giản, dễ
dàng áp dụng, tuy nhiên hạn chế là độ chính xác của thuật toán không cao. Đơn cử

là phương pháp này không có khả năng giải quyết được trường hợp các câu ở dạng
phủ định. Hơn nữa, các phương pháp dạng này quá phụ thuộc vào từ điển.
b. Phương thức dựa vào các phương thức thống kê
Đối với các phương pháp thống kê, các nhà khoa học sử dụng các phương pháp học
máy như là LSA (Latent Sentiment Analysis), SVMs, túi từ (bag of word), và
Semantic Orientation — Pointwise Mutual Information như trong [Turney .P, 2002]
đã sử dụng. Trong các thuật toán kể trên, SVMs rất hiệu quả để giải quyết các bài
toán với dữ liệu có số chiều lớn như các vector biểu diễn văn bản. Hơn nữa, đối
tượng tiếp cận của chúng ta ở đây là các văn bản. Do đó, tôi chọn SVMs như là một
thuật toán học xuyên suốt luận văn để học chuyển đổi và tăng cường độ chính xác.
Phần tiếp theo dưới đây sẽ là mô tả chi tiết về thuật toán SVMs (cả SVMs phân loại
nhị phân và SVMs phân loại đa lớp).
Máy vectơ hỗ trợ (SVM - viết tắt tên tiếng Anh support vector machine) là một khái
niệm trong thống kê và khoa học máy tính cho một tập hợp các phương pháp học có
giám sát để phân loại và phân tích hồi quy. SVM dạng chuẩn nhận dữ liệu vào và
phân loại chúng vào hai lớp khác nhau. Do đó SVM là một thuật toán phân loại nhị
phân. Với một bộ các ví dụ huấn luyện thuộc hai lớp cho trước, thuật toán SVM
huấn luyện xây dựng một mô hình SVM để phân loại các ví dụ khác vào hai lớp đó.
Một mô hình SVM là một cách biểu diễn các điểm trong không gian và ranh giới
phân định giữa hai lớp sao cho khoảng cách từ các ví dụ học tới ranh giới là xa nhất
có thể. Các ví dụ mới cũng được biểu diễn trong cùng một không gian và được

19


thuật toán dự đoán thuộc một trong hai lớp tùy thuộc vào ví dụ đó nằm ở phía nào
của ranh giới phân định đó.
i. Tổng quan về máy vectơ hỗ trợ
Một máy vectơ hỗ trợ xây dựng một siêu phẳng hoặc một tập hợp các siêu phẳng
trong một không gian nhiều chiều hoặc vô hạn chiều, có thể được sử dụng cho phân

loại, hồi quy, hoặc các nhiệm vụ khác. Một cách trực quan, để phân loại tốt nhất thì
các siêu phẳng nằm ở càng xa các điểm dữ liệu của tất cả các lớp (gọi là hàm lề)
càng tốt, vì nói chung lề càng lớn thì sai số tổng quát hóa của thuật toán phân loại
càng bé.
Trong nhiều trường hợp, không thể phân chia các lớp dữ liệu một cách tuyến tính
trong một không gian ban đầu được dùng để mô tả một vấn đề. Vì vậy, nhiều khi
cần phải ánh xạ các điểm dữ liệu trong không gian ban đầu vào một không gian mới
nhiều chiều hơn, để việc phân tách chúng trở nên dễ dàng hơn trong không gian mới.
Để việc tính toán được hiệu quả, ánh xạ sử dụng trong thuật toán SVM chỉ đòi hỏi
tích vô hướng của các vectơ dữ liệu trong không gian mới có thể được tính dễ dàng
từ các tọa độ trong không gian cũ. Tích vô hướng này được xác định bằng một hàm
nhân K(x,y) phù hợp [Press .W.H et al., 2009]. Một siêu phẳng trong không gian
mới được định nghĩa là tập hợp các điểm có tích vô hướng với một vectơ cố định
trong không gian đó là một hằng số. Vectơ xác định một siêu phẳng sử dụng trong
SVM là một tổ hợp tuyến tính của các vectơ dữ liệu luyện tập trong không gian mới
với các hệ số

. Với siêu phẳng lựa chọn như trên, các điểm x trong không gian

đặc trưng được ánh xạ vào một siêu mặt phẳng là các điểm thỏa mãn:


(

)

(

)


Chú ý rằng nếu K(x,y) nhận giá trị ngày càng nhỏ khi y xa dần khỏi x thì mỗi số
hạng của tổng trên được dùng để đo độ tương tự giữa x với điểm
20

tương ứng trong


dữ liệu huấn luyện. Như vậy, ý nghĩa của tổng trên chính là so sánh khoảng cách
giữa điểm cần dự đoán với các điểm dữ liệu đã biết. Lưu ý là tập hợp các điểm x
được ánh xạ vào một siêu phẳng có thể có độ phức tạp tùy ý trong không gian ban
đầu, nên có thể phân tách các tập hợp thậm chí không lồi trong không gian ban đầu.
ii. Lịch sử
Thuật toán SVM ban đầu được đề xuất bởi Vladimir N. Vapnik và dạng chuẩn hiện
nay sử dụng lề mềm được đề xuất bởi Vapnik và Corinna Cortes năm 1995
[Cortes .C et al., 1995]. Ban đầu thuạ t toán SVM chỉ sử dụng cho pha n loại nhị
phân, sau đó đu ợc cải tiến sử dụng cho pha n loại đa lớp [Crammer .K et al.,
2000], [Crammer .K et al., 2002]
iii. SVM phân loại nhị phân (Binary-classification)
Phân loại thống kê là một nhiệm vụ phổ biến trong học máy. Trong mô hình học có
giám sát, thuật toán được cho trước một số điểm dữ liệu cùng với nhãn của chúng
thuộc một trong hai lớp cho trước. Mục tiêu của thuật toán là xác định xem một
điểm dữ liệu mới sẽ được thuộc về lớp nào. Mỗi điểm dữ liệu được biểu diễn dưới
dạng một vector p-chiều, và ta muốn biết liệu có thể chia tách hai lớp dữ liệu bằng
một siêu phẳng p − 1 chiều (phân loại tuyến tính). Có nhiều siêu phẳng có thể phân
loại được dữ liệu. Một lựa chọn hợp lý trong chúng là siêu phẳng có lề lớn nhất
giữa hai lớp.
Ta có một tập huấn luyện

gồm n điểm có dạng
{(


với

)

*

mang giá trị 1 hoặc −1, xác định lớp của điểm

+}
. Mỗi

là một vectơ thực

p-chiều. Ta cần tìm siêu phẳng có lề lớn nhất chia tách các điểm có
điểm có

=1 và các

= -1. Mỗi siêu phẳng đều có thể được viết dưới dạng một tập hợp các

điểm x thỏa mãn:
21


với ―.‖ kí hiệu cho tích vô hướng và
Tham số ‖




là một vectơ pháp tuyến của siêu phẳng.

xác định khoảng cách giữa gốc tọa độ và siêu phẳng theo hướng vectơ

pháp tuyến w.
Chúng ta cần chọn w và b để cực đại hóa lề, hay khoảng cách giữa hai siêu phẳng
song song ở xa nhau nhất có thể trong khi vẫn phân chia được dữ liệu. Các siêu
phẳng ấy được xác định bằng:



Để ý rằng nếu dữ liệu huấn luyện có thể được chia tách một cách tuyến tính, thì ta
có thể chọn hai siêu phẳng của lề sao cho không có điểm nào ở giữa chúng và sau
đó tăng khoảng cách giữa chúng đến tối đa có thể. Bằng hình học, ta tìm được
khoảng cách giữa hai siêu phẳng là ‖ ‖. Vì vậy ta muốn cực tiểu hóa giá trị ‖ ‖. Để
đảm bảo không có điểm dữ liệu nào trong lề, ta thêm vào các điều kiện sau, với mỗi
i ta có:

hoặc

Có thể viết gọn lại như sau với mọi 1 ≤ i ≤ n:
(

)

Tóm lại, ta có bài toán tối ưu hóa sau:
 Cực tiểu hóa (theo w, b}):

‖ ‖
22


( )


(

 Với điều kiện (với mọi i = 1, …, n):

)

Bằng cách thêm các nhân tử Lagrange , bài toán trên trở thành
{ ‖ ‖

, (



)

-}

nghĩa là ta cần tìm một điểm yên ngựa. Khi đó, tất cả các điểm không nằm trên lề,
nghĩa là

(

có thể chọn

)


đều không ảnh hưởng đến giá trị hàm mục tiêu vì ta

bằng không.

Có thể giải bài toán này bằng các kĩ thuật thông thường cho quy hoạch toàn phương.
Theo điều kiện Karush–Kuhn–Tucker, lời giải có thể được viết dưới dạng tổ hợp
tuyến tính của các vectơ huấn luyện

Chỉ có một vài

nhận giá trị lớn hơn 0. Các điểm

nằm trên lề và thỏa mãn

(

)

tương ứng là các vector hỗ trợ

. Từ điều kiện này, ta nhận thấy

từ đó ta suy ra được giá trị b. Trên thực tế, một cách thức tốt hơn để tính b là tính
giá trị trung bình từ tất cả

vectơ hỗ trợ:


Nếu viết điều kiện phân loại dưới dạng đối ngẫu không điều kiện thì sẽ dễ dàng
nhận thấy siêu phẳng với lề lớn nhất, và do đó nhiệm vụ phân loại, chỉ phụ thuộc

vào các điểm luyện tập nằm trên lề, còn gọi là các vectơ hỗ trợ.
23


Vì ‖ ‖





, nên bài toán đối ngẫu của SVM chính là

bài toán tối ưu hóa sau:
Cực đại hóa (theo
̃( )

)









(

)


với điều kiện (với mọi i = 1, …, n)

và điều kiện sau ứng với việc cực tiểu hóa theo b

Ở đây hàm hạt nhân được định nghĩa là (

)

Sau khi giải xong, có thể tính w từ các giá trị

tìm được như sau:


Năm 1995, Corinna .C et al. đề xuất một ý tưởng mới cho phép thuật toán gán nhãn
sai cho một số mẫu huấn luyện. Nếu không tồn tại siêu phẳng nào phân tách được
hai lớp dữ liệu, thì thuật toán lề mềm sẽ chọn một siêu phẳng phân tách các ví dụ
luyện tập tốt nhất có thể, và đồng thời cực đại hóa khoảng cách giữa siêu phẳng với
các ví dụ được gán đúng nhãn. Phương pháp này sử dụng các biến bù
độ sai lệch của ví dụ

.
(

)

( )

24

, dùng để đo



Hàm mục tiêu có thêm một số hạng mới để phạt khi

khác không, và bài toán tối

ưu hóa trở thành việc trao đổi giữa lề lớn và mức phạt nhỏ. Nếu hàm phạt là tuyến
tính thì bài toán trở thành:
{ ‖ ‖

∑ }

với điều kiện (với mọi i=1, …,n)
(

)

Có thể giải bài toán trên bằng nhân tử Lagrange tương tự như trường hợp cơ bản ở
trên. Bài toán cần giải trở thành:
{ ‖ ‖
với

,





, (


)

-}

.

Còn dạng đối ngẫu của trường hợp lề mềm là:
Cực đại hóa (theo

)
̃( )





với điều kiện (với mọi i = 1, …, n)




25

(

)





×