You are on page 1of 21

ĐẠI HỌC QUỐC GIA TP.

HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN

PHÂN TÍCH CẢM XÚC CỦA NGƯỜI XEM


PHIM DỰA TRÊN CÁC BÌNH LUẬN

GVHD: PGS. TS. ĐINH ĐIỀN


GVTG: NCS. LƯƠNG AN VINH
HV: HÀ MINH TUẤN. MSHV: 20C29041.
NGUYỄN THANH THOẠI. MSHV: 20C29039.
TRẦN NGỌC ĐĂNG NGUYÊN. MSHV: 20C29011.

TIỂU LUẬN XỬ LÝ NGÔN NGỮ TỰ NHIÊN

Tp. Hồ Chí Minh - 2021


2
Mục Lục

1 Giới Thiệu Về Đề Tài 5


1.1 Lý do chọn đề tài . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2 Phân tích cảm xúc là gì? . . . . . . . . . . . . . . . . . . . . . 6
1.3 Mục tiêu tiểu luận . . . . . . . . . . . . . . . . . . . . . . . . . 8

2 Các Khái Niệm về Phân Tích Cảm Xúc 9


2.1 Khái niệm ý kiến . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.2 Mục tiêu của cảm xúc - Sentiment taget . . . . . . . . . . . . . 10
2.3 Cảm xúc của ý kiến . . . . . . . . . . . . . . . . . . . . . . . . 11

3 Hướng Nghiên Cứu 13


3.1 Xử lý dữ liệu . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.1.1 Thu thập dữ liệu . . . . . . . . . . . . . . . . . . . . . 14
3.1.2 Làm sạch dữ liệu . . . . . . . . . . . . . . . . . . . . . 15
3.1.3 Gán nhãn dữ liệu . . . . . . . . . . . . . . . . . . . . . 16
3.1.4 Chia tập dữ liệu . . . . . . . . . . . . . . . . . . . . . . 16
3.2 Trích xuất đặc trưng . . . . . . . . . . . . . . . . . . . . . . . 16
3.2.1 Chuẩn hoá . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.2.2 Trích xuất thông tin toàn bộ . . . . . . . . . . . . . . . 17
3.2.3 Loại bỏ ký tự đặc biệt . . . . . . . . . . . . . . . . . . . 17
3.2.4 Đếm emoji . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.3 Xây dựng mô hình . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.3.1 Thuật toán SVM (Support Vector Machine) . . . . . . . 17
3.3.2 Mô hình cơ sở . . . . . . . . . . . . . . . . . . . . . . . 18
3.3.3 Đánh giá mô hình . . . . . . . . . . . . . . . . . . . . . 19

3
4 MỤC LỤC
Chương 1

Giới Thiệu Về Đề Tài

1.1 Lý do chọn đề tài

Trong những năm qua, các hệ thống truyền thông xã hội trên internet đã cung
cấp những nền tảng tuyệt vời để tạo điều kiện thuận lợi và cho phép mọi người
tham gia, tương tác trong cộng đồng, điều này đã hình thành nên văn hoá mới.
Từ các bài đánh giá và blog đến YouTube, Facebook và Twitter, mọi người đã
chấp nhận các nền tảng này nhiệt tình vì chúng cho phép người dùng tự do
và thuận tiện nói lên ý kiến của họ và truyền đạt quan điểm của họ về bất kỳ
chủ đề nào bất chấp các ranh giới địa lý và không gian. Các nền tảng này cho
phép một người có thể kết nối với những người khác và chia sẽ nhưng thông tin
mà họ quan tâm. Cuộc cách mạng truyền thông này đã làm thay đổi cuộc sống
hằng ngày của chúng ta.
Những ý kiến từ các nguồn trên sẽ cho phép các nhà hoạch định chính sách
phản ứng nhanh chóng với các điều kiện xã hội, kinh tế và chính trị đang thay
đổi hàng ngày, hàng giờ. Trong chính trị quốc tế, mọi chính phủ đều muốn theo
dõi các phương tiện truyền thông xã hội của các quốc gia khác để tìm hiểu điều
gì đang xảy ra ở các quốc gia này cũng như quan điểm và tình cảm của mọi
người về các vấn đề và sự kiện địa phương và quốc tế hiện tại. Những thông tin
này rất hữu ích cho ngoại giao, quan hệ quốc tế và ra quyết định kinh tế. Bên
cạnh các doanh nghiệp, tổ chức và cơ quan chính phủ, người tiêu dùng cá nhân
cũng muốn biết ý kiến của những người khác về sản phẩm, dịch vụ và các ứng
cử viên chính trị trước khi mua sản phẩm, sử dụng dịch hoặc đưa ra quyết định
bầu cử.
Những ý kiến của người dùng tồn tại dưới dạng văn bản trên các nền tảng
mạng xã hội,các trang thương mại điện tử là rất phong phú, đang dạng, đa lĩnh
5
6 CHƯƠNG 1. GIỚI THIỆU VỀ ĐỀ TÀI

vực. Các dữ liệu này chứa đựng những giá trị được tạo ra từ trải nghiêm, quan
điểm, thái độ đối với một chủ thể nhằm chia sẻ những ý kiến và cảm nhận về
dịch vụ. Đối với những công ty thương mại điện tử thì phân tích thông tin phản
hồi của khách hàng là cách tuyệt vời nhất giúp biết được điểm mạnh, điểm yếu
trong sản phẩm dịch vụ của mình đồng thời thấu hiểu được nhu cầu của khách
hàng hiện tại và tương lai.
Đối với các trang thương mại điện tử hay một Blog,... thì một câu hỏi thường
trực là:“ thái độ, đánh giá và quan điểm của người dùng với sản phẩm ta cung
cấp ra sao?” để có thể đưa ra những chỉnh sửa, cải tiến cho: sản phẩm, dịch vụ,
hệ thống thích hợp hơn với người dùng. Đê trả lời cho câu hỏi đó, người khảo sát
có thể đi hỏi từng người sử dụng một, bằng sử dụng phiếu đánh giá,... Nhưng
thực tế cho thấy rằng những phương pháp này là không khả thi hoặc không
hiệu quả cho lắm. Các công ty nghiên cứu thị trường hiện này vẫn thường sử
dụng các phương pháp truyền thống này tuy nhiên độ tin cậy không cao (do
nhân viên tự làm giả dữ liệu) và tính cập nhật khá thấp (10-20 ngày cho thu
thập thông tin, 10-20 ngày cho phân tích dữ liệu).
Để khắc phục tính không hiệu quả của phương pháp khảo sát cổ điển, và cũng
để trả lời câu hỏi trên một cách tốt và nhanh chóng nhất, ta phải tận dụng và
phân tích được chính những thông tin mà người dùng để lại qua internet như
các bình luận, đánh giá, bài chia sẻ, . . . Sau đó, dùng các công cụ phân tích cảm
xúc để trích xuất ra những thông tin quan trọng về chất lượng sản phẩm, trải
nghiệm của khác khành . . .
Bài tiểu luận này nhằm mục đích tìm hiểu một phần lý thuyết về bài toán
phân tích cảm xúc - Sentiment Analysis và giới thiệu về hướng tiếp cận
phân tích cảm xúc của khách hàng khi sử dụng dịch vụ đồng thời giới thiệu sơ
lượt những kỹ thuật được sử dụng trong quá trình nghiên cứu.

1.2 Phân tích cảm xúc là gì?

Phân tích cảm xúc (sentiment analysis), còn được gọi là khai thác ý kiến (opinion
mining), là lĩnh vực nghiên cứu phân tích ý kiến, tình cảm, đánh giá, thái độ và
cảm xúc của mọi người đối với các đối tượng và các thuộc tính của chúng được
thể hiện trong văn bản. Các đối tượng có thể là sản phẩm, dịch vụ, tổ chức, cá
nhân, sự kiện, vấn đề hoặc chủ đề. Nghiên cứu phân tích cảm xúc chủ yếu được
1.2. PHÂN TÍCH CẢM XÚC LÀ GÌ? 7

thực hiện ở ba cấp độ chi tiết: cấp độ tài liệu, cấp độ câu và cấp độ khía cạnh.

i) Cấp độ tài liệu - Document level. Nhiệm vụ ở cấp độ tài liệu là phân
loại xem ý kiến của toàn bộ văn bản là thể hiện cảm xúc tích cực hay tiêu
cực (Pang và cộng sự, 2002; Turney, 2002). Do đó, nó được gọi là phân loại
cảm xúc cấp độ tài liệu. Ví dụ: với một bài đánh giá sản phẩm, hệ thống
sẽ xác định xem bài đánh giá đó thể hiện ý kiến tích cực hay tiêu cực một
cách tổng thể về sản phẩm. Mức độ phân tích này mặc nhiên giả định rằng
mỗi tài liệu bày tỏ ý kiến về một thực thể (ví dụ: một sản phẩm hoặc dịch
vụ). Do đó, nó có hạn chế là không thể áp dụng cho các tài liệu đánh giá
hoặc so sánh nhiều thực thể mà cần phân tích chi tiết hơn.

ii) Cấp độ câu - Sentence level. Cấp độ câu là xác định xem mỗi câu thể
hiện quan điểm tích cực, tiêu cực hay trung lập. Lưu ý rằng “ý kiến trung
lập” thường có nghĩa là “không có ý kiến”. Mức độ phân tích này có liên
quan chặt chẽ với phân loại chủ quan (Wiebe và cộng sự, 1999), phân biệt
câu thể hiện thông tin thực tế (được gọi là câu khách quan) với câu thể
hiện quan điểm và ý kiến chủ quan (được gọi là câu chủ quan). Tuy nhiên,
chủ quan không tương đương với cảm tính vì nhiều câu khách quan có thể
ngụ ý cảm xúc hoặc ý kiến, ví dụ: “Chúng tôi mua xe tháng trước và cần
gạt nước đã rơi ra”. Ngược lại, nhiều câu chủ quan có thể không thể hiện
bất kỳ ý kiến hoặc cảm xúc nào, chẳng hạn như “Tôi nghĩ anh ấy đã về nhà
sau bữa trưa”.

iii) Cấp độ khía cạnh - Aspect level. Cả phân tích cấp độ tài liệu và cấp độ
câu đều không phát hiện ra chính xác những gì mọi người thích và không
thích. Nói cách khác, hai cấp độ trên không cho biết mỗi ý kiến là về cái gì,
tức là mục tiêu của ý kiến. Ví dụ: nếu chúng ta chỉ biết rằng câu “Tôi thích
iPhone 5” là tích cực, thì nó sẽ bị hạn chế sử dụng trừ khi chúng ta biết
rằng ý kiến tích cực là về iPhone 5. Ta có thể cho rằng nếu có thể phân loại
một câu là tích cực, tất cả mọi thứ trong câu có thể có ý kiến tích cực. Tuy
nhiên, điều đó cũng sẽ không đúng, bởi vì một câu có thể có nhiều ý kiến,
ví dụ, “Apple đang làm rất tốt trong nền kinh tế suy thoái này”.Không có
nhiều ý nghĩa khi phân loại câu này là tích cực hay tiêu cực vì nó tích cực
về Apple nhưng tiêu cực về kinh tế. Hoặc “Phim hay mà mạng lag quá!”
ta thấy cảm xúc là tích cực cho phim nhưng lại tiêu cực cho mạng. Để có
8 CHƯƠNG 1. GIỚI THIỆU VỀ ĐỀ TÀI

được kết quả chi tiết hơn, chúng ta cần phải phân tích các bình luận của
phim đến cấp độ khía cạnh. Mức độ phân tích này trước đây được gọi là
mức tính năng, như trong khai thác và tóm tắt ý kiến dựa trên tính năng
(Hu và Liu, 2004; Liu, 2010), hiện được gọi là phân tích cảm xúc dựa trên
khía cạnh. Thay vì xem xét các đơn vị ngôn ngữ (tài liệu, đoạn văn, câu,
mệnh đề hoặc cụm từ), phân tích ở cấp độ khía cạnh trực tiếp xem xét ý
kiến và mục tiêu của nó (được gọi là mục tiêu ý kiến).

1.3 Mục tiêu tiểu luận

Bài tiểu luận có hai mục tiêu. Một là giới thiệu sơ lượt về lý thuyết phân tích
cảm xúc. Hai là giới thiệu một ví dụ về việc áp dụng mô hình máy học để phân
tích cảm xúc, phản ánh, đánh giá và nhu cầu của khách hàng thông qua những
ý kiến phản hồi, những dòng bình luận của mỗi bộ phim được chiếu trên nền
tảng xem phim trực tuyến của FPT. Từ đó tạo sơ sở cho việc cải tiến chất lượng
xem phim, trải nghiệm xem phim của người dùng.
Chương 2

Các Khái Niệm về Phân Tích Cảm


Xúc

2.1 Khái niệm ý kiến

Chúng ta có thể nói phân tích cảm xúc là từ ý kiến phản hồi của người dùng,
khách hàng, ta trích xuất ra được tình cảm xúc hoặc trải nghiệm tích tực, tiêu
cực hoặc trung tính của họ. Do đó ta sẽ sử dụng thuật ngữ ý kiến - opinion như
một khái niệm tổng quát bao gồm: cảm xúc, tình cảm, đánh giá, quan điểm,
phản hồi của người dùng. Dùng thuật ngữ cảm xúc - sentiment để chỉ cảm xúc
tích cực, tiêu cực, hoặc trung tính của người dùng được suy ra từ ý kiến của
họ. Do phải khảo sát một lượng lớn các ý kiến nên chúng ta chia ra thành hai
mức độ khảo sát: mức độ câu đơn lẻ và mức độ tập hợp các ý kiến.
Xét ví dụ về một bài đánh giá về một chiếc máy ảnh như sau: (1) tôi mua
một chiếc máy ảnh Canon G12 được sáu tháng. (2) Tôi rất thích nó. (3) Chất
lượng ảnh tuyệt vời. (4) Thời lượng pin cũng dài. (5) Tuy nhiên vợ tôi nghĩ rằng
nó hơi nặng. Từ ví dụ trên ta chú ý đến những điều sau:
ý kiến, cảm xúc và mục tiêu. Bài đánh giá trên chứa một vài ý kiến tích
cực và tiêu cực về chiếc máy ảnh Canon G12. Câu 2 bày tỏ cảm xúc tích cực
về chiếc máy ảnh nói chung. Câu 3 đưa ra nhận xét tích cực về chất lượng ảnh.
Câu 4 phản ánh cảm xúc tích cực về thời lượng pin. Câu 5 nói lên cảm xúc
tiêu cực về trọng lượng của nó. Những ý kiến này cho phép chúng tôi thực hiện
một quan sát quan trọng về phân tích tình cảm. Có nghĩa là, một ý kiến có hai
thành phần chính: mục tiêu g và tình cảm đối với mục tiêu, (g, s), trong đó g
có thể là bất kỳ thực thể hoặc khía cạnh nào của thực thể mà ý kiến đã được
thể hiện và s là tình cảm tích cực, tiêu cực hoặc trung tính hoặc xếp hạng tình
cảm bằng số. Tích cực, tiêu cực và trung tính được gọi là định hướng tình cảm
9
10 CHƯƠNG 2. CÁC KHÁI NIỆM VỀ PHÂN TÍCH CẢM XÚC

hoặc quan điểm. Ví dụ, mục tiêu của cảm xúc trong câu 2 là máy ảnh Canon
G12, mục tiêu của cảm xúc trong câu 3 là chất lượng hình ảnh của Canon G12
và mục tiêu của câu 5 là trọng lượng của Canon G12 (trọng lượng được biểu
thị bằng nặng).

Định nghĩa 2.1.1. Một ý kiến là một là một bộ 4 thành phần

(g, s, h, t)

trong đó g là một cảm xúc mục tiêu, s là một cảm xúc của ý kiến về mục tiêu
g , h là người cho ý kiến (là người hoặc nhóm người đưa ra ý kiến của mình), t
là thời gian mà ý kiến được phát biểu

Mỗi thành phần trong một bộ 4 trên là rất cần thiết và không thể bỏ bớt. Ví
dụ như thành phần thời gian là cần thiết vì ít khi một người giữ mãi một ý kiến
trong một thời gian dài. Và người cho ý kiến cũng rất quan trọng. Ví dụ như ý
kiến của Tổng Thống sẽ quan trọng hơn ý kiến của một người bình thường mà
ta gặp ngoài đường. Ý kiến từ một tổ chức sẽ quan trọng hơn một ý kiến của
một cá nhân. Ví dụ như ý kiến của Bộ Giáo Dục sẽ có tầm ảnh hưởng hơn rất
nhiều ý kiến của một giáo viên.
Có một thứ mà ta muốn nhấn mạnh trong định nghĩa là đối tượng của ý
kiến. Việc nhận diện được đối tượng của ý kiến là rất quan trọng bởi hai lý do:
thứ nhất, trong một câu với nhiều mục tiêu khác nhau ta cần xác định được
mục tiêu riêng cho từng cảm xúc tương ứng của nó. Ví dụ như “Apple đã làm
rất tốt trong một hoàng cảnh kinh tế khó khăn này” trong câu này có một cảm
xúc tích cực cho Apple và một cảm xúc tiêu cực cho nên kinh tế.

2.2 Mục tiêu của cảm xúc - Sentiment taget

Định nghĩa 2.2.1. Mục tiêu của cảm xúc là đối tượng hoặc một phần tình
cảm của đối tượng mà ý kiến đề cập tới.

Trong Ví dụ về bài nhận xét chiếc máy ảnh Canon G12. Trong câu 3, Mục
tiêu của cảm xúc là chất lượng ảnh của Máy Canon G12. Mặc dù trong câu chỉ
đề cập đến chất lượng ảnh. Cảm xúc mục tiêu không chỉ là chất lượng ảnh. Nếu
không biết được cảm xúc mục tiêu ở đây thuộc về đối tượng Canon G12 thì câu
nhận xét trên rất ít giá trị.
2.3. CẢM XÚC CỦA Ý KIẾN 11

Định nghĩa 2.2.2. Một đối tượng - entity e là một sản phẩm, dịch vụ, chủ
đề, một người, một tổ chức, một vấn đề, một sự kiện, . . . Nó đ5ươc mô tả bởi
một cặp e : (T, W ), trong đó T là một hệ thống phân bậc các bộ phận, các
phần con . . . , W là một tập các thuộc tính của e. Mỗi phần hoặc phần con
cũng có thuộc tính riêng của nó.

Ví dụ như chiếc máy ảnh Canon G12 có tập các thuộc tính là: Chất lượng
ảnh, kích cỡ, trọng lượng. Và một tập các bộ phân là: Ống kính, thấu kính và
pin. Pin cũng có tập các thuộc tính như: thời lượng của pin, trọng lượng của
pin. Định nghĩa trên mô tả một đối tượng có nhiều bộ phân có liên hệ với nhau.
Tên của đối tượng là chủ đề chính, ngoài ra còn có các đối tượng khác là các bộ
phận của đối tượng chính. Một ý kiến có thể phát biểu về một thuộc tính nào
đó của chủ đề chính. Như vậy theo ví dụ về chiếc máy ảnh Canon G12, một ý
kiến có thể đề cập đến bất kì một khía cạnh hoặc một bộ phận của đối tượng.

2.3 Cảm xúc của ý kiến

Định nghĩa 2.3.1. Cảm xúc là thái độ, cảm giác, tình cảm, sự đánh giá gắn
liền với một ý kiến. Cảm xúc được biểu diễn thành bộ 3

(y, o, i),

trong đó y là loại cảm xúc, o là định hướng của tình cảm xúc, và i là cường độ
của cảm xúc.

Phân loại cảm xúc. Cảm xúc được phân thành một vài loại như: cơ sở
ngôn ngữ, cơ sở tâm lí, cơ sở khách hàng. Ở trong bài viết này ta chọn phân
tích cảm xúc của khách hàng vì nó có tính ứng dụng rộng rãi. Phân loại cảm
xúc khách hàng được chia thành hai phạm trù là: cảm xúc có lý trí và cảm xúc
bột phát.

Định nghĩa 2.3.2. (Rational sentiment). Cảm xúc lý trí là biểu hiện của
sự hiểu biết về đối tượng, niềm tin từ cái thấy, cái biết cái nghe. Nó hoàn toàn
không có sự bột phát.

Ví dụ như phát biểu: “Âm thanh của chiếc Iphone mới phát ra thật trong
trẻo.” hoặc “Chiếc xe của tôi thật đáng đồng tiền”. Cảm xúc loại này là cảm
xúc đến từ lý trí, sự hiểu biết về đối tượng được nhắc tới.
12 CHƯƠNG 2. CÁC KHÁI NIỆM VỀ PHÂN TÍCH CẢM XÚC

Định nghĩa 2.3.3. (Emotional sentiment). Cảm xúc bộc phát Là những
phản ứng phi vật thể, là xúc cảm bất chợt nằm xâu trong tâm lý con người.
Các ví dụ cho những cảm xúc loại này: “Tôi phát quạo khi phải chờ đợi quá
lâu để được dọn cơm”; “ Đây là chiếc xe tốt nhất từ trước tới giờ”; hay “bãi biển
đó đẹp phát điên”.
Cảm xúc bộc phát gây ra phản ứng mạnh mẽ hơn của người dùng so với
cảm xúc lý trí. Nên thường nó cho nhiều thông tin hơn và đáng tin cậy hơn.
Ví dụ, trong tiếp thị, để đảm bảo sự thành công của một sản phẩm mới trên
thị trường, cảm xúc tích cực từ một bộ phận lớn người tiêu dùng phải đạt đến
mức bột phát. Cảm xúc tích cực theo kiểu lý trí không thôi có thể là chưa đủ.
cảm xúc bộc phát còn được chia thành 3 loại nhỏ như: Cảm Xúc định hướng -
sentiment Orientation; Cường độ cảm xúc - Sentiment Intensity; Đánh giá cảm
xúc - Sentiment rating
Chương 3

Hướng Nghiên Cứu

Đầu tiên xin nhắc lại đối với các bài toán phân tích cảm xúc cũng như các bài
toán thuộc nhóm trích xuất thông tin, chúng ta có các hướng tiếp cận thường
thấy nhất là:

• Hướng tiếp cận theo luật (Rule-base). Sử dụng các thuật toán dự trên dựa
trên tập các từ đã được phân loại (từ điển). Cách tiếp cận này cho hiệu
suất cao đối với một lĩnh vực cụ thể như ngân hàng, bán lẻ,. . . Tuy nhiên
đòi hỏi có các kiến thức từ các chuyên gia trong lĩnh vực đó cũng như tiêu
tốn thời gian và công sức để xây dựng tập từ điển.

• Hướng tiếp cận máy học. Bằng cách chia nhỏ quá trình phân loại cảm xúc ra
thành nhiều thành phân nhỏ như POS, NER,. . . Ta có thể áp dụng các thuật
toán như quen thuộc như TF-IDF, SVM (Support Vector Machine),. . . để
giải quyết vấn đề. Tuy nhiên, phương pháp này cần một lượng dữ liệu văn
bản lớn (corpus) để huấn luyện mô hình. Tốc độ xử lý của mô hình cũng
là một vấn đề đáng được quan tâm khi ứng dụng các mô hình máy học vào
trong thực tế.

Trong khuôn khổ bài tiểu luận này, đối với bài toán "Phân tích cảm nghĩ của
người xem phim dựa trên các bình luận", ta sẽ phát triển theo hướng tiếp cận
máy học nhằm tìm hiểu sâu hơn cũng như áp dụng các thuật toán cơ bản trong
xử lý ngôn ngữ tự nhiên (đặc biệt là Tiếng Việt) vào trong thực tế.
Ở hướng phát triển tương lai, trong điều kiện cho phép, nhóm dự định sẽ tìm
hiểu sâu hơn về hướng tiếp cận học sâu cũng như đưa ra các cải thiện tốt hơn
với mô hình được trình bày trong bài tiểu luận này.
13
14 CHƯƠNG 3. HƯỚNG NGHIÊN CỨU

Hình 3.1: Áp dụng máy học trong phân tích sắc thái.

3.1 Xử lý dữ liệu

Ngay từ những năm học phổ thông, khi học môn tin học, chúng ta đều được
biết:

Chương trình = Dữ liệu + Thuật toán

Dữ liệu và thuật toán luôn song hành cùng nhau và hỗ trợ lẫn nhau. Cho dù
thuật toán tốt đến đâu cũng cần có dữ liệu để vận hành. Và ngược lại, dữ liệu
cần có thuật toán để xữ lý và đưa ra bài giải . Điều đó cũng đúng đối với cả
các ngành “thời thượng” hiện nay như khoa học dữ liệu, big data, xữ lý ngôn
ngữ tự nhiên,. . . mặc dù dữ liệu đầu vào ngày nay có thể là dữ liệu có cấu trúc
như dữ liệu trong database hoặc là dữ liệu không có cấu trúc như văn bản, hình
ảnh, âm thanh,. . .
So với dữ liệu có cấu trúc, dữ liệu phi cấu trúc sẽ phức tạp hơn rất nhiều và
cần áp dụng nhiều kỹ thuật để xử lý. Ví dụ như đối với dữ liệu được sử dụng
trong đề tài này là tập các bình luận của người dùng. Nhiều câu bình luận có
thể chứa các phần không cần thiết như cấu trúc <@Người dùng>, chứa các từ
không thuộc tiếng Việt như Tiếng Anh, “Teen code”, từ viết tắt, các từ không
dấu, . . . hoặc là các từ bị ẩn tự động do vi phạm chính sách. Các từ như vậy có
thể gây sai lệch kết quả thu được từ các thuật toán hoặc có thể gây ra lỗi hoặc
lỗ hỏng nếu không được xữ lý thích hợp.
Do đó việc thu thập và xữ lý dữ liệu cũng là một phần cực kỳ quan trọng
trong bài toán "Phân tích cảm nghĩ của người xem phim dựa trên các bình
luận".

3.1.1 Thu thập dữ liệu

Dữ liệu sử dụng trong tiểu luận được nhóm tác giả thu thặp bằng các kỹ thuật
crawl từ phần bình luận các phim ảnh, video clip và các chương trình truyền
hình thuộc website fptplay.vn. Dữ liệu thu được ở dạng thô sẽ có dạng:
3.1. XỬ LÝ DỮ LIỆU 15

<index><Bình luận><Tên phim, video hay chương trình truyền hình>


Các bình luận được ghi vào các tệp có định dạng CSV và mỗi tệp chứa 1000
bình luận. Việc lưu trữ như vậy cho phép dễ dàng kiểm soát thứ tự bình luận
và mức độ liên quan giữa các bình luận. Tạo thuận lợi trong quá trình thu thập
(phát hiện trùng, đánh dấu các trang con đã được thu thập, . . . ) và quá trình
xử lý (tăng tốc độ xử lý, hiểu được phần nào nội dung của một số bình luận
đặc biệt, . . . ).

3.1.2 Làm sạch dữ liệu

Đây là một bước quan trọng trong quá trình xử lý dữ liệu. Như đã trình bày,
các bình luận của người dùng là một loại dữ liệu không có cấu trúc và với số
lương lớn nên gây không ít khó khăn, trở ngại cho việc làm sạch. Vì vậy cần áp
dụng nhiều kỹ thuật và các thức khác nhau để làm sạch dữ liệu, đưa dữ liệu về
dạng phù hợp đối với mô hình.
Việc xử lý dữ liệu sau khi thu thập hay xử lý dữ liệu thô là một công đoạn
tốn rất nhiều thời gian và công sức. Do dữ liệu lúc nào có lẫn nhiều phần không
mong muốn, phần không cần thiết, . . . mà các phần này đôi khi chỉ có thể xử
lý được một phần bằng các dòng lệnh hoặc đôi khi phải xử lý hoàn toàn do con
người thao tác trực tiếp.
VD: Trong nhiều bình luận sẽ có chứa các user tag thường có cấu trúc @<tên
người dùng>:.Các user tag này có thể được loại bỏ bằng cách sử dụng biểu thức
chính quy @.*:. Tuy nhiên có thể xãy ra trường hợp user tag không có ký tự
":" và có thể xãy ra trường hợp người dùng cố tình nhập vào ký tự ":". Điều
đó đòi hỏi phải có sự can thiệp trực tiếp của người thao tác.
Ngoài ra, trong dữ liệu có thể xuất hiện các từ không thuộc Tiếng Việt, viết
tắt, "teen code" và các từ không có dấu,. . . Thậm chí, một số câu khiếm nhã,
bất lịch sự, cũng cần thao tác trực tiếp như loại bỏ hoặc chỉnh sửa. Tuy nhiên
cần cẩn thận và hạn chế tối đa thao tác này vì có thể gây ảnh hưởng đến bộ dữ
liệu như mất mát thông tin, mất cân bằng dữ liệu, gây sai lệch, . . .
Qua quá trình xử lý các tự động bằng biểu thức chính quy và thao tác trực
tiếp, ta thu được các câu có chuẩn mong muốn (chỉ chứa các từ tiếng Việt, các
icon, emoji thể thể hiện cảm xúc và một số từ viết tắt thông dụng). Sau đó loại
bỏ các cột <index>, <Tên phim, video hay chương trình truyền hình> và lưu
dữ liệu vào tệp .txt.
16 CHƯƠNG 3. HƯỚNG NGHIÊN CỨU

3.1.3 Gán nhãn dữ liệu

Việc gán nhãn cho bộ dữ liệu được hoàn thành một cách thủ công. Mỗi nhãn
của một qun sát sẽ có dạng:

__label__<Loại câu>#<Cảm xúc> <Bình luận>

Trong đó:
Loại câu Là nhãn khía cạnh thể loại của bình luận. Việc tồn tại nhãn này là
do nhóm nhằm tận dụng lại các bộ dự liệu có sắn của thư viện. Đồng thời đáp
ứng khả năng mở rộng phân tích hướng khía cạnh sau này. Tuy nhiên, hiện tại
nhãn nãy đều được đánh mặc định là MOVI_REVIEW và được bỏ qua trong
quá trình huấn luyện nhằm tăng độ chính xác và giảm độ phức tập cũng như
tăng tốc cho mô hình.
Cảm xúc Là nhãn cảm xúc của bình luận. Có ba loại nhãn đó là negative,
positive, neutral tương ứng với tiêu cực, tích cực, trung lập. Các dữ liệu với các
loại nhãn tương ứng được phân chia với số lương gần tương đương nhau nhằm
tránh mất cân bằng trong tập dữ liệu.
Bình luận Là bình luận của người dùng.
VD: Một điểm dữ liệu sẽ có dạng: <index><Bình luận><Tên phim, video
hay chương trình truyền hình>__label__MOVIE_REVIEW#positive phim
hay xuất sắc 5 sao.

3.1.4 Chia tập dữ liệu

Tập dữ liệu thu được sau khi xử lý và gán nhãn được kết hợp với bộ dữ liệu có
sẵn (chiếm một phần nhỏ) sau đó được chia ngẫu nhiên thành hai tập dữ liệu
là tập huấn luyện và tập kiểm tra. Tất nhiên là tỷ lệ các loại nhãn trong cả hai
tập đều đảm bảo tỷ lệ cân bằng nhau.

3.2 Trích xuất đặc trưng

Quá trình này được thực hiện khi đưa dữ liệu đào tạo vào trong mô hình. Ta sử
dụng công cụ pipeline của thư viện scikit-learn cho ngôn ngữ Python. Công cụ
này cho phép chúng ta định nghĩa các bước xử lý dữ liệu trước khi đưa vào mô
hình. Quy trình này còn được gọi là quá trình trích xuất đặc trưng từ dữ liệu.
3.3. XÂY DỰNG MÔ HÌNH 17

Các quá trình xử lý dữ liệu trong pipeline (các quá trình này là tách biệt với
nhau nhằm trích xuất được toàn bộ thông tin trong mỗi bình luận):

3.2.1 Chuẩn hoá

Đầu tiên ta đưa toàn bộ từ trong một bình luận về dạng chữ thường. Sau đó ta
đưa bình luận qua thuật toán TF-IDF nhằm truy xuất thông tin (tầm quang
trọng của một từ) trong bình luận.

3.2.2 Trích xuất thông tin toàn bộ

Ở quá trình này, bình luận được đưa vào thuật toán TF-IDF để xử lý. Tuy
nhiên, ở đây việc chuẩn hoá dữ liệu được áp dụng cho từng ký tự nhằm tính
toán tần suất đối với cả các ký tự đặc biệt.

3.2.3 Loại bỏ ký tự đặc biệt

Bình luận khi đưa vào sẽ được loại bỏ các ký tự đặc biệt, các emoji, ... sau đó
đi qua thuật toán TF-IDF để tính toán tần suất của từ.

3.2.4 Đếm emoji

Đây là một bước đặc biệt trong trích xuất đặc trưng. Do trong các bình luận
thể hiện quan điểm cá nhân, người dùng thường đưa vào các emoji thể hiện
cảm xúc của mình như vui, thích, buồn, không thích, ... Đặc biệt, rất nhiều
bình luận chỉ có emoji mà không có bất cứ ký tự nào khác. Do đó các emoji
cũng đem lại nhiều thông tin khi xử lý bình luận. Bước này đơn giản là đếm
các emoji hay các ký tự đặc biệt đã được định nghĩa sẵn có trong câu và đưa
ra điểm số.

3.3 Xây dựng mô hình

Thuật toán phân loại chính được sử dụng trong mô hình là thuật toán SVM-
Support Vector Machine.

3.3.1 Thuật toán SVM (Support Vector Machine)

Thuật toán SVM là một thuật toán cơ bản nhưng rất hiệu quả trong bài toán
phân lớp mà dữ liệu đầu vào có số chiều lớn. SVM có tính tổng quát cao nên
18 CHƯƠNG 3. HƯỚNG NGHIÊN CỨU

Hình 3.2: Mô hình xử lý

có thể được áp dụng cho nhiều loại bài toán nhận dạng và phân loại.
Ý tưởng của SVM là tìm một siêu phẳng (hyper lane) để phân tách các điểm
dữ liệu. Siêu phẳng này sẽ chia không gian thành các miền khác nhau và mỗi
miền sẽ chứa một loại giữ liệu.
Ưu điểm của SVM:

• SVM là một công cụ tính toán hiệu quả trong không gian với số chiều cao.
• Tiết kiệm bộ nhớ: Do chỉ có một tập con của các điểm dữ liệu được sử dụng
trong quá trình huấn luyện và dự đoán với các điểm dữ liệu mới nên chỉ có
những điểm cần thiết mới được lưu trữ trong bộ nhớ.

• Khả năng áp dụng Kernel mới cho phép linh động giữa các phương pháp
tuyến tính và phi tuyến tính từ đó khiến cho hiệu suất phân loại lớn hơn.

3.3.2 Mô hình cơ sở

Trong bài mô hình này, nhóm quyết định sử dụng thuật toán SVC trong thư
viện Sklearn. SVC là một hiện thực của SVM trong thư viện Sklearn. SVC dựa
trên ngôn ngữ C nên cho ta tốc độ xử lý nhanh.
Như đã trình bày ở trên, ta sử dụng tính năng pipeline của thư viện Sklearn
với bộ phân lớp là SVC và dữ liệu được đưa vào bốn bộ trích xuất đăc trưng
3.3. XÂY DỰNG MÔ HÌNH 19

độc lập với nhau nhằm tối đa lượng thông tin lấy được.

3.3.3 Đánh giá mô hình

Nhằm đánh giá mô hình, ta sử dụng cách tính điểm F1-score tính toán trên
toàn các dự đoán đúng và dự đoán sai của mô hình. Với thư viện Sklearn Ta
đưa vào tham số average=’micro’.
20 CHƯƠNG 3. HƯỚNG NGHIÊN CỨU
Tài liệu tham khảo

[1] Bing Liu. SENTIMENT ANALYSIS. Cambridge University Press, 2015.

21

You might also like