NGUYEN THỊ THANH CAM
PHAT HIEN QUAN TÂM NGƯỜI DUNG TREN MẠNG XÃ HOI DỰA
Trang 2Luận van được hoàn thành tai:
HỌC VIEN CÔNG NGHỆ BƯU CHÍNH VIÊN THONG
Người hướng dẫn khoa học: PGS.TS TRAN DINH QUE
Phản biện Ub Opn Q0 Q22 n ng ng ng tr.
Phản biện 2:_ c0 Q00 00220201 nn n ĐH ng ng v vk cry
nghệ Bưu chính Viễn thông
năm 2017
Có thê tìm hiéu luận van tại:
- Thư viện của Học viện Công nghệ Bưu chính Viễn thông
Trang 3MỞ ĐẦU
Hiện nay, Công Nghệ Thông Tin (CNTT) phát triển một cách mạnh mẽ và có nhiều bước chuyển mình vượt bậc đã có nhiều đóng góp tích cực và to lớn trong việc phát triển kinh tế, xã hội và đặc biệt là con người Trước sự phát trién mạnh mẽ ấy trong tất cả các lĩnh vực của đời sống đòi hỏi nhiều hơn các ứng dụng thông minh, hiện đại, bám sát nhu cầu người dùng, tình hình thực tế; hỗ trợ quản lý, giám sát con người Một loạt các tổ chức, cơ quan nhà nước, doanh nghiệp đều cần dùng đến những ứng dụng thông minh như vậy Song song với sự phát triển và sự đòi hỏi
về những ứng dụng thông minh đó, CNTT cũng tạo ra một khối lượng thông tin đồ
sộ và việc quản lý, tận dụng khai thác khối lượng thông tin này là những thách thức không hè nhỏ.
Điển hình là các mạng xã hội (MXH) như Facebook, Twitter, Youtobe, Instagram, G+, Blog, các diễn đàn, trang tin tức trực tuyến được sự hỗ trợ của Internet chúng ngày càng trở nên phổ biến trong cuộc sống của chúng ta Số người sử dụng mạng xã hội dé cap nhat thong tin ban than, danh gia vé mot linh vuc ngay càng nhiều Ho sử dung mang xã hội dé thé hiện quan điểm của mình trong mọi lĩnh
vực kinh tế, giáo dục, văn hóa, chính trị, giải trí Một thế giới rộng lớn bỗng chốc
được thu bé lại Lượng thông tin đồ sộ được con người tạo ra từ mạng xã hội này
vừa là thách thức vừa tạo điều kiện thuận lợi để các nhà khoa học nghiên cứu nhu
cầu của con người, định hướng quan điểm của họ.
Câu hỏi đặt ra là làm sao để xử lý lượng thông tin đồ sộ đó một cách chính xác và nhanh nhất Cách phân lớp, phân cụm sử dụng các thuật toán kinh điển luôn
là nền tảng giải quyết các vấn đề này Với đặc trưng mạng xã hội đặc biệt là mạng xã hội Facebook, người dùng có có xu hướng thoải mái thể hiện mối quan tâm, quan điểm, đánh giá của mình qua tag và hash-tag Rất nhiều các bài viết (status) và bình luận (comments) có sự xuất hiện của tag và hash-tag Nhờ có tag và hash-tag,
quan tâm của người dùng sẽ được mô tả ngắn gọn, cụ thé, gan gũi và thuận lợi trong
việc xử lý phân lớp phân cụm Nói một cách khác, chúng ta có thể dựa vào nội dung
của tag và hash-tag này dé phát hiện mối quan tâm của người dùng đến một chủ đề.
Trang 4Vì vậy, tác giả đã lựa chọn dé tài luận văn thạc sĩ là “Phát hiện quan tâm
người dùng trên mạng xã hội dựa vào tag” Luận văn tập trung xem xét những vấn
đề liên quan đến mô hình quan tâm người dùng trên mạng xã hội và các kỹ thuật
phát hiện quan tâm người dùng trên mạng xã hội.
Tổng quan về vấn đề nghiên cứu
Có nhiều quan tâm nghiên cứu về vấn đề phát hiện quan tâm người dùng.
Điền hình như Schwartz và các cộng sự của ông [12] đã đề xuất mô hình phân tích dựa trên đồ thị để phát hiện quan tâm người dùng có sở thích Việc xây dựng đồ thị giao tiếp hay còn gọi là mạng lưới quan hệ xã hội.
Tuy nhiên các tiếp cận bài toán phát hiện quan tâm người dùng trong mạng xã hội băng mô hình này chỉ tập trung vào việc tìm kiếm, phát hiện quan tâm người dùng trong một tô chức cộng đồng đã có sự quan tâm nhất định về một chủ đề.
Mục đích, đối tượng, phạm vi và phương pháp nghiên cứu
Mục đích nghiên cứu của luận văn là tìm hiểu bài toán phát hiện quan tâm người dùng trên mạng xã hội Facebook dựa vào tag và hash-tag, đề xuất mô hình xử lý bài toán từ việc lây dir liệu trực tiếp trên mạng xã hội Facebook đến việc xử lý dữ liệu và thử nghiệm tìm kết quả cho bài toán bằng một số kỹ thuật phân lớp, phân cụm.
Mục tiêu cụ thể như sau:
- Tìm hiểu về bài toán phát hiện quan tâm người dùng trên mạng xã hội
dựa vào tag và hash-tag
- Nghiên cứu một số kỹ thuật học có giám sát để phân lớp đã và đang
được sử dụng trong khai phá dữ liệu
- Tìm ra hướng giải quyết bài toán phát hiện quan tâm người dùng trên mạng xã hội dựa vào tag và hash-tag
- Áp dụng, thử nghiệm được một số kỹ thuật phân lớp để giải quyết bài toán Qua đó đánh giá độ chính xác, khả thi của thuật toán và một số kết quả của bài toán có thé ứng dụng trong công tác quản lý và định hướng quan điểm người dùng.
Câu trúc của luận văn
Trang 5Ngồi phần mở đầu và kết luận, luận văn được chia thành ba chương:
Chương 1: Tổng quan phát hiện quan tâm người dùng trên mang xã
Trong chương này, luận văn sẽ đi vào những vấn đề cơ bản của mạng xã hội, mạng xã hội Facebook và bài tốn phát hiện quan tâm người dùng trên
mạng xã hội Facebook Cùng với đĩ là ý nghĩa, khĩ khăn thách thức trong quá
trình giải quyết bài tốn.
Chương 2: Phát hiện quan tâm người dùng trên mạng xã hội dựa vàophương pháp học cĩ giám sát
Những van dé trong việc xử lý dữ liệu văn ban bao gồm cả biểu diễn dữ liệu văn bản sẽ được trình bày trong chương 2 này Cĩ rất nhiều thuật tốn học máy dùng để phân lớp, phân cụm trong khai phá dữ liệu nhưng tác giả sẽ trình bày ba thuật tốn điển hình trong số đĩ là thuật tốn vector hỗ trợ, thuật tốn Nạve Bayes, K láng giềng gần nhất và một số phương pháp đánh giá chất lượng phân lớp của các
phương pháp đĩ Bên cạnh đĩ, trong chương này tác giả đề xuất mơ hình xử lý bài
tốn phát hiện quan tâm người dùng dựa vào tag và hash-tag trong mạng xã hội nĩichung và mạng xã hội Facebook nĩi riêng.
Chương 3: Thứ nghiệm và đánh gia
Trong chương này, tác giả đề cập đến van dé thu nạp dit liệu trên mạng
xã hội Facebook, các cơng cụ và phần mềm thử nghiệm sử dụng Cuối cùng là một số kết quả thống kê và sự phân tích đánh giá kết quả cho bài tốn phát hiện
quan tâm người dùng dựa vào tag, hash-tag trong mang xã hội Facebook.
Trang 6Chương 1: TONG QUAN PHÁT HIEN QUAN TÂM NGƯỜI DUNG TREN MANG XA HOI
1.1 Bài toán phát hiện quan tâm người dùng trên mạng xã hội
1.1.1 Tổng quan về mạng xã hội
1.1.2 Phát biểu bài toán phát hiện quan tâm người dùng trên mang xã hội
Bài toán phát hiện quan tâm người dùng trên mang xã hội được hiểu như sau:
- Input: Mọi thông tin của người dùng trên mang xã hội, tập van đề X mà người dùng có thể quan tâm.
- Quípuf: Người dùng A quan tâm đến vấn dé gì và vấn dé X có những người
dùng nào quan tâm.
1.2 Bai toán phát hiện quan tâm người dùng dựa vào tag, hash-tag trênmạng xã hội Facebook
1.2.1 Mang xa hội Facebook, tag va hash-tag
1.2.2 Phát biểu bài toán phát hiện quan tâm người dùng dựa vào tag và
hash-tag trên mang xã hội Facebook
Bài toán phát hiện quan tâm người dùng dựa vào tag và hash-tag được đưa về bài toán phân cụm, phân lớp tập dữ liệu tag và hash-tag do người dùng Tiếng Việt tạo ra.
Input: tag, hash-tag của một người dùng tạo ra trên mang xã hội Facebook, nhómtừ khóa đặc trưng của một Topic.
Output: người dùng A quan tâm Topic nào? Một Topic T có những người dùng
nào quan tâm?
1.2.3 Một số kết quả nghiên cứu về bài toán phát hiện quan tâm người dùng
trên mang xã hội dựa vào tag và hash-tag
1.2.4 Ý nghĩa bài toán
Trang 7Bài toán phát hiện quan tâm người dùng dựa vào tag và hash-tag trên mạng xã hộiFacebook có những ý nghĩa:
Thứ nhất, bài toán có ý nghĩa trong việc nghiên cứu định hướng quan điểm trong mỗi quan tâm của một cộng đồng người dùng Sự phân loại thông qua việc phân lớp, phân cụm cộng đồng người dùng giúp nhiều cơ quan, tô chức, đoàn thé nắm bắt kip thời tâm tư, nguyện vọng của một nhóm cộng đồng và có sự tác động hợp lý định hướng
quan diém của cộng dong đó.
Thứ hai, bài toán còn thực sự hữu ích đôi với doanh nghiệp muôn giới thiệu,
quảng cáo sản phẩm của mình đến đối tượng khách hàng tiềm năng.
Thứ ba, tag và hash-tag có khả năng đại diện cho quan tâm của người dùng, nên quan tâm người dùng được mô tả ngắn gọn, cụ thể và gần gũi hơn Lượng đữ liệu phải xử
lý được giảm đi đáng kê Việc xử lý trở nên đơn giản hơn, nhanh hon.
1.2.5 Khó khăn và thách thức
1.3 Kết luận
Trong chương này, tác giả đã tóm lược một cách ngắn gọn nhất về mạng xã hội nói
chung và mạng xã hội Facebook nói riêng Đồng thời giới thiệu bài toán phát hiện quan
tâm người dùng dựa vao tag và hash-tag trên mạng xã hội Facebook cùng với đó là ý
nghĩa, khó khăn, thách thức khi giải quyết bài toán.
Trang 8Chương 2: PHÁT HIỆN QUAN TÂM NGƯỜI DÙNG TRÊN
MẠNG XÃ HỌI DỰA VÀO PHƯƠNG PHÁP HỌC CÓ GIÁM
2.1 Tổng quan về phương pháp học có giám sát
Hoạt động học là hoạt động tiếp thu những tri thức lý luận, khoa học Nghĩa là việc học không chỉ dừng lại ở việc nắm bắt những khái niệm đời thường mà học phải tiến
đến những tri thức khoa học, những tri thức có tính chọn lựa cao, đã được khái quát
hoá, hệ thống hoá.
Nhiệm vụ của chương trình học có giám sát là dự đoán giá tri của hàm f cho một
đối tượng đầu vào hợp lệ bat ki, sau khi đã xét một số mẫu dữ liệu huấn luyện (nghĩa là các cặp đầu vào và đầu ra tương ứng) Dé đạt được điều này, chương trình học phải tổng quát hóa từ các dữ liệu sẵn có dé dự đoán được những tình huống chưa gặp phải theo một
cách hợp lý.
Trang 92.2 Biểu diễn dữ liệu văn bản
2.2.1 Một số vấn đề trong xử lý dữ liệu văn bản
2.3 Một số thuật toán học có giám sát
2.3.1 Thuật toán Naive Bayes
2.3.2 Thuật toán - K láng giéng gan nhất (K - nearest neighbors) 2.3.3 Đánh giá chất lượng phân lóp
Đề đánh giá kết quả phân loại văn bản hay chất lượng phân lớp, ta sử dụng một số chỉ số
đánh giá
Recall: độ chính xác của dự đoán cho từng nhãn (độ hồi tưởng)
Số văn bản được dự đoán đún
Recall = oerSố văn ban thực tế
Precision: độ chính xác của moi lân dự đoán (độ chính xác)
¬ Số văn bản được dự đoán đúng
Precision =——————————
Số văn bản được dự đoán
Có thể tính độ chính xác dự đoán cho từng nhãn và độ chính xác của mỗi lần dự đoán qua
ba giá trị Human, Model, MatchTrong đó:
Trang 10- Human: Số văn bản thực tế
- Model: Số văn bản mà máy dự đoán
- Match: Số văn bản được máy dự đoán đúng
Fscore là một giá tri trung bình điêu hòa của các tiêu chí Precision và Recall
- Fscore có xu hướng lây giá tri gan với giá trị nào nhỏ hơn giữa hai giá tri
Precision va Recall
- Fscore có giá tri lớn nêu cả hai giá tri Precision va Recall đêu lớn.
Trang 11Độ tương tự giữa hai văn bản
Khoảng cách giữa hai văn bản chính là độ tương tự giữa hai văn bản đó, hai văn bản có
giá trị độ tương tự càng lớn thì khoảng cách càng gần nhau Chúng ta có thê dựa vào mô hình biểu diễn dữ liệu đề thực hiện tính toán Xét hai văn ban được biểu diễn thành vector XỈ = (xị,1x¿, ,X„), VAY! = (Vp, Voy Vn) và đưới đây là một số công thức độ đo phổ
Dice: #im(X,Y)=——=—————
3Œ, -y,)
jJaccard: Sim(X,Y)=— i=1
Vx +>'y? YG, -y;)
Trang 122.4 Mô hình xử lý bài toán phát hiện quan tâm người dùng dựa vào tag và
hash-tag trên mạng xã hội Facebook
Sau quá trình nghiên cứu tác giả đưa ra mô hình xử lý bài toán phát hiện quan tâm
người dùng dựa vào tag và hash-tag trên mạng xã hội Facebook gồm bốn bài toán con
như sau.
Xây dựng Tách tag, Xây dựng Phân lớp
tap tag, hash-tag ; topic , tag, hash tag hash-tag thanh vector vao Topic
Hình 2.4.1 Mô hình xử lý bài toán phát hiện quan tâm người dùng trên MXH
dựa vào tag và hash-tag
Sau đây tác giả sẽ đi vào chỉ tiết xử lý từng bài toán một.
Bài toán 1: Xây dựng tập tag, hash-tag
Input: bài post của người dùng
Output: nhóm từ tag và hash-tag ứng với mỗi người dùng
Một người có thé có rất nhiều bài post Mỗi bài post lại có một hoặc nhiều tag và hash-tag Do đó, đầu ra của bài toán 1 là tập hợp các từ tag và hash-tag của người dùng.
Bài toán 2: Tách tag, hash-tag thành vector từ
Input: tag, hash-tag X ứng với mỗi người dùng
Output: tag, hash-tag X gôm tập hợp các từ X' = (tua, tuạ, , tu„)
Bài toán 3: Xây dựng Topic
Trang 13Như đã trình bay ở những phan trên, có rất nhiều Topic ma người dùng có thé quan tâm Một số Topic mang tính nóng hổi trong một thời gian ngắn và chúng được cập nhật
thường xuyên Do đó, trong khuôn khổ luận văn, tác giả sẽ đi xây dựng 5 Topic:
Input: định nghĩa 5 Topic trên Wikipedia
Output: tập hop các từ khóa đặc trưng cua 5 Topic
Từ 5 định nghĩa của 5 Topic, tác giả đã sử dụng các kỹ thuật: luật Zipf, N-gram Chỉ tiết sẽ được thê hiện trong phần mô tả dữ liệu của chương 3.
Bài toán 4: Phân lớp tag, hash-tag vào 5 Topic
Input: tập hop tag, hash-tag sau khi được tách thành các từ và tập hop các từ khóa của 5
Output: phân lop các tag và hash-tag từ đó xác định người dùng quan tâm Topic nào.
Trong quá trình nghiên cứu và thử nghiệm, tác giả nhận thấy răng, một người có thé quan tâm nhiều Topic, nhưng mức độ quan tâm Topic lại khác nhau Mức độ quan tâm một Topic của một người dùng phụ thuộc vào số lượng tag và hash-tag được phân lớp vào những Topic đó Do vậy, tác giả đề xuất một giá trị ngưỡng a thê hiện mức độ quan tâm của người dùng Bên cạnh việc dùng dé đánh giá mức độ quan tâm người dùng
Trang 14tới một Topic, ngưỡng ơ sẽ được chọn dé quyết định người dùng quan tâm một Topic, hai
Topic hoặc nhiều hơn 2.5 Kết luận
Trong chương này luận văn đã trình bày tóm tắt phương pháp học có giám sát, vấn đề
biểu diễn dữ liệu văn ban, các thuật toán học có giám sát sử dụng trong việc giải quyết
bài toán đang tìm hiểu, các kỹ thuật đánh giá chất lượng phân lớp của thuật toán đó Luận
văn đã đưa ra mô hình xử lý bài toán phát hiện quan tâm người dùng trên mạng xã hội
Facebook dựa vào tag và hash-tag.
Trang 15Chương 3: THU NGHIỆM VÀ ĐÁNH GIÁ
Trên cơ sở lý luận chương 1 và chương 2, chương 3 sẽ mô tả chỉ tiết dữ liệu sử dụng,
phan mém sử dụng, một số kết quả khi thử nghiệm và đánh giá 2 thuật toán NB và KNN.
3.1 Dữ liệu
3.1.1 Cách lấy dữ liệu
Tác giả đã lựa chọn cách lấy đữ liệu qua Trình khám phá API đồ thị của Facebook qua trang: https://developers.facebook.com/tools/explorer/
Định nghĩa các Topic được lấy trên trang Wikipeida Tiếng Việt:
3.1.2 Xứ lý dữ liệu
Bài toán 1: tách tag và hash-tag từ các bài post, xem chúng như 1 thuộc tinh của
người dùng Loại bỏ từ dừng, các ký tự đặc biệt, loại bỏ chữ số Nhu vậy, thuộc tính chuỗi bài post của người dùng sẽ được thay bằng các tag và hash-tag đã được tách.
Bài toán 2: tách các tag, hash-tag thành các từ sử dụng kỹ thuật N-gram Đồng thời chúng được biéu diễn qua mô hình tần số TF-IDF đã được trình bày tại chương 2.
Bài toán 3: xây dựng Topic gồm các từ khóa của từng Topic đó Mục đích nhằm xác định từ khóa của từng TopIc, dé tang tốc độ tính toán, các từ dừng, từ xuất hiện với
tần số quá cao hoặc quá thấp, các chữ số, ký tự đặc biệt cũng sẽ được lược bỏ Chi tiết
được thê hiện trong các bước như sau:
Bước 1: lay định nghĩa 5 Topic từ Wikipedia
Bước 2: sử dụng kỹ thuật N-gram, tách từ, biểu dién các từ qua mô hình tần số
TF-IDF, sắp xếp theo thứ tự từ xuất hiện với tần số cao nhất đến thấp nhất
Trang 16Bước 3: tiến hành loại bỏ từ dừng, các chữ SỐ, các ký tự đặc biệt Sử dụng kỹ thuật Zipf loại bỏ các từ xuất hiện với tần số lớn hơn 400 hoặc nhỏ hơn 2.
Bài toán 4: Tiến hành phân lớp dữ liệu sử dụng các kỹ thuật:
- _ Thuật toán Naive Bayes
- _ Thuật toán K - láng giéng gần nhất
Kết hop sử dụng ngưỡng a quyết định người dùng quan tâm Topic nào.
3.1.3 Mô ta dữ liệu
Dữ liệu thử nghiệm của luận văn bao gồm:
- 800.000 người dùng Mỗi người dùng sẽ được gan một ID và có các trường
thông tin sau: tên, địa chỉ, giới tính, ngày sinh, bài post Lưu với tên file là“Datafacebook.csv”.
Dưới đây là một số thông kê về dit liệu thu được theo giới tinh và độ tuổi: Nam (số người) Nữ (số người) KXĐ (số người)
Bang 3.2 Thống kê dữ liệu đầu vào theo độ tuéi
- 5 Topic, mỗi Topic bao gồm các từ khóa thuộc chủ dé của Topic đó được lưu
với tên file là “Topic.csv”.