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

Xác định ý định người dùng trên mạng xã hội Twitter (LV thạc sĩ)

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.82 MB, 66 trang )

HỌC VIỆN CÔNG NGHỆ BƢU CHÍNH VIỄN THÔNG
---------------------------------------

NGÔ BẢO TUẤN

XÁC ĐỊNH Ý ĐỊNH NGƢỜI DÙNG TRÊN MẠNG XÃ HỘI
TWITTER

LUẬN VĂN THẠC SĨ KỸ THUẬT
(Theo định hướng ứng dụng)

HÀ NỘI - 2017


HỌC VIỆN CÔNG NGHỆ BƢU CHÍNH VIỄN THÔNG
---------------------------------------

NGÔ BẢO TUẤN

XÁC ĐỊNH Ý ĐỊNH NGƢỜI DÙNG TRÊN

MẠNG XÃ HỘI TWITTER

Chuyên ngành: Hệ thống thông tin
Mã số: 60.48.01.04
LUẬN VĂN THẠC SĨ KỸ THUẬT
(Theo định hướng ứng dụng)

NGƢỜI HƢỚNG DẪN KHOA HỌC: TS. NGÔ XUÂN BÁCH

HÀ NỘI – 2017




i

LỜI CAM ĐOAN
Tôi cam đoan đây là công trình nghiên cứu của riêng tôi.
Các số liệu, kết quả nêu trong luận văn là trung thực và chƣa từng đƣợc ai
công bố trong bất kỳ công trình nào khác.

Tác giả luận văn ký và ghi rõ họ tên

Ngô Bảo Tuấn


ii

LỜI CẢM ƠN
Trƣớc tiên, tôi xin bày tỏ lời cảm ơn sâu sắc đến các thầy cô giáo trong khoa
sau Đại Học nói riêng và các thầy cô giáo của trƣờng Học Viện Công Nghệ Bƣu
Chính Viễn Thông nói chung lời cảm ơn chân thành nhất.
Đặc biệt, tôi xin gửi lời cảm ơn sâu sắc tới TS. Ngô Xuân Bách ngƣời đã tận
tình chỉ bảo, hƣớng dẫn tôi trong suốt quá trình tìm hiểu, nghiên cứu để hoàn thành
luận văn tốt nghiệp của mình. Nếu không có những hỗ trợ về kiến thức chuyên môn
của thầy thì chắc chắn tôi không thể hoàn thành đúng thời hạn.
Đồng thời, tôi xin cảm ơn tới gia đình, những ngƣời thân yêu luôn bên
cạnh, động viên, giúp đỡ tôi trong suốt quá trình học tập. Bên cạnh đó tôi cũng xin
gửi lời cảm ơn đến các anh chị và các bạn trong lớp B12CQIS02 đã chia sẻ những
kinh nghiệm, kiến thức quý báu cho tôi trong quá trình nghiên cứu thực hiện luận
văn.
Thời gian thực hiện luận văn còn khá ngắn, kinh nghiệm về lĩnh vực xử lý

ngôn ngữ tự nhiên của bản thân còn hạn chế, luận văn cũng còn nhiều thiếu sót rất
mong nhận đƣợc những ý kiến đóng góp của quý Thầy Cô và các bạn để tôi có thể
hoàn thiện luận văn một cách tốt nhất.
Hà Nội, ngày 27, tháng 6 , năm 2017


iii

MỤC LỤC
LỜI CAM ĐOAN ....................................................................................................... i
LỜI CẢM ƠN ............................................................................................................ ii
MỤC LỤC ................................................................................................................. iii
BẢNG DANH MỤC THUẬT NGỮ TIẾNG ANH....................................................v
DANH MỤC BẢNG BIỂU ...................................................................................... vi
DANH MỤC HÌNH ................................................................................................. vii
DANH MỤC SƠ ĐỒ .............................................................................................. viii
LỜI NÓI ĐẦU ............................................................................................................1
CHƢƠNG 1 GIỚI THIỆU BÀI TOÁN PHÂN LOẠI Ý ĐỊNH NGƢỜI DÙNG ......3
1.1.

Bài toán phân loại ý định ngƣời dùng trên mạng xã hội Twitter ..................3

1.2.

Các nghiên cứu cho bài toán phân loại ý định ngƣời dùng hiện nay ............6

1.2.1.

Các kỹ thuật liên quan đến bài toán phân loại ý định ngƣời dùng ......... 6


1.2.2.

Các nghiên cứu liên quan đến bài toán phân loại ý định ngƣời dùng..... 6

1.3.

Kết quả đạt đƣợc ............................................................................................ 7

1.4.

Tổng kết chƣơng ............................................................................................ 8

CHƢƠNG 2 PHƢƠNG PHÁP HỌC MÁY CHO BÀI TOÁN PHÂN LOẠI Ý
ĐỊNH NGƢỜI DÙNG TRÊN MẠNG XÃ HỘI TWITTER ...................................... 9
2.1. Giải pháp phân loại ý định ngƣời dùng trên mạng xã hội Twitter ................... 9
2.2.

Tiền xử lý dữ liệu ........................................................................................ 12

2.2.1.

Khái niệm .............................................................................................. 12

2.2.2.

Lọc nhiễu (loại bỏ từ không mang nghĩa)............................................. 12

2.2.3.

Loại bỏ các từ phổ biến (stop word) ..................................................... 12


2.3.

Trích chọn đặc trƣng.................................................................................... 14

2.3.1.

Đặc trƣng N-Grams .............................................................................. 14

2.3.2.

Đặc trƣng Word vector (Glove vector) ................................................. 18

2.3.3.

TF-IDF (term frequency – inverse document frequency)[13][14] ........ 22

2.4.

Các thuật toán học máy ............................................................................... 23

2.4.1.

Máy véc tơ hỗ trợ SVM (Support Vector Machine) ............................. 23


iv

2.4.2.


Thuật toán Naïve Bayes ........................................................................ 27

2.4.3.

Mô hình Maximum Entropy Model cực đại (MEM) ............................ 30

CHƢƠNG 3 THỰC NGHIỆM VÀ ĐÁNH GIÁ ...................................................... 34
3.1.

Dữ liệu thực nghiệm .................................................................................... 34

3.2.

Thiết lập thực nghiệm .................................................................................. 35

3.2.1.

Yêu cầu cho thực nghiệm ..................................................................... 35

3.2.2.

Cách thức thực nghiệm ......................................................................... 35

3.2.3.

Cách thức đánh giá ............................................................................... 36

3.3.

Công cụ và cách thức thực nghiệm ............................................................. 39


3.3.1.

Công cụ Weka [19][20] ........................................................................ 39

3.3.2.

Giới thiệu chuẩn dữ liệu đầu vào cho thực nghiệm (ARFF) ................ 41

3.4.

Tiến hành thực nghiệm và đánh giá kết quả thực nghiệm với hai nhãn ý

định ..................................................................................................................... 43
3.4.1.

Kết quả thực nghiệm với các thuật toán áp dụng cho hai nhãn ý định . 43

3.4.2.

Kết quả thực nghiệm thuật toán SVM với các đặc trƣng khác nhau cho

bài toán phân hai nhãn ý định ............................................................................. 45
3.5.

Tiến hành thực nghiệm và đánh giá kết quả thực nghiệm với bảy nhãn ý

định ..................................................................................................................... 46
3.6.


Phƣơng pháp kết hợp nâng cao độ chính xác cho bài toán phân loại ý

định .................................................................................................................. 49
KẾT LUẬN ............................................................................................................... 52
DANH MỤC TÀI LIỆU THAM KHẢO .................................................................. 54
DANH MỤC WEBSITE THAM KHẢO ................................................................. 55
PHỤ LỤC .................................................................................................................. 56


v

BẢNG DANH MỤC THUẬT NGỮ TIẾNG ANH
TỪ VIẾT TẮT

Ý NGHĨA

Atrribute Regation File
Format

ARFF

Định dạng tập tin thuộc tính liên quan

Accuracy

ACC

Mức độ dự đoán (phân lớp) chính xác
của hệ thống


Maximum Entropy
Model

MEM

Thuật toán Entropy cực đại

TỪ TIẾNG ANH

Naïve Bayes

NB

Thuật toán Naive Bayes

Natural Language
Processing

NLP

Xử lý ngôn ngữ tự nhiên
Là tần suất xuất hiện của n kí tự
( hoặc từ ) liên tiếp nhau có trong dữ
liệu

N-grams
Support Vector Machine

SVM


Máy vector hỗ trợ

Precision

Độ chính xác trong tập dữ liệu tìm
đƣợc thì bao nhiêu cái (phân loại)
đúng

Recall

Độ hồi tƣởng trong số các tồn tại, tìm
ra đƣợc bao nhiêu cái (phân loại).

Term frequency –
inverse document
frequency

Trọng số của một từ trong văn bản thu
đƣợc qua thống kê thể hiện mức độ
quan trọng của từ

TF-IDF

Tweets

Trạng thái ngƣời dùng trên mạng xã
hội Twitter

Twitter


Mạng xã hội twitter

Weka

Bộ phần mềm học máy

Word vector (Glove
vector)

chỉ là một vector trọng số


vi

DANH MỤC BẢNG BIỂU
Biểu đồ 1.1 : Số lƣợng ngƣời sử dụng một số mạng xã hội lớn [11] ..........................3
Bảng 3.1: Số lƣợng tweet của mỗi nhãn ...................................................................34
Bảng 3.2.: Cấu trúc file dữ liệu dataset.txt ................................................................35
Bảng 3.3 : Ma trận nhầm lẫn (Confusion Matrix )...................................................37
Bảng 3.4: Kết quả thực nghiệm giữa các thuật toán với đặc trƣng N-gram .............44
Biểu đồ 3.1 : So kết quả thực nghiệm giữa các thuật toán với đặc trƣng N-gram (2
nhãn) ..........................................................................................................................44
Bảng 3.5 : Kết quả thực nghiệm giữa thuật toán SVM và các đặc trƣng khác nhau 45
Biểu đồ 3.2 : So kết quả thực nghiệm giữa các đặc trƣng bằng thuật toán SVM (hai
nhãn) ..........................................................................................................................46
Bảng 3.6 : Kết quả thực nghiệm với các phƣơng pháp học máy với đặc trƣng Ngram (bảy nhãn ý định) .............................................................................................47
Biểu đồ 3.3.: Độ đo F1 từng nhãn ý định với đặc trƣng Unigram (thuật toán SVM)
...................................................................................................................................47
Bảng 3.7: Kết quả thực nghiệm SVM với các phƣơng pháp học máy (bảy nhãn ý
định) ..........................................................................................................................48

Biểu đồ 3.4.: Độ đo F1 từng nhãn ý định với đặc trƣng Glove vector(thuật toán
SVM) .........................................................................................................................49
Bảng 3.8: Kết quả thực nghiệm kết hợp Glove Vector và N-gram (2 nhãn)(SVM) .50
Bảng 3.9. So sánh phƣơng pháp kết hợp Glove Vector đặc trƣng N-gram (SVM)(2
nhãn) ..........................................................................................................................50
Bảng 3.10. Với phƣơng pháp kết hợp Glove Vector và BiGram ( đặc trƣng N-gram)
...................................................................................................................................51


vii

DANH MỤC HÌNH
Hình 2.1 : Các từ file stop_words.txt ........................................................................13
Hình 2.2. File dataset2_stop.txt.................................................................................13
Hình 2.3: File từ điển tudien.txt ................................................................................17
Hình 2.4: Một phần tập tin định dạng dữ liệu cho Weka ..........................................18
Hình 2.5: Biểu diễn từ điển với 5 từ King, Queen, Man, Woman, và Child [10] ....19
Hình 2.6: Xác suất đồng xảy ra với các từ ice và steam với những từ đƣợc chọn
[10] ............................................................................................................................19
Hình 2.7: Một phần tập tin Glove6B_300d.txt .........................................................21
Hình 2.8: Một phần file “Glove_vector300D2.txt” ..................................................21
Hình 2.9. Biểu diễn trong TF - IDF ..........................................................................22
Hình 2.10: Ánh xạ dữ liệu từ không gian gốc sang không gian đặc trƣng cho phép
phân chia dữ liệu bởi siêu phẳng [11][12] ................................................................24
Hình 2.11: Siêu phẳng với lề cực đại cho phép phân chia các hình vuông khỏi các
hình tròn trong không gian đặc trọng [11][16] .........................................................25
Hình 2.12: Minh họa bài toán phân 2 lớp bằng phƣơng pháp SVM [12] .................26
Hình 3.1. Giao diện weka ver 3.6.10 [20] .................................................................39
Hình 3.2: Giao diện khi chọn một tập tin để thực nghiệm [11][20] .........................40
Hình 3.3: Giao diện weka khi tiến hành thực nghiệm [20] .......................................40

Hình 3.4: Khuân dạng của tập dữ liệu dạng chuẩn Arff [21]....................................41
Hình 3.5: Ví dụ minh họa một phần biểu diễn ARFF linh hoạt [21] ........................43


viii

DANH MỤC SƠ ĐỒ
Sơ đồ 2.1: Mô hình giai đoạn huấn luyện [9] ...........................................................10
Sơ đồ 2.2 : Mô hình giai đoạn phân lớp [9] .............................................................11


1

LỜI NÓI ĐẦU
Trong những năm gần đây, nhu cầu sử dụng mạng xã hội của ngƣời dùng
không ngừng tăng lên, các mạng xã hội phổ biến nhƣ là Facebook, Twitter,
Instagram ngày càng phát triển. Con ngƣời sử dụng mạng xã hội không chỉ để giải
trí nhƣ: cập nhật trạng thái, kết bạn, tán gẫu, nói chuyện mà họ còn dùng mạng xã
hội nhƣ một nơi để chia sẻ thông tin, trao đổi những nhu cầu, mong muốn, ý định
hay dự định họ nữa. Xuất phát từ thực tế đó việc xác định, phân loại những mong
muốn, ý định của ngƣời dùng sẽ mang lại giá trị thƣơng mại, dịch vụ rất lớn.
Trong luận văn này, chúng tôi tập trung vào bài toán xác định và phân loại ý
định ngƣời dùng trên mạng xã hội Twitter. Đây là bài toán có đầu vào là dòng trạng
thái đƣợc ngƣời dùng đăng lên mạng xã hội Twitter, đó có thể là những chia sẻ của
họ về mọi thứ xung quanh và chúng ta cần phải xác định xem các chia sẻ, các dòng
trạng thái đó có chứa ý định gì hay không? Nếu dòng trạng thái có ý định của ngƣời
dùng thì nhu cầu, mong muốn, ý định.. của ngƣời dùng đó là gì: du lịch, đồ ăn &
thức uống, nghề nghiệp & giáo dục, hàng hóa & dịch vụ, sự kiện & hoạt động,
không có ý định cụ thể. Bên cạnh đó, không phải tất cả những chia sẻ của ngƣời
dùng đều thể hiện ý định rõ ràng và là nguồn dữ liệu, tài nguyên có ích. Vì vậy, luận

văn sẽ tập trung chủ yếu vào xác định và phân loại các dòng “tweets” có chứa ý
định ngƣời dùng trên mạng xã hội Twitter. Việc xác định, phân loại ý định của
ngƣời dùng đã và đang là đề tài nghiên cứu thời sự, mang tính cấp thiết hiện nay.
Với doanh nghiệp hay các nhà cung cấp dịch vụ việc biết đƣợc ý định, mong muốn
của ngƣời dùng sẽ giúp họ cải tiến tốt hơn sản phẩm, hệ thống của mình để đảm bảo
cung cấp đúng nội dung khách hàng cần, mở rộng số lƣợng ngƣời dùng quan tâm,
quảng bá thƣơng hiệu, hình ảnh. Hơn thế nữa, kết quả của bài toán phân loại ý định
ngƣời dùng có thể đƣợc ứng dụng làm đầu vào cho nhiều nghiên cứu khác nhƣ xây
dựng hệ tƣ vấn xã hội dựa trên ý định ngƣời dùng, dự đoán sở thích ngƣời dùng, dự
đoán xu hƣớng tƣơng lai..
Luận văn “Xác định ý định người dùng trên mạng xã hội Twitter” thực
hiện khảo sát, nghiên cứu các phƣơng pháp xây dựng hệ thống phân loại ý định
đƣợc quan tâm nhất hiện nay. Từ đó đƣa ra phƣơng pháp phân loại ý định phù hợp
nhất cho hệ thống phân loại ý định bằng tiếng Anh. Dựa trên những hƣớng tiếp cận
đã đề cập ở trên, trong luận văn này, chúng tôi tiến hành áp dụng làm thực nghiệm
dựa trên sự kết hợp một số đặc trƣng ngôn ngữ tiếng Anh.


2

Các đặc trƣng này sẽ đƣợc biểu diễn dƣới dạng vector và làm đầu vào cho
các thuật toán. Sau khi thu đƣợc kết quả của ba mô hình phân lớp Support Vector
Machine[8], Maximum Entropy Model [6] và Naive Bayes [7], luận văn sử dụng
phƣơng pháp lập sơ đồ để kiểm tra và lựa chọn kết quả tốt nhất.
Nội dung của luận văn gồm 03 chƣơng:
Chƣơng 1: Giới thiệu bài toán phân loại ý định ngƣời dùng
Nội dung của chƣơng, tổng quan nhất về ý định ngƣời dùng trên mạng xã
hội, bài toán phân loại ý định ngƣời dùng với dữ liệu mạng xã hội Twitter và cuối
cùng là hƣớng tiếp cận nhằm giải quyết bài toán đề ra.
Chƣơng 2: Phƣơng pháp học máy cho bài toán phân loại ý định ngƣời

dùng trên mạng xã hội Twitter
Nội dung của chƣơng là trình bày một số phƣơng pháp trích chọn lấy đặc
trƣng để giải quyết bài toán, các phƣơng pháp học máy thống kê đƣợc sử dụng để
tiến hành thực nghiệm cho bài toán phân loại ý định ngƣời dùng dựa trên dữ liệu
mạng xã hội Twitter.
Chƣơng 3: Thực nghiệm và đánh giá
Nội dung chƣơng nhằm nêu rõ và chi tiết các bƣớc trong quá trình giải quyết
bài toán. Trong chƣơng này cũng sẽ trình bày quá trình thực hiện và thực nghiệm,
đƣa ra một số đánh giá, nhận xét các kết quả thu đƣợc.
Phần kết luận: Tóm lƣợc những kết quả đạt đƣợc của luận văn. Đồng thời đƣa ra
những hạn chế, những điểm cần khắc phục và đƣa ra định hƣớng nghiên cứu trong
thời gian sắp tới.


3

CHƢƠNG 1
GIỚI THIỆU BÀI TOÁN PHÂN LOẠI Ý ĐỊNH NGƢỜI
DÙNG
Trong chƣơng này, luận văn trình bày cái nhìn tổng quan về bài toán phân loại
ý định ngƣời dùng, các cách tiếp cận bài toán, các nghiên cứu liên quan và kết quả
luận văn đã đạt đƣợc.
1.1. Bài toán phân loại ý định ngƣời dùng trên mạng xã hội Twitter
Những năm qua, sự phát triển không ngừng của mạng Internet và sự ra đời
của các thiết bị kết nối thông minh nhƣ máy tính bảng, điện thoại thông minh đã
kéo theo sự phát triển của các phƣơng tiện truyền thông xã hội cũng nhƣ các trang
mạng xã hội nhƣ Twitter, Facebook, Google+, .. Hiện nay, ngoài Facebook thì
Twitter cũng là mạng xã hội phổ biến nhất. Bảng bên dƣới là một vài con số thống
kê về số lƣợng ngƣời sử dụng các trang mạng xã hội.
Biểu đồ 1.1 : Số lƣợng ngƣời sử dụng một số mạng xã hội lớn [11]


Đơn vị: Tỷ người
2.5

2

1.5

Facebook
Twitter

1

Google+

0.5

0
2015

2016

Qúy I - 2017

Nhƣ đã biết, Facebook vẫn chiếm lƣợng lớn ngƣời dùng, dấu hiệu cho thấy
Facebook còn tiếp tục tăng trong những năm tới. Bên cạnh đó là Google+ cũng nhƣ
các mạng xã hội khác đều có những bƣớc phát triển riêng.


4


Đối với mạng xã hội Twitter những năm gần đây đã nắm bắt những xu hƣớng
mới của ngƣời dùng, để từ đó phát triển mạnh mẽ hơn, tăng cƣờng thêm những ảnh
hƣởng mình trên thế giới Internet. Theo thống kê hiện nay có khoảng 410 triệu
ngƣời sử dụng Twitter thƣờng xuyên hàng tháng và khoảng 54% ngƣời sử dụng
hàng tháng đang hoạt động mỗi ngày ở 20 thị trƣờng hàng đầu [11]. Với Twitter,
ngƣời dùng có xu hƣớng thể hiện bản thân và sẵn sàng chia sẻ các hoạt động, cảm
xúc, suy nghĩ, mong muốn của mình bởi vậy việc chia sẻ một bài viết, hay cập nhật
những trạng thái thông qua Twitter trở thành một phần tất yếu trong cuộc sống hàng
ngày của rất nhiều ngƣời. Kết quả, những bài đăng, những trạng thái của ngƣời
dùng chia sẻ trên Twitter có thể phản ánh quan điểm, ý kiến cá nhân và cả ý định
của họ. Các bài viết có mục đích của ngƣời dùng nhƣ vậy chính là một nguồn tài
nguyên quan trọng cho việc phân tích ý định [1] ví dụ nhƣ : “Tôi muốn đi biển Nha
Trang du lịch, ở Nha Trang thắng cảnh rất đẹp” chỉ ra rất rõ ràng về ý định của
ngƣời dùng là “muốn đi du lịch”.
Chính từ sự cấp thiết đó, bài toán phát hiện và khai thác ý định của ngƣời sử
dụng trên mạng xã hội Twitter ra đời có tác động rất lớn đến các nhà cung cấp sản
phẩm/dịch vụ, chẳng hạn nhƣ: Các công ty đại chúng, chính phủ hoặc tổ chức phi
lợi nhuận sẽ giúp ích cho họ tìm hiểu rõ hơn về mong muốn của khách hàng và từ
đó cải thiện chất lƣợng dịch vụ, hƣớng ngƣời dùng đến sản phẩm, dịch vụ của họ
hoặc tạo ra các chiến lƣợc quảng cáo mang lại nhiều lợi nhuận nhất. Ở ví dụ trên
“Tôi muốn đi biển Nha Trang du lịch, ở Nha Trang thắng cảnh rất đẹp” ý định của
ngƣời dùng là muốn đi du lịch dựa vào ý định đó các tour du lịch, hay công ty lữ
hành có thể đƣa ra quảng cáo, chiến lƣợc marketing, giới thiệu về các địa điểm du
lịch, bãi biển, khu nghỉ dƣỡng, khách sạn hay đơn giản đồ ăn thức uống của từng
địa điểm du lịch để khách hàng lựa chọn. Những quảng cáo này hƣớng trực tiếp tới
khách hàng có nhu cầu, giúp tìm kiếm khách hàng nhanh hơn, hiệu quả cao hơn và
đặc biệt giảm tối thiểu chi phí quảng cáo nhƣng vẫn mang lại lợi nhuận tối đa.
Mục đích của bài toán: Xác định, phân loại đƣợc ý định ngƣời dùng về việc
mua bán sản phẩm, dịch vụ, du lịch, ăn uống hay bất kỳ thứ gì có ý định mà họ chia

sẻ trên mạng xã hội Twitter.
Đầu vào: Các bài đăng hay còn gọi là các dòng “tweets” ngƣời dùng chia sẻ trên
mạng xã hội Twitter.
Đầu ra: Phân loại đƣợc ý định có trong các dòng tweets đã thu thập đƣợc.


5

Phân loại ý định hay bản chất là phân loại văn bản có thể thực hiện ở cấp câu
cũng nhƣ cấp đoạn văn bản, mỗi câu sẽ đƣợc xác định là có ý định hay không có ý
định, nếu có ý định sẽ đƣợc chia làm 07 loại ý định cho trƣớc, cụ thể:
Thực phẩm & Đồ uống: Ngƣời dùng nói đến hay đề cập đến thực phẩm hoặc
đồ uống. Có thể đó cũng là sở thích ăn uống của họ và các quan điểm về các món
ăn, đồ uống. Ví dụ:
“I love to bake cookies !! <3”
(Tôi thích bánh quy nướng !! <3)
Du lịch: Ngƣời dùng đang hứng thú/quan tâm với các chuyến đi, địa điểm đặc
biệt đang quan tâm đến thăm một số địa điểm, địa danh cụ thể. Ví dụ:
“I love summertime in chicago . Now all i need to enjoy it is a long vacation.”
(Tôi thích mùa hè ở chicago. Tất cả những gì tôi muốn bây giờ là một kỳ nghỉ dài
ở đó).
Nghề nghiệp & Giáo dục: Ngƣời dùng muốn có đƣợc một công việc, một
chứng chỉ/bằng cấp hoặc một công việc phù hợp với trình độ học vấn nào đó. Ví dụ:
“I wanna be a model”
(Tôi muốn trở thành một người mẫu).
Hàng hóa & Dịch vụ : Ngƣời dùng quan tâm hoặc muốn có một số sản phẩm
(không phải đồ ăn và thức uống) hoặc các dịch vụ đáp ứng nhu cầu bản thân. Ví dụ:
“I wanna buy a car”. (Tôi muốn mua một chiếc ô tô).
Sự kiện & Hoạt động: Ngƣời dùng muốn tham gia một sự kiện hay một hoạt
động nào đó. Ví dụ:

“I wanna learn the dance by MICHAEL JACKSON haha.”
(Tôi muốn học nhảy bởi MICHAEL JACKSON haha.)
Ý định khác: Là những dòng “tweet” không có ý định cụ thể, hoặc chỉ là
những cuộc nói chuyện phiếm về thói quen hàng ngày, hay một số chuyện lặt vặt,
hoặc không có ý định rõ ràng. Ví dụ:
“I really don't want to get up and get dressed for work”
(Tôi không muốn thức dậy và mặc quần áo đi làm)


6

Không có ý định cụ thể: Đây đƣợc coi là những dòng “tweet” không cho ta bất
cứ thông tin nào về ý định của ngƣời dùng.
“I just don't know myself anymore”
(Tôi không biết đến chính bản thân mình nữa).
Ví dụ về bài toán phân loại ý định:
Đầu vào :
I wanna go to the beach , but ... Where is the people ? They never take the
phone.
(Tôi muốn đến bãi biển, nhưng .. mọi người đâu hết rồi ? Họ không mang
theo điện thoại)
Đầu ra :
Có ý định : (Travel- Du lịch)
1.2. Các nghiên cứu cho bài toán phân loại ý định ngƣời dùng hiện nay
Việc khai thác ý định từ nguồn dữ liệu mạng xã hội Twitter (tiếng Anh) chắc
chắn sẽ phải dựa vào hệ thống học máy, những kết quả nghiên cứu về dữ liệu văn
bản và các kỹ thuật xử lý đã đƣợc phát triển trƣớc đó.
1.2.1. Các kỹ thuật liên quan đến bài toán phân loại ý định người dùng
Bài toán phân loại ý định của ngƣời dùng sử dụng phƣơng pháp phân lớp. Phân
lớp (hay phân loại) là một tiến trình xử lý nhằm xếp các mẫu dữ liệu hay các đối

tƣợng vào một trong các lớp đã đƣợc định nghĩa trƣớc. Các thuật toán phân lớp tiêu
biểu bao gồm: Cây quyết định (Decision Tree)[11], máy vector hỗ trợ (Support
Vector Machine - SVM) [8], K láng giềng gần nhất (K-NN) [12], Maximum
Entropy Model (MEM) [6], Naïve Bayes [7]. Trong luận văn của mình, tôi tiến
hành thực nghiệm với ba thuật toán tƣơng đƣơng ba mô hình phân lớp tiêu biểu là:
Support Vector Machine[8], Maximum Entropy Model [6] và Naive Bayes [7].
1.2.2. Các nghiên cứu liên quan đến bài toán phân loại ý định người
dùng
“Nghiên cứu của Jinpeng Wang và các cộng sự về phương pháp học máy bán
giám sát, phân loại ý định cho dữ liệu trên Twitter. Công trình nghiên cứu này dựa


7

trên phƣơng pháp học máy bán giám sát, sử dụng các tập đặc trƣng để phân loại ý
định với kết quả cao nhất là 58.64%.
“Trích xuất ý định người dùng mua hàng trên mạng xã hội sử dụng phương
pháp suy luận các mô hình”. Công trình nghiên cứu luận văn thạc sĩ của tác giả
Doãn Huyền Trang trƣờng Đại Học Công nghệ, đại học Quốc gia Hà Nội sử dụng
phƣơng pháp suy luận các mô hình vào bài toán khai thác ý định mua hàng ngƣời
dùng trên mạng xã hội cụ thể là trên Facebook dựa vào hành vi đăng tải và bình
luận của họ trên các trang bán hàng.
“Phân loại văn bản với máy học vector hỗ trợ”: Nghiên cứu của Trần Cao Đệ
và Phạm Nguyên Khang đăng trên Tạp chí Khoa học 2012 sử dụng công cụ SVM
áp dụng cho bài toán gán các nhãn phân loại lên một văn bản.
“Phân loại văn bản dựa trên rút trích tự động tóm tắt của văn bản”: Bài báo
khoa học của tác giả Trƣơng Quốc Định Khoa Công nghệ thông tin & Truyền
thông, Trƣờng Đại học Cần Thơ sử dụng máy học vectơ hỗ trợ để phân lớp văn bản
và thực hiện đối chiếu, so sánh giải với phƣơng pháp phân loại khác.
„‟Phân tích ý định của người dùng trong văn bản ngôn ngữ tự nhiên” của tác

giả Kröll, M., & Strohmaier, M. (2009, September) đăng trên hội nghị kỷ yếu lần
thứ mƣời lăm về vấn đề thu thập tri thức (pp. 197-198) tập chung vào việc thực hiện
việc phân tích, phân loại ý định cụ thể của ngƣời dùng.
1.3. Kết quả đạt đƣợc
Luận văn cơ bản đã đáp ứng đƣợc yêu cầu giải quyết bài toán phân loại ý định
ngƣời dùng trên mạng Twitter. Luận văn tập trung vào việc dự đoán các dòng
“tweets” trạng thái mà ngƣời dùng chia sẻ có chứa ý định hay không, nếu có chứa ý
định thì sẽ phân loại vào các nhãn cho trƣớc [1]. Bằng việc nghiên cứu phƣơng
pháp học máy nhƣ : máy vector hỗ trợ Support Vector Machine (SVM) [8],
Maximum Entropy Model [6], Naive Bayes [7] và các phƣơng trích chọn đặc trƣng
: N-gram [17], Word vector (Glove vector) [10], TF -IDF (term frequency – inverse
document frequency) [13][14] áp dụng cho bài toán phân loại để đƣa ra các giải
pháp nhằm giải quyết bài toán phân loại ý định ngƣời dùng trên mạng xã hội
Twitter bằng tiếng Anh. Từ đó, kiểm tra, đánh giá kết quả thực nghiệm trên tập dữ
liệu cho trƣớc. Đây cũng chính là tiền đề để giải quyết bài toán phân loại ý định
ngƣời dùng trên các mạng xã hội khác không chỉ riêng trên mạng xã hội Twitter .


8

1.4. Tổng kết chƣơng
Trong chƣơng này chúng tôi giới thiệu khái quát về bài toán phân loại ý định,
cách phân loại ý định ngƣời dùng và các vấn đề liên quan đến học máy. Ở chƣơng
tiếp theo, chúng tôi sẽ làm rõ các vấn đề của bài toán phân loại ý định ngƣời dùng,
các kỹ thuật học máy liên quan, các phƣơng pháp trích chọn đặc trƣng để phân loại
ý định và giải quyết bài toán.


9


CHƢƠNG 2
PHƢƠNG PHÁP HỌC MÁY CHO BÀI TOÁN PHÂN LOẠI Ý
ĐỊNH NGƢỜI DÙNG TRÊN MẠNG XÃ HỘI TWITTER
Trong chƣơng 2, luận văn tập chung trình bày một số phƣơng pháp trích chọn
lấy đặc trƣng cho bài toán phân loại văn bản (tiếng Anh) gồm có đặc trƣng : N-gram
[17], Word vector (Glove vector) [10], TF -IDF (term frequency – inverse
document frequency) [13][14]. Ngoài ra, luận văn sẽ tìm hiểu các thuật toán đƣợc
sử dụng khi làm thực nghiệm: Support Vector Machine (SVM) [8], Maximum
Entropy Model (MEM) [6] và Naive Bayes [7]
2.1. Giải pháp phân loại ý định ngƣời dùng trên mạng xã hội Twitter
Qua quá trình nghiên cứu, tập hợp các dòng trạng thái trên mạng xã hội Twitter,
chúng tôi đã thu thập đƣợc tập các nội dung chia sẻ về những vấn đề xung quanh
của ngƣời dùng gồm 2130 dòng “tweets” trạng thái [1], mục đích của chúng tôi là
xác định nội dung đó có chứa ý định hay không, và nếu có ý định thì ý định đó là gì:
du lịch, thực phẩm & đồ uống, nghề nghiệp & giáo dục, sự kiện & hoạt động, hàng
hóa & dịch vụ, các ý định khác [1].
Đầu vào: Các bài đăng hay còn gọi là các dòng “tweets” ngƣời dùng chia sẻ trên
mạng xã hội Twitter.
Đầu ra: Phân loại các ý định có trong dòng “tweets” đã thu thập đƣợc.
Ví dụ: Ngƣời dùng cập nhật trạng thái của mình trên Twitter:
“I will go and dance in room”
(Tôi sẽ đi và nhảy trong căn phòng đó)
Nhãn ý định là “Event” (sự kiện & hoạt động).
Để giải quyết bài toán trên, quá trình phân loại ý định ngƣời dùng gồm 2 giai
đoạn:
 Giai đoạn huấn luyện
 Giai đoạn phân lớp.
a) Giai đoạn huấn luyện



10

Giai đoạn này nhận đầu vào là tập dữ liệu huấn luyện gồm các nội dung dƣới
dạng văn bản đã đƣợc gán nhãn, sau khi xử lý tập dữ liệu và áp dụng các thuật toán
huấn luyện sẽ cho đầu ra là một mô hình phân loại, cụ thể:

DỮ LIỆU
HUẤN
LUYỆN

MÔ HÌNH
PHÂN LỚP

TIỀN XỬ LÝ

THUẬT TOÁN
HUẤN LUYỆN

BIỂU DIỄN
VECTOR DỮ
LIỆU

DỮ LIỆU
SAU KHI
XỬ LÝ

TRÍCH
CHỌN ĐẶC
TRƢNG


Sơ đồ 2.1: Mô hình giai đoạn huấn luyện [9]

Trong đó các bước cụ thể :
-

Tiền xử lý: Chuyển đổi các dòng trạng thái trong tập dữ liệu thành một hình
thức phù hợp để phân loại.

-

Dữ liệu sau khi xử lý : Tập dữ liệu đã đƣợc xử lý ở bƣớc tiền xử lý nhƣ :
lọc nhiễu, loại bỏ các thông tin dƣ thừa…

-

Trích chọn đặc trưng: Trích xuất ra các đặc trƣng từ nội dung trạng thái
của ngƣời dùng bằng các đặc trƣng từ vựng N-grams, đặc trƣng Word
vector, TF-IDF nhằm loại bỏ những từ (đặc trƣng) không mang thông tin ra
khỏi dữ liệu, nâng cao hiệu suất phân loại và giảm độ phức tạp của thuật
toán huấn luyện.

-

Biểu diễn vector dữ liệu : Mã hoá văn bản bởi một mô hình trọng số.

-

Thuật toán huấn luyện: Thủ tục huấn luyện để tìm ra các tham số tối ƣu, có
thể sử dụng các thuật toán khác nhau, trong phạm vi luận văn chúng tôi sử
dụng 3 thuật toán học máy gồm: Máy véc tơ hỗ trợ (SVM), Naïve Bayes

(NB) và Maximum Entropy Model (MEM).


11

b) Giai đoạn phân lớp
Nhận đầu vào là nội dung trạng thái của ngƣời dùng dƣới dạng ngôn ngữ tự
nhiên (tiếng Anh), sau quá trình xử lý và áp dụng mô hình phân loại sẽ cho ra nhãn
phân loại của văn bản đầu vào, cụ thể đƣợc biểu diễn dƣới sơ đồ sau:

TẬP DỮ
LIỆU TIẾNG
ANH

TRÍCH CHỌN
ĐẶC TRƢNG

TIỀN XỬ LÝ

NHÃN Ý
ĐỊNH

MÔ HÌNH PHÂN
LỚP

Sơ đồ 2.2 : Mô hình giai đoạn phân lớp [9]

Tƣơng tự nhƣ các bƣớc trong giai đoạn huấn luyện, giai đoạn phân lớp có
nhiệm vụ cụ thể :
-


Tiền xử lý: Chuyển đổi các dòng trạng thái trong tập dữ liệu thành một hình
thức phù hợp để phân loại nhƣ lọc nhiễu, loại bỏ các từ không mang ý định.

-

Trích chọn đặc trưng: Trích xuất ra các đặc trƣng từ nội dung trạng thái
của ngƣời dùng bằng các đặc trƣng từ vựng N-grams, đặc trƣng Word
vector, TF-IDF.

-

Mô hình phân lớp: Sử dụng các thuật toán khác nhau nhƣ máy véc tơ hỗ
trợ (SVM), Naïve Bayes (NB) và Maximum Entropy Model (MEM) để
tiến hành phân loại và gán nhãn ý định.

Dựa vào sơ đồ 2.1 và 2. 2 trên ta có thể dễ dàng nhận thấy :
Mô hình kiến trúc hệ thống tổng quát cho bài toán phân loại ý định ngƣời dùng
gồm ba bƣớc chính. Sau đây chúng tôi sẽ giới thiệu chi tiết các thành phần quan
trọng của bài toán phân loại ý định ngƣời dùng nói riêng và bài toán phân loại văn
bản nói chung cho tập dữ liệu chúng tôi thu thập đƣợc trên mạng xã hội Twitter
gồm 2130 dòng trạng thái [1] và đƣợc lƣu trữ trong file dữ liệu “dataset.txt”.


12

2.2. Tiền xử lý dữ liệu
2.2.1. Khái niệm
Đây là là một bƣớc rất quan trọng trong quá trình phân loại dữ liệu. Một số
lỗi thƣờng mắc phải trong khi thu thập dữ liệu là tính không đủ chặt chẽ, logic. Vì

vậy, dữ liệu chứa các giá trị vô nghĩa và không có khả năng kết nối dữ liệu, ví dụ dữ
liệu là các con số, các ký tự đặc biệt, các #hastag.. Ở bƣớc này chúng tôi sẽ tiến
hành xử lý những dạng dữ liệu không chặt chẽ nói trên, những dữ liệu dạng này
đƣợc xem nhƣ thông tin dƣ thừa, không có giá trị. Bởi vậy, đây là một quá trình rất
quan trọng vì dữ liệu này nếu không đƣợc “làm sạch” sẽ gây nên những kết quả sai
lệch nghiêm trọng.
Trƣớc khi tiến hành xây dựng dữ liệu thực nghiệm, chúng tôi sẽ tiến hành lọc
và loại bỏ một số dữ liệu không cần thiết từ tập dữ liệu đã thu thập từ Twitter và
đƣợc lƣu trong file dữ liệu “dataset.txt”.
2.2.2. Lọc nhiễu (loại bỏ từ không mang nghĩa)
Các từ không có nghĩa ở đây là các con số, các ký tự đặc biệt và không mang
nghĩa. Ví dụ: “@@”, “!! “EU !!!!!!!!!!!!!!!!!!!!!!!!!!!!!, #2@”,...
2.2.3. Loại bỏ các từ phổ biến (stop word)
Để tiết kiệm không gian lƣu trữ và gia tăng tốc độ xử lý, chúng tôi sẽ không ghi
nhận lại những từ quá phổ biến, quá chung chung và những từ này gọi là stop word.
Xem ví dụ sau:
“I need a car . Anybody selling a car ?
Từ "a" xuất hiện 2 lần là “a car” ở cả câu 1 và câu 2”, để tiết kiệm không gian
lƣu trữ cũng nhƣ tăng thời gian xử lý, chúng tôi có thể loại bỏ các từ đó đi và thu
đƣợc kết quả nhƣ sau:
“I need car . Anybody selling car ?”
Trong luận văn chúng tôi sử dụng danh sách các stop words tiếng Anh [17]
chuẩn đƣợc lƣu tại file “stop_words.txt” gồm 175 stop word nhƣ hình dƣới :


13

Hình 2.1 : Các từ file stop_words.txt

Việc lọc các từ không cần thiết từ file dữ liệu gốc “dataset.txt”, chúng tôi sẽ tiến

hành lƣu trữ và ghi vào một file dữ liệu mới có tên là ”dataset2_stop.txt” với cấu
trúc của mỗi dòng:
Cấu trúc: <nhãn> _:_<nội dung câu sau khi lọc>. Cụ thể dữ liệu nhƣ sau:

Hình 2.2. File dataset2_stop.txt


14

Kết quả của việc lọc dữ liệu, chúng tôi thu đƣợc file “dataset2_stop.txt” và vẫn
sử dụng file “dataset.txt” để tiếp tục tiến hành xử lý các bƣớc tiếp theo.
2.3. Trích chọn đặc trƣng
Trong phƣơng pháp học máy, số lƣợng đặc trƣng (features) càng nhiều thì độ
chính xác càng cao nhƣng ngƣợc lại, lƣợng đặc trƣng quá nhiều sẽ khiến cho quá
trình huấn luyện, quá trình phân loại mất nhiều thời gian hơn. Ngoài ra, nó còn
khiến chƣơng trình chiếm nhiều dung lƣợng bộ nhớ và đĩa cứng nhiều hơn. Các loại
đặc trƣng chính thƣờng đƣợc sử dụng là tập từ N-grams [17], trong luận văn này,
chúng tôi còn sử dụng phƣơng pháp biểu diễn từ bằng Word vector (Glove vector)
[10], TF -IDF (term frequency – inverse document frequency) [13][14] sử dụng trên
tập dữ liệu đã thu thập đƣợc từ Twitter.
2.3.1. Đặc trưng N-Grams
N-gram : Là tần suất xuất hiện của n kí tự ( hoặc từ ) liên tiếp nhau có trong dữ
liệu.
Với n = 1 và tính trên kí tự, ta có thông tin về tần suất xuất hiện nhiều nhất của
các chữ cái. Điều này ứng dụng để làm keyboard : các phím hay xuất hiện nhất sẽ ở
những vị trí dễ sử dụng nhất.
Với n = 2, ta gọi bigram..
Với n = 3, ta gọi trigram.
Gram ở đây là đơn vị nhỏ nhất – hay nói cách khác trong câu thì nó chỉ bao
gồm một từ. Một cụm n-grams là một dãy con gồm n- yếu tố liên tiếp nhau của một

dãy các từ cho trƣớc. N-gram còn đƣợc áp dụng trong rất nhiều lĩnh vực của xử lý
ngôn ngữ tự nhiên nhƣ: kiểm lỗi chính tả, dịch máy hay phân đoạn từ, phân loại văn
bản... Chính vì vậy, N-grams đƣợc dùng để ƣớc lƣợng xác suất xuất hiện của một
yếu tố dựa vào các yếu tố xung quanh nó trong câu. Do đó, N-grams có thể áp dụng
cho các hệ thống tách từ, gán nhãn từ loại, phát hiện lỗi chú giải từ loại, v.v.
Ví dụ biểu diễn N-grams:
Câu 1 : “I love to bake cookies”
(Tôi thích bánh quy nƣớng)
-

UniGram: I, love, to, bake cookies.


15

-

BiGram: I_love, love_to, to_bake, bake_cookies

-

TriGram: I_love_to, love_to_bake, to_bake_cookies

Để có thể sử dụng đƣợc các thuật toán học máy, việc biểu diễn các đặc trƣng
theo đúng chuẩn sẽ là một bƣớc rất quan trọng sau khi chúng tôi đã lựa chọn đƣợc
các đặc trƣng.
Ví dụ sử dụng N-grams để lấy đặc trƣng
Câu 1: “I love to bake cookies”
(Tôi thích bánh quy nƣớng)
Câu 2: “I want pancakes, should I make some ?”

“ Tôi muốn ăn bánh kếp, tôi có nên làm vài cái không ? ”
a) Xây dựng từ điển biểu diễn đặc trƣng với loại UniGram
Xây dựng từ điển:
{
1: I, 2: love, 3: to, 4: bake, 5: cookies, 6: want, 7: pancakes, 8: should, 9: make,
10:some
}
Biểu diễn 2 câu trên dƣới dạng vector đặc trƣng, mỗi phần tử của vector có
dạng :
<vị trí của từ trong từ điển> : <số lần xuất hiện của từ trong câu>, dựa vào chỉ
số trong từ điển ta có 2 vector:
Câu 1: [1:1, 2:1, 3:1, 4:1, 5:1, 6:0, 7:0, 8:1, 9:0, 10:0]
Câu 2: [1:2, 2:0, 3:0, 4:0, 5:0, 6:1, 7:1, 8:1, 9:1, 10:1]
Khi ở bộ dữ liệu thực sự, số lƣợng từ trong từ điển là vô cùng lớn, khi đó độ dài
của vector (tƣơng ứng với độ lớn của từ điển) là rất lớn, việc xử lý sẽ vô cùng khó
khăn. Mà ở đây, chúng tôi có thể để ý, những từ trong từ điển không xuất hiện trong
câu (<số lần xuất hiện trong câu> bằng 0) thì hầu không có ý nghĩa trong việc xử lý
thuật toán, vì thế chúng tôi sẽ loại bỏ chúng đi trong vector, chỉ giữ lại những từ
xuất hiện trong câu. Cụ thể, 2 câu trên sau khi đƣợc rút gọn sẽ còn lại:
Câu 1: [1:1, 2:1, 3:1, 4:1, 5:1]


×