1. Trang chủ
  2. » Công Nghệ Thông Tin

đồ án phát hiển bất thường kĩ thuật khai phá dữ liệu

57 59 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 57
Dung lượng 2,12 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Trong khóa luận này, tôi đề xuất một mô hình phát hiện trang mạng xã hội FanPage có sự bất thường về mức độ tương tác của người dùng trong một khoảng thời gian, trên dữ liệu một chủ đề

Trang 1

KỸ THUẬT KHAI PHÁ DỮ LIỆU

KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY

Ngành: Công nghệ thông tin

HÀ NỘI – 2016

Trang 2

KỸ THUẬT KHAI PHÁ DỮ LIỆU

KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY

Ngành: Công nghệ thông tin

Cán bộ hướng dẫn: PGS TS Hà Quang Thụy

Cán bộ đồng hướng dẫn: TH.S Nguyễn Thành Công

Chữ ký:

HÀ NỘI – 2016

Trang 3

VIETNAM NATIONAL UNIVERSITY, HANOI

Le Xuan Dao

OUTLIER DETECTION IN SOCIAL MEDIA BASE ON DATA MINING

A THESIS PRESENTED FOR THE DEGREE BACHELOR

Department: Information Technology

Supervisor: Assoc.Prof Ha Quang Thuy

Co-Supervisor: MsC Nguyen Thanh Cong

HÀ NỘI – 2016

Trang 4

LỜI CẢM ƠN

Trước tiên, em xin bày tỏ lòng biết ơn chân thành và sâu sắc nhất tới Thầy giáo, Phó Giáo sư – Tiến sĩ Hà Quang Thụy và anh, Thạc sỹ Nguyễn Thành Công, giám đốc công ty Datasection Vietnam đã tận tình chỉ bảo, hướng dẫn, động viên và giúp đỡ em trong suốt quá trình thực hiện đề tài

Em cũng xin được gửi lời cảm ơn chân thành nhất tới quý thầy cô giáo trong Khoa Công nghệ thông tin nói riêng và trong trường Đại học Công nghệ - Đại học Quốc Gia Hà Nội nói chung, đã truyền đạt kiến thức quý báu cho em trong 4 năm đại học

Em xin được gửi lời cảm ơn tới các anh chị trong công ty Datasection Vietnam

đã hỗ trợ em rất nhiều trong quá trình thực hiện và hoàn thành đề tài của mình

Em cũng xin được gửi lời cảm ơn tới các anh chị, các bạn trong phòng thí nghiệm Công nghệ tri thức và khoa học dữ liệu KT-Lab đã giúp em rất nhiều trong việc hỗ trợ kiến thức chuyên môn để hoàn thành tốt khóa luận của mình

Cuối cùng, con xin tỏ lòng biết ơn vô hạn đến bố mẹ vì công ơn sinh thành dưỡng dục, chăm lo và dành trọn tình yêu thương, luôn động viên, ủng hộ con trên con đường học tập

Tôi xin chân thành cảm ơn !

Hà Nội, ngày 25 tháng 04 năm 2016

Sinh viên

Lê Xuân Đạo

Trang 5

TÓM TẮT

Phương tiện xã hội (Social media) hình thành và phát triển nhanh chóng (Ví

dụ: Facebook, Twitter) đã cung cấp lượng dữ liệu phong phú liên quan đến sản phẩm, thị trường và đối thủ cạnh tranh mà rất hữu ích cho các tổ chức, doanh nghiệp Tuy nhiên, nguồn dữ liệu phong phú đó cũng chứa đựng sự bất thường mà ở đó các phần tử

dữ liệu có sự khác biệt lớn so với phần tử khác Phát hiện bất thường từ dữ liệu phương tiện xã hội sẽ làm cho dữ liệu đó thực sự trở nên hữu ích hơn khi được phân tích Đây là chủ đề nghiên cứu - triển khai có ý nghĩa và nhiều kết quả nghiên cứu đã được công bố như P Galeano và cộng sự (2006), D J Hill và B S Minsker (2010), M Gao và cộng sự (2013, 2014), v.v

Khóa luận này đi sâu vào bài toán phát hiện sự bất thường trên mạng xã hội Facebook Dựa trên kết quả nghiên cứu của Manish Gupta và cộng sự về phát hiện sự bất thường và kỹ thuật phát hiện sự bất thường cho từng loại dữ liệu, về đặc tính, xu hướng [13] Trong khóa luận này, tôi đề xuất một mô hình phát hiện trang mạng xã hội

(FanPage) có sự bất thường về mức độ tương tác của người dùng trong một khoảng

thời gian, trên dữ liệu một chủ đề nào đó Để đánh giá thực nghiệm mô hình phát hiện bất thường trên tập dữ liệu Fanpage Facebook, tôi sử dụng một tập dữ liệu lớn với hơn 298.000 trang mạng đầu vào, chọn ra chủ đề có số lượng trang mạng thu thập được

trên 1000 trang Với dữ liệu thực nghiệm 1031 pages chủ đề “Actor”, mô hình đã phát

hiện ra 26 pages có giá trị thuộc tính dị thường, khác biệt lớn với các trang mạng còn lại trong tập dữ liệu

Từ khóa: khai phá dữ liệu, sự bất thường, phát hiện sự bất thường, phân cụm, phương

tiện xã hội, trang mạng xã hội, Facebook, dòng dữ liệu, dữ liệu không-thời gian

Trang 6

ABSTRACT

Social media are forming and growing rapidly (eg Facebook, Twitter) have provided ample amount of data relate to products, markets, social and competitors that are very useful for organizations and businesses However, a rich source of data that also contains the outlier (abnormal) where data elements have a big difference compared to other elements Outlier detection from social media data will make it really becomes useful when it be analyzed This is the topic of research and deploy meaningful research results have been published, such as P Galeano et al (2006), DJ Hill and BS Minsker (2010), M Gao et al (2013, 2014), etc

In this graduation paper, I would like to intensively study how to detect abnormality on a social media site, Facebook Based on Manish Gupta’s study on the technology to detect abnormalities, characterize and predict the trends of them in every singular datum [13] I propose a model of detecting abnormality on Fanpages which have different levels of user interaction over time in a particular topic To assess empirical model of detecting abnormality in data set on Facebook fanpages, we prefer

to use a large dataset input from about 298.0000 pages, and category with number of page is more than 1000pages Category “Actor” with 1031 pages input, the model detected 26 outlier pages which have strongly different character value in people react

on Facebook dataset

Keyword: Data mining, outlier, outlier detection, data streams, temporal data,

spatio-temporal data, Facebook, Fanpage, social media

Trang 7

LỜI CAM ĐOAN

Tôi xin cam đoan các kỹ thuật sử dụng trong việc phát hiện bất thường trên mạng xã hội được trình bày trong khóa luận do tôi thực hiện dưới sự hướng dẫn của Thầy, PGS TS Hà Quang Thụy và anh, Ths Nguyễn Thành Công

Tất cả những tham khảo từ các nghiên cứu liên quan đều được nêu nguồn gốc một cách rõ ràng từ danh mục tài liệu tham khảo trong khóa luận Trong khóa luận không có việc sao chép tài liệu tham khảo, công trình nghiên cứu mà không chỉ rõ về tài liệu tham khảo

Hà Nội, ngày 25 tháng 4 năm 2016

Lê Xuân Đạo

Trang 8

MỤC LỤC

LỜI CẢM ƠN iv

TÓM TẮT v

ABSTRACT vi

LỜI CAM ĐOAN vii

DANH SÁCH THUẬT NGỮ x

Danh sách các bảng xi

Danh sách hình vẽ xii

MỞ ĐẦU 2

Chương 1 Phát hiện bất thường trên mạng xã hội 5

1.1 Bất thường trên mạng xã hội 5

1.1.1 Giới thiệu chung 5

1.1.2 Các loại bất thường 5

1.2 Các kỹ thuật khai phá dữ liệu sử dụng trong phát hiện sự bất thường trên mạng xã hội 8 1.2.1 Phân cụm dữ liệu 8

1.2.2 Độ đo cơ bản dùng trong phân cụm 9

1.2.3 Thuật toán K-means 11

1.3 Phát hiện bất thường 13

1.4 Phát biểu bài toán 14

1.4.1 Phát hiện sự bất thường trên mạng xã hội 16

1.4.2 Những khó khăn và thách thức của bài toán 16

Tóm tắt chương 1 16

Chương 2 Các mô hình phát hiện sự bất thường trên mạng xã hội dựa trên khai phá dữ liệu 17 2.1 Phát hiện sự bất thường trên tập dữ liệu theo chuỗi thời gian 17

2.1.1 Bất thường trong cơ sở dữ liệu chuỗi thời gian 17

2.1.2 Bất thường trong chuỗi thời gian 18

2.2 Phát hiện sự bất thường trên các dòng dữ liệu 19

2.3 Phát hiện sự bất thường trên dòng dữ liệu phân tán 20

2.4 Phát hiện sự bất thường trên dữ liệu không-thời gian 22

2.5 Ý tưởng mô hình giải quyết bài toán 23

Tóm tắt chương 2 23 Chương 3 Mô hình chi tiết phát hiện bất thường trên mạng xã hội dựa trên khai phá dữ liệu 24

Trang 9

3.1 Giới thiệu chung 24

3.1.1 Hệ số tương tác của người dùng trên trang mạng xã hội 24

3.1.2 Hệ số phát triển của trang mạng xã hội theo tháng 26

3.2 Mô hình phát hiện bất thường đề nghị 27

3.2.1 Trích xuất dữ liệu 28

3.2.2 Tính toán hệ số phát triển 29

3.2.3 Phát hiện bất thường 30

Tóm tắt chương 3 31

Chương 4 Thực nghiệm 32

4.1 Giới thiệu chung 32

4.2 Dữ liệu 32

4.2.1 Khai thác dữ liệu 32

4.2.2 Xử lý dữ liệu 34

4.3 Kết quả thực nghiệm 35

Tóm tắt chương 4 37

Kết luận 43

Kết quả đạt được của khóa luận 43

Định hướng tương lai 43

Tài liệu tham khảo 45

Tài liệu tiếng Việt 45

Tài liệu tiếng Anh 45

Trang 10

Facebook Data Dữ liệu mạng xã hội Facebook

Data Mining Khai phá dữ liệu

Social Media Phương tiện truyền thông xã hội

Fanpage Trang mạng xã hội trên Facebook

Term Frequency – Inverse Document

Frequency / TF-IDF

Tần số xuất hiện – tần số nghịch của một

từ trong văn bản

Data streams Luồng dữ liệu theo thời gian

Time series Chuỗi thời gian

Distributed Data streams Dữ liệu phân tán

Spatio-Temporal Data Dữ liệu không gian và thời gian

Marketing Hoạt động quảng bá truyền thông, tiếp thị

sản phẩm, phát triển thương hiệu

Trang 11

Danh sách các bảng

Bảng 2.1 Ví dụ ma trần kề 20

Bảng 4.1 Bảng dữ liệu 5 thành phần chính cho mỗi chủ đề 33

Bảng 4.2 Tổng số lượng tương tác của người dùng với trên page tháng 3/2016 34

Bảng 4.3 Bảng thống kê hệ số tương tác của từng trang mạng chủ đề Actor 34

Bảng 4.4 Thống kê hệ số phát triển chủ đề Actor tháng 3-2016 35

Bảng 4.5 Danh sách trang xã hội bất thường với số cụm K=3 36

Bảng 4.6 Danh sách trang xã hội bất thường với số cụm K=4 38

Bảng 4.7 Danh sách trang xã hội bất thường với số cụm K=5 39

Bảng 4.8 Danh sách trang xã hội bất thường với số cụm K=6 41

Bảng 4.9 Danh sách các trang mạng bất thường trong tập dữ liệu chủ đề Actor 41

Trang 12

Danh sách hình vẽ

Hình 1.1 Điểm giá trị bất thường… 6

Hình 1.2 Điểm ngữ cảnh bất thường 6

Hình 1.3 Điểm phân bố bất thường 7

Hình 1.4 Các kiểu dữ liệu bất thường 14

Hình 1.5 Bảng xếp hạng lượt tương tác của các bài đăng 15

Hình 2.1 Cơ sở dữ liệu bất thường theo thời gian 18

Hình 2.2 Bất thường chuỗi thời gian 19

Hình 2.3 Bất thường theo khoảng cách giữa các điểm trong cửa sổ trượt 20

Hình 2.4 Phát hiện bất thường bởi chia sẻ dữ liệu 21

Hình 2.5 Dữ liệu không gian – thời gian 22

Hình 3.1 Ví dụ về bình luận và trả lời bình luận trên Facebook 25

Hình 3.2 Mô hình phát hiện bất thường trên tập dữ liệu Facebook 28

Hình 4.1 Dữ liệu đầu vào công ty Datasection 33

Hình 4.2 Kết quả phân cụm dữ liệu chủ đề Actor (1031 pages) 36

Hình 4.3: Kết quả phân cụm dữ liệu chủ đề Actor (1031 pages) với số cụm k=4 37

Hình 4.4: Kết quả phân cụm dữ liệu chủ đề Actor (1031 pages) với số cụm k=5 39

Hình 4.5: Kết quả phân cụm dữ liệu chủ đề Actor (1031 pages) với số cụm k=6 40

Trang 13

MỞ ĐẦU

Trong bối cảnh hiện nay, khi mà các phương tiện xã hội phát triển một cách nhanh chóng, với lượng thông tin dữ liệu khổng lồ (Big Data) mà chúng mang lại, đã góp phần làm phong phú và đa dạng nguồn tài nguyên cho khai phá dữ liệu Có thể kể đến một số mạng xã hội lớn như Facebook (Tính đến tháng 9 năm 2012 Facebook có hơn 1 tỷ thành viên truy cập hàng tháng trên khắp thế giới Đến tháng 9 năm 2014, số người dùng tích cực trên Facebook là 1.35 tỷ người Con số đó đã tăng lên tới 1.59 tỷ người vào tháng 8 năm 2015) hay Twitter (số lượng các Tweet trung bình trong một ngày đạt mức 340 triệu năm 2012) Số lượng người dùng trong mạng tăng dẫn đến số lượng thông tin ngày càng nhiều Cùng với đó một loạt các Fanpage theo chủ đề được lập ra Nếu chúng ta có thể phân tích, khai thác từ nguồn tài nguyên dữ liệu khổng lồ này, chúng sẽ mang lại cho chúng ta lượng thông tin hữu ích và có ý nghĩa rất to lớn đối với các tổ chức, doanh nghiệp Điều này cho thấy tiềm năng của khai phá dữ liệu các trang Fanpage trên Facebook là rất lớn

Trong một chủ đề bất kỳ được chọn ra, ví dụ: ẩm thực Tổng số Fanpage tại thị trường Việt Nam ta có thể lấy được là: 532 pages Một quán ăn A với một Fanpage vừa được lập trên Facebook muốn được học hỏi kinh nghiệm quản lý và sử dụng Fanpage từ những người đi trước Muốn tạo ra các bước đột phá trong việc sử dụng Facebook Page để truyền thông tới mọi người, quán ăn A cần biết làm sao để đạt được lượng người dùng thu hút, những Fanpage nổi tiếng đã làm gì để có lượng tương tác với người dùng lớn vậy Hay khi đăng bài quảng cáo truyền thông trên Facebook, Fanpage cần tránh điều gì, nhưng người đi trước đã thất bại bởi điều gì Đây là một

ví dụ về nhu cầu đối với việc phân tích dữ liệu các trang Fanpage trên mạng xã hội Facebook Việc phát hiện ra trang Fanpage nào có sự đột phá trong khoảng thời gian nhất định, hay Fanpage nào gặp phải trục trặc và mất đi sự tương tác của người dùng là rất quan trọng Việc xác định được những Fanpage có sự bất thường xảy ra sẽ giúp cho người dùng có rất nhiều dữ liệu học về sau, nhờ đó có thể tăng hiệu suất và khả năng thành công cho quảng bá truyền thông Fanpage trên Facebook

Phát hiện sự bất thường trong dữ liệu mạng truyền thông xã hội, tức là phát hiện ra những thời điểm, sự vật, sự việc hay hiện tượng bất thường trong một tập dữ liệu đầu vào của các trang mạng truyền thông xã hội, từ đó đưa ra thông tin hữu ích cho người dùng, phân tích thông tin tạo dữ liệu học cho các Fanpage khác sau này

Trang 14

Do sự ảnh hưởng rất lớn của Facebook lên người tiêu dùng trên toàn thế giới, nên các doanh nghiệp vừa nhỏ thậm chí cả doanh nghiệp lớn luôn muốn am hiểu về tâm lý người tiêu dùng, ngoài ra luôn muốn tìm cách để truyền thông quảng bá hình ảnh công ty, doanh nghiệp đến với tất cả mọi người Do đó, các doanh nghiệp buộc phải tạo cho mình một Fanpage riêng, thông qua đó quảng bá và tạo hình ảnh thương hiệu doanh nghiệp lên người dùng Facebook nói chung và người trên toàn thế giới nói riêng Mục tiêu của phát hiện sự bất thường trên các Fanpage theo cùng một chủ đề sẽ giúp các doanh nghiệp hiểu rõ hơn về tâm lý thói quen và đối tượng khách hàng tiềm năng mà mình có thể nhắm đến Hay thậm chí cả khung giờ, địa điểm, các bên liên kết kinh doanh có thể hợp tác…

Khóa luận này đề cập đến vấn đề phát hiện ra sự bất thường trên tập dữ liệu của các Fanpage của thương hiệu VietNam theo các chủ đề khác nhau Mô hình được xây dựng dựa trên thuật toán phân cụm K-means với độ đo tương đồng hệ số tương quan Pearson, sau đó phân tích kết quả trả về để đưa ra dữ liệu học cho các Fanpage khác Hướng tiếp cận này dựa trên nghiên cứu của Manish Gupta [1] cùng nhóm nghiên cứu về mô hình phát hiện sự bất thường trên các luồng dữ liệu (Outlier detection for Data streams)

Nội dung của khóa luận được chia thành các chương như sau:

Chương 1: Giới thiệu chung về dữ liệu mạng xã hội, các kiểu dữ liệu trên mạng xã hội hiện đang tồn tại Điểm bất thường là gì, các loại điểm bất thường Định nghĩa bài toàn phát hiện bất thường trên dữ liệu mạng xã hội Mô hình bài toán đối với từng kiểu dữ liệu Từ đó đề cập đến giải pháp phát hiện sự bất thường trên dữ liệu mạng xã hội cho kiểu dữ liệu áp dụng trong khóa luận

Chương 2: Khóa luận trình bày về phát hiện bất thường trên mạng xã hội, bao

gồm khái niệm, các phương pháp phát hiện đối với từng kiểu loại dữ liệu, các kỹ thuật phát hiện bất thường được lựa chọn trong khóa luận Từ đó đề cập đến giải pháp phát hiện sự bất thường trên dữ liệu mạng xã hội được áp dụng trong khóa luận

Chương 3: Khóa luận trình bày về tư tưởng chính của mô hình đề xuất cho bài

toán phát hiện bất thường Khóa luận giới thiệu chi tiết từng bước thực hiện trong mô hình làm việc với tập dữ liệu luồng (Data streams) được khai phá từ Facebook

Trang 15

Chương 4: Khóa luận trình bày thực nghiệm về việc phát hiện sự bất thường

trên dữ liệu mạng xã hội Facebook, đồng thời so sánh các kết quả với việc thực hiện các chiến lược khác với chiến lược trong mô hình để xuất ở chương 3

Phần kết luận: Tóm lược kết quả đạt được của khóa luận và định hướng phát

triển tương lai

Trang 16

Chương 1 Phát hiện bất thường trên mạng xã hội

1.1 Bất thường trên mạng xã hội

1.1.1 Giới thiệu chung

Bất thường (Outlier) là phần tử hoặc tập hợp các phần tử có sự khác biệt lớn với các phần tử khác trong một tập hợp dữ liệu Outliers xuất hiện do sự chênh lệch về

độ biến thiên trong việc thống kê đo lường hay giá trị lỗi trong các cuộc thử nghiệm, cũng có thể là do sự phân bố không đồng đều của tập hợp các điểm so với các giá trị khác trong cùng tập dữ liệu

Hầu hết các số liệu thử nghiệm sẽ tồn tại một điểm hoặc tập hợp điểm vượt ngưỡng các giá trị cho phép, hoặc có giá trị chênh lệch lớn với các điểm còn lại Nguyên nhân có thể là do lỗi không mong muốn của hệ thống hoặc các sai sót trong lý thuyết của phân phối xác suất và còn do điểm nhìn dữ liệu quá xa so với trung tâm Vì vậy các Outliers có thể chỉ ra các dữ liệu lỗi, qui trình lỗi, các miền mà theo lí thuyết

sẽ không tồn tại Tuy nhiên, nếu trong một tập dữ liệu lớn, sẽ luôn xuất hiện một số lượng nhỏ các Outliers dù không phải do sự sai số, thiếu sót hay lỗi hệ thống

Outliers là những điểm cực trị, có thể là điểm cực đại, có thể là điểm cực tiểu hay cũng có thể là cả hai Nó phụ thuộc vào đâu là điểm cực của tập dữ liệu Tuy nhiên, điểm cực đại và cực tiểu của dữ liệu không phải lúc nào cũng là Outlier, bởi có thể điểm không dù là cực tiểu hay cực đại nhưng lại có khoảng cách hoặc sự chênh lệch không quá xa so với các điểm còn lại

1.1.2 Các loại bất thường

Outlier có thể được phân làm 3 loại sau:

● Point Outliers ( Điểm giá trị bất thường )

● Context Outliers ( Điểm ngữ cảnh bất thường )

● Collective Outliers ( Điểm phân bố bất thường )

Trang 17

Điểm giá trị bất thường:

Hình 1.1 Điểm giá trị bất thường

Trong một tập dữ liệu rời rạc, nếu một trường hợp giá trị dữ liệu riêng lẻ bị coi như là khác biệt với toàn bộ các giá trị dữ liệu còn lại trong tập dữ liệu về một thuộc

tính nào đó, thì được gọi là bất thường theo điểm giá trị hay Point outlier [13]

Ví dụ: Theo hình bên, một điểm dữ liệu có giá trị đột biến (chiều Oy) cao hơn rất nhiều so với các giá trị của các phần còn lại có giá trị Ox tương đương Như vậy ta

có thể coi đó là một điểm bất thường trong tập dữ liệu [13]

Ví dụ thực tế khác: Nếu chúng ta xét thí nghiệm kiểm tra phát hiện gian lận nạp thẻ của một hãng điện thoại dựa trên dữ liệu nạp thẻ trong quá khứ của người dùng

đó Nếu số tiền nạp thẻ trong một lần của người dùng đột nhiên tăng rất cao so với những lần nạp thẻ mà bình thường người dùng đó vẫn thường nạp, thì ta có thể coi lần nạp thẻ đó là một điểm bất thường (Outlier Point) [6]

Điểm ngữ cảnh bất thường:

Trong một tập dữ liệu liên tục, nếu 1

trường hợp dữ liệu là xảy ra sự dị thường trong

một ngữ cảnh đặc biệt, nó sẽ được gọi là điểm bất

thường theo ngữ cảnh Ngữ cảnh của một dữ liệu

là một phần trong cấu trúc tập dữ liệu, được qui

định như một phần của việc xây dựng vấn đề

Hình 1.2 Điểm ngữ cảnh bất thường

Trang 18

Mỗi trường hợp của dữ liệu được định nghĩa bởi 2 thuộc tính:

+ Thuộc tính ngữ cảnh: các thuộc tính ngữ cảnh được sử dụng để xác định ngữ cảnh của dữ liệu đó

Ví dụ: Trong một bộ dữ liệu về không gian, kinh độ vĩ độ của một điểm dữ

liệu chính là thuộc tính ngữ cảnh của dữ liệu đó Hoặc một tập dữ liệu được biểu diễn theo thời gian, trong đó thời gian chính một thuộc tính của ngữ cảnh của dữ liệu

+ Thuộc tính hành vi: Các thuộc tính hành vi xác định những đặc tính phi

ngữ cảnh của một trường hợp dữ liệu

Ví dụ: Trong một tập dữ liệu mô tả điểm trung bình của toàn bộ học sinh trong

khóa K57, khi đó điểm môn Đại Số sẽ là một thuộc tính phi ngữ cảnh của tập dữ liệu

Điểm phân bố bất thường:

Nếu một tập hợp con các phần tử dữ liệu

có sự phân bố là khác biệt, dị thường so với các

phân bố của phần tử dữ liệu khác trong tập dữ

liệu thì được gọi là phân bố bất thường Các phần

từ dữ liệu đơn lẻ nếu có sự phân bố lạ thường

cũng không được coi là một điểm phân bố bất

thường, nó cần được thể hiện bởi một tập hơn các

phần từ trong tập dữ liệu

Hình 1.3 Điểm phân bố bất thường

Có thể thấy trong hình bên, tập các phần tử màu đen có phân bộ lạ thường và

khác biệt so với tập thể các phần tử còn lại có phân bố rất đều trong tập dữ liệu

Ví dụ thực tế:

Trong một tập dữ liệu thể hiện lượng nước tiêu thụ hàng tháng của trường Đại học Công nghệ, lượng nước mọi tháng đều dừng ở mức ~200 khối nước/ tháng Đặc biệt trong 3 tháng 10, 11, 12 năm 2016, lượng nước của nhà trường sử dụng chỉ còn 50 khối/ tháng Tập hợp khung thời gian tháng 10, tháng 11, tháng 12 là một tập phân bố

dị thường so với các phân bố khác trong tập dữ liệu

Trang 19

1.2 Các kỹ thuật khai phá dữ liệu sử dụng trong phát hiện sự bất thường trên mạng xã hội

Có thể kể tới rất nhiều kỹ thuật đã được các nhà nghiên cứu trên thế giới sử dụng để thực hiện bài toán phát hiện sự bất thường trên các tập dữ liệu như : phân lớp (classification), phân cụm (clustering), láng riềng gần nhất (nearest neighbor), phân phối mật độ (density), thống kê (statistical), lý thuyết thông tin (information theory), phân rã quang phổ (spectral decomposition), trực quan (visualization), thuật toán dựa theo chiều sâu (depth), xử lý tín hiệu (signal processing)

Tùy vào từng kiểu dữ liệu, kiểu mô hình mà chúng ta áp dụng các kỹ thuật xử

lý cũng như các thuật toán một cách phù hợp Trong khóa luận này, tôi xin trình bày

về một kỹ thuật chính là phân cụm, một trong những kỹ thuật được áp dụng phổ biến nhất trong các bài toán phát hiện sự bất thường của dữ liệu Khóa luận sử dụng kỹ thuật phân cụm để giải quyết bài toán phát hiện sự bất thường trên tập dữ liệu Facebook Việt Nam đã khai phá được của công ty Datasection

1.2.1 Phân cụm dữ liệu

Phân cụm (Clustering) là kỹ thuật khai phá dữ liệu thực hiện việc nhóm dữ liệu thành các cụm để có thể phát hiện được các mẫu phân bố dữ liệu trong miền ứng dụng Phân cụm là một bài toán mô tả hướng tới việc nhận biết một tập hữu hạn các cụm hoặc các lớp để mô tả dữ liệu Các cụm có thể tách rời nhau toàn phần hoặc có thể chồng lên nhau Ví dụ bài toán phân nhóm khu vực người dùng trên Facebook, phân nhóm học sinh học giỏi, học kém học khá hay cả việc phát hiện nhóm người có chung một xu hướng tính cách… Bài toán phân cụm mục tiêu là nhằm giúp tăng độ tương đồng giữa các phân tử trong mỗi cụm và giảm độ tương đồng giữa các phần tử của cụm khác nhau Phân cụm được sử dụng rộng rãi trong rất nhiều lĩnh vực như: nghiên cứu thị trường, nhận dạng mẫu, phân tích dữ liệu, xử lý ảnh Đối với kinh doanh, truyền thông marketing trên mạng xã hội như Facebook, phân cụm có thể giúp các doanh nghiệp phân vùng khách hàng của mình thành nhiều nhóm khác nhau đồng thời cho biết các đặc trưng của nhóm người dùng này, qua đó doanh nghiệp có thể tìm ra được các chính sách cũng như chiến lược khác nhau cho các nhóm khách hàng này Việc phân cụm bài toán cần được thực hiện một cách tự động, do đó nó thuộc vào lớp các bài toán học không giám sát (unsupervised learning) [1]

Các phương pháp được sử dụng để phân cấp phổ biến như: phân cụm phẳng phân cụm phân cấp, phân cụm dựa vào mật độ, phân cụm dựa trên lưới, phương pháp

Trang 20

phân cụm dựa trên mô hình, phân cụm đơn định, phân cụm xác suất, phân cụm có chiều lớn, phân cụm dựa trên ràng buộc trong khóa luận này, tôi xin đề cập chủ yếu tới thuật toán trọng tâm sử dụng trong khóa luận là thuật toán K-means hay phân cụm phẳng

Độ do cơ bản thường dùng trong phân cụm gồm hai loại chính là độ đo tương đồng và độ đo khác biệt

1.2.2 Độ đo cơ bản dùng trong phân cụm

Trong giải thuật phân cụm, độ đo tương đồng, độ đo khác biệt được dùng để đánh giá về độ tương tự, liên quan hay độ sai khác giữa hai phần tử trong tập dữ liệu

Độ đo tương đồng Jaccard và cosin là hai độ đo rất phổ biến và được sử dụng rộng rãi

Ví dụ: Cho một miền dữ liệu D, một phần tử dữ liệu p được biểu diễn bằng một vector có số chiều là n (po, p1, p2, p3…), trong đó mỗi chiều thể hiện một thuộc tính mô tả phần tử dữ liệu p Tùy vào kiểu giá trị biểu diễn mà độ tương tự giữa hai phần tử dữ liệu p1, p2 có thể được tính toán bằng nhiều cách khác nhau

 Trong trường hợp các giá trị thuộc tính được biểu diễn bằng các giá trị thập phân pi {0, 1} Độ đo Jaccard xác định độ tương tự giữa hai phần tử dữ liệu p1 , p2 được định nghĩa bằng công thức sau :

 Trường hợp các giá trị thuộc tính được biểu diễn bằng các giá trị rời rạc,

ta sẽ biến thuộc tính đó thành các thuộc tính nhị phân rồi áp dụng công thức tính độ tương đồng Jaccard Ví dụ thuộc tính xếp loại học lực có các giá trị rời rạc là {giỏi, khá, trung bình, kém} khi đó ta chuyển đổi thuộc tính học lực này thành các thuộc tính

học lực giỏi, khá, trung bình, kém với các giá trị được biểu diễn dưới dạng nhị phân {0,

1}

Trang 21

 Trong trường hợp giá trị pi các thuộc tính là liên tục (hay là các số thực) thỳ có công thứ Cosin rất hay được sử dụng

Nếu là thuộc tính đối xứng :

Nếu là thuộc tính bất đối xứng :

Giá trị pi được biểu diễn bằng giá trị rời rạc :

Trang 22

√∑| |

Bằng việc lập bảng ma trận kề, ta có thể tính được độ khác biệt của các phần tử

dữ liệu

1.2.3 Thuật toán K-means

Giải thuật k-means thuộc lớp phân cụm phẳng, đầu vào cho thuật toán k-means

là tập dữ liệu D, gồm n phần tử dữ liệu, số lượng các cụm đầu ra k Đầu ra của giải thuật là k cụm dữ liệu.[13] Cụ thể các bước thực hiện giải thuật k-means :

 Đầu vào : Tập dữ liệu D, số lượng cụm k

 Đầu ra : Tập dữ liệu đã được phân thành k cụm

Thuật toán k-means được phát biểu bằng lời như sau:

1 Chọn ngẫu nhiên k phần tử trong D, làm trọng tâm ban đầu cho các cụm

2 Phân các phần tử dữ liệu trong D vào các cụm dựa vào độ tương đồng của nó với trọng tâm của các cụm Phần tử dữ liệu sẽ được phân vào cụm có độ tương đồng lớn nhất

3 Tính lại trọng tâm của các cụm

4 Nhảy đến bước 2 cho đến khi quá trình hội tụ (không có sự gán lại các phần tử dữ liệu giữa các cụm, hay trọng tâm của các cụm)

Kết quả thuật toán k-means phụ thuộc rất nhiều vào số cụm k được lựa chọn ngẫu nhiên ban đầu Do số lượng k cụm là hoàn toàn ngẫu nhiên, nên kết quả thu được các lần chạy khác nhau có thể sẽ khác nhau Hơn nữa kết quả thuật toán k-means cũng

sẽ bị ảnh hưởng rất lớn nếu tập dữ liệu đầu vào quá thưa Việc các phần tử có phân bố rải rác và tạo một khoảng cách quá lớn trải đều trên trục giá trị oxy, sẽ khiến việc phân cụm gặp khó khăn Vì vậy ta cần chú ý khâu tiền xử lý dữ liệu trước khi đi vào thực nghiệm

Ưu nhược điểm của k-mean:

 Ưu điểm của thuật toán là thực hiện tương đối nhanh, độ phức tạp của thuật toán là O(tkn) (t: số lần lặp, k: số cụm cần phân hoạch, n: số điểm cần gom cụm), phù hợp với các cụm có phần tử phân bố dạng cầu

Trang 23

 Nhƣợc điểm của k-means là khó phát hiện các loại cụm có dạng phức tạp (không phải dạng cầu), không xử lý đƣợc các mẫu cá biệt, nhiễu Kết quả đầu ra phụ thuộc nhiêu vào việc chọn số cụm k khởi tạo Do đó cần thay đổi k để có đƣợc kết quả tốt nhất với số cụm k phù hợp

Trang 24

1.3 Phát hiện bất thường

Phát hiện bất thường (Outlier detection) còn được phát biểu dưới nhiều tên bài toán khác như: phát hiện sự kiện (Event detection), phát hiện sự mới lạ (Novelty detection), phát hiện sự lệch lạc (Deviant detection), phát hiện lỗi (Fault detection)…

Là bài toán phát hiện ra những điểm dị thường hay tập hợp các điểm dị thường trong một tập dữ liệu cho trước, từ đó phân tích và đưa ra thông tin quan trọng cho ngành khoa học công nghệ nói riêng và toàn thể xã hội nói chung

Ví dụ về bài toán phát hiện bất thường: Nghiên cứu phát hiện sự bất thường của độ cao mặt nước biển dựa vào dữ liệu không-thời gian thu thập được

Phát hiện bất thường là một bài toán lớn đã được nghiên cứu rộng rãi trong bối cảnh của xã hội công nghệ hóa hiện đại hóa khi mà lượng dữ liệu ngày càng tăng một cách chóng mặt Gần đây, việc tập trung phân tích và phát hiện sự bất thường trong tập dữ liệu theo thời gian đã được các nhà nghiên cứu đào sâu phát triển mạnh

mẽ Sự bất thường theo thời gian tồn tại rất nhiều trong cuộc sống xung quanh ta Do

đó bài toán phát hiện sự bất thường trên tập dữ liệu theo thời gian là đang là một lĩnh vực đầy thách thức với tất cả các chuyên gia và nghiên cứu sinh

Phát hiện bất thường thực hiện trên 3 kiểu giá trị bất thường đã được nêu trên là: Point outlier (Điểm giá trị bất thường), Context outlier (Điểm ngữ cảnh bất thường), Collective outlier (Cụm phân bố bất thường) Point outlier thường được dùng cho việc nghiên cứu các kiểu dữ liệu đa chiều, trong khi đó Contexual Outlier lại được nghiên cứu chủ yếu trong các dữ liệu phụ thuộc theo định hướng nào đó ví dụ như chuỗi thời gian (time-series), chuỗi rời rạc, dữ liệu không gian (spatial data) và đồ thị (graph)

Phát hiện bất thường phụ thuộc vào kiểu dữ liệu đầu vào với mỗi dạng ta cần

có mô hình và kỹ thuật xử lý khác nhau Theo Gupta thỳ phát hiện bất thường được phân ra thành các dạng chính sau:

 phát hiện bất thường trên tập dữ liệu theo chuỗi thời gian

 phát hiện bất thường trên tập các dòng dữ liệu

 phát hiện bất thường trên dòng dữ liệu phân tán

 phát hiện bất thường trên dữ liệu không gian thời gian

 phát hiện bất thường trên dữ liệu đồ thị

Trang 25

Hình 1.4 Phân loại phát hiện bất thường theo kiểu dữ liệu

Việc lựa chọn kiểu dữ liệu là rất quan trọng và ảnh hưởng lớn đến kết quả phân tích và nghiên cứu của bài toán phát hiện sự bất thường Một số loại kỹ thuật giám sát, bán giám sát và không giám sát đã được áp dụng để thực hiện bài toán phát hiện bất thường trên tập dữ liệu Đặc biệt ta có thể kể đến các kỹ thuật phổ biến như : phân lớp (classification), phân cụm (Clustering), láng giềng gần nhất (nearest neighbor), phân

bố mật độ (density-based), thống kê (statistical), thông tin lý thuyết ( information theory - based), dựa trên chiều sâu (depth-based), xử lý tín hiệu (signal processing-based)

Phát hiện bất thường đã được đưa vào nghiên cứu tại một loạt các lĩnh vực dữ

liệu bao gồm: dữ liệu kích thước lớn (high-dimenstion data), dữ liệu bất ổn định

(uncertain data), dữ liệu theo luồng (streaming data), dữ liệu mạng (network data), dữ liệu chuỗi thời gian (time series data) Phát hiện sự bất thường đã được sử dụng rộng

rãi cho việc phát hiện sự xâm nhập, phát hiện gian lận, phát hiện lỗi, hệ thống theo dõi sức khỏe, phát hiện sự kiện trong các mạng cảm biến, phát hiện rối loạn hệ sinh thái Phát hiện sự bất thường cũng rất phổ biến trong việc phát triển các ứng dụng công nghiệp Do đó nhiều phần mềm, ứng dụng đã được đã được xây dựng để nhằm mục đích phát hiện các sự bất thường một cách hiệu quả Các tập ứng dụng phần mềm phổ biến như: R, SAS, RapidMiner and Oracle datamine

1.4 Phát biểu bài toán

Facebook là một mạng đồ thị khổng lồ do vậy mọi sự tương tác đều được thể hiện dưới danh liên kết [3] [7], hiệu ứng lan truyền thông tin của Facebook rất nhanh

và hiệu quả, dẫn tới hầu hết doanh nghiệp đều có một trang mạng xã hội cho riêng

Trang 26

doanh nghiệp đó Số lượng người theo dõi trên trang mạng xã hội càng lớn Fanpage càng có khả năng quảng bá đến nhiều người hơn

Hiện tại khoảng trên 20 triệu người dùng tại Việt Nam truy cập sử dụng Facebook mỗi ngày Do đó lượng dữ liệu thu được từ tương tác người dùng với các Fanpage đang tăng rất nhanh, và sẽ không dừng lại Con số dữ liệu khổng lồ này đã

mở ra một khung trời mới cho lĩnh vực nghiên cứu khai phá dữ liệu nói chung và khai phá dữ liệu mạng xã hội nói riêng

Có rất nhiều thông tin dữ liệu của một trang mạng xã hội ta có thể khai thác ví

dụ như : các bài đăng (post) của doanh nghiệp, các bài đăng của người theo dõi trên Fanpage hay thông tin cơ bản về trang mạng xã hội như tên, địa chỉ, email, số điện thoại, lượt yêu thích Page của người theo dõi, chuyên mục Page (category), ngày thành lập, đường dẫn (link) đến Fanpage Facebook, đường dẫn đến trang web.…Với mỗi bài đăng, sẽ có những thông tin và dữ liệu như : lượt thích, ID của người dùng thích bài post, lượt comment, thông tin người comment và nội dung comment, lượt share, thông tin người share và nội dung viết trong bài share… Nhờ những dữ liệu được công khai khổng lồ đó, qua các kỹ thuật và công cụ hỗ trợ, các nhà nghiên cứu đã khai phá, phân tích và tạo ra rất nhiều thông tin hữu ích cho các doanh nghiệp hay xã hội, đặc biệt là trong ngành truyền thông marketing

Ví dụ: Bảng thống kê xếp hạng các bài đăng trong Page dựa vào tổng số lượt tương tác với Page trong tháng 3/2016 của ứng dụng trên web http://insightreport.vn/

thuộc công ty Datasection Vietnam

Hình 1.5: Bảng xếp hạng lượt tương tác của các bài đăng trong Fanpage “Page

tiếng việt về Nhật Bản - JapanFanPage” tháng 3/2016

Trang 27

Trong ảnh trên, bài đăng về “Tính kỷ luật của Người Nhật Bản” của người đăng “Page tiếng việt về Nhật Bản - JapanFanPage” là bài đăng có nhiều lượt tương tác nhất của Page trong tháng 3/2016 với sáu lượt thích của người theo dõi, một bình luận, hai chia sẻ

1.4.1 Phát hiện bất thường trên mạng xã hội

Bài toán: Phát hiện sự bất thường trên mạng xã hội sử dụng kỹ thuật khai phá

dữ liệu

Đầu vào: Tập dữ liệu công khai của các trang mạng xã hội của Việt Nam được

công ty Datasection khai phá vào tháng 3 và tháng 2

Đầu ra: Nhóm trang mạng hoặc trang mạng có sự bất thường về lượng tương

tác của người dùng, và số bài đăng của tháng 3

1.4.2 Những khó khăn và thách thức của bài toán

Đối với bài toán phát hiện sự bất thường trên mạng xã hội dựa vào tập dữ liệu

về các trang mạng của tổ chức, nhóm, doanh nghiệp tại Việt Nam có rất nhiều thách thức và khó khăn khi triển khai Điển hình là lượng dữ liệu cần xử lý rất lớn, dữ liệu đầu vào cần xử lý là 298.4400 dòng, mỗi dòng tương ứng với dữ liệu của một trang mạng xã hội, đã được biểu diễn dưới dạng JSON Việc thao tác xử lý với một tập dữ liệu lớn đòi hỏi thời gian và tiền xử lý dữ liệu kỹ càng trước khi đi vào thực hiện giải quyết bài toán Tiến hành chọn ra một chủ đề trong tập dữ liệu có lượng page thu thập được nhiều trên 500 pages Áp dụng mô hình phát hiện sự bất thường đối với dòng dữ liệu lên tập dữ liệu theo chủ đề thu thập được, tìm ra được nhóm page hay page có sự bất thường so với các trang mạng khác

Tóm tắt chương 1

Chương 1 trình bày các nội dung cơ bản về sự bất thường và phát hiện sự bất thường, cho cái nhìn tổng quan về các dạng bất thường cũng như kiểu loại dữ liệu đang tồn tại Từ đó giúp ta hiểu rõ hơn và xác định được phương hướng giải quyết bài toán phát hiện sự bất thường cho tập dữ liệu mạng xã hội Chương tiếp theo sẽ trình bày cụ thể về các mô hình, kỹ thuật trong khai phá dữ liệu áp dụng vào bài toán phát hiện sự bất thường đối với từng kiểu dữ liệu như thế nào

Trang 28

Chương 2 Các mô hình phát hiện sự bất thường trên mạng xã hội dựa trên khai phá dữ liệu

Dữ liệu tồn tại trên mạng xã hội dưới rất nhiều dạng Đối với từng kiểu dữ liệu

sẽ có mô hình và kỹ thuật áp dụng giải quyết riêng Có 4 kiểu dữ liệu phổ biến nhất hiện nay là: dữ liệu theo chuỗi thời gian, dòng dữ liệu, dòng dữ liệu phân tán, dữ liệu không-thời gian Sau đây là trình bày chi tiết về mô hình phát hiện bất thường cho từng kiểu dữ liệu trên

2.1 Phát hiện sự bất thường trên tập dữ liệu chuỗi thời gian

Chuỗi thời gian hay các trình tự rời rạc sẽ giúp đánh số và phân dữ liệu theo những khoảng thời gian liên tục Dù phân tích chuỗi thời gian đã là một chủ đề khá lâu đời trong lĩnh vực khai phá dữ liệu, nhưng hiện nay, vẫn đang có một số lượng rất lớn các công việc, nghiên cứu được thực hiện xung quanh chủ đề này và dường như sẽ không bao giờ chấm dứt Do đó, một số lượng lớn các mô hình được sinh ra để lưu trữ

dữ liệu chuỗi thời gian liên tục Công trình đầu tiên liên quan đến việc phát hiện bất thường cho dữ liệu chuỗi thời gian tương ứng với mô hình tham số Trong phần này chúng tôi sẽ đề cập đến 2 loại dữ liệu chính của tập dữ liệu theo thời gian: sự bất thường trong cơ sở dữ liệu chuỗi gian (Outliers in time series databases) và bất thường trong chuỗi thời gian (Outlier within a given time) [10]

2.1.1 Bất thường trong cơ sở dữ liệu chuỗi thời gian

Cho một tập cơ sở dữ liệu theo thời gian, xác định các khoảng thời gian liên tục có giá trị bất thường trong cơ sở dữ liệu, hay một điểm bất thường trong một chuỗi thời gian được lấy ra từ cơ sở dữ liệu Giá trị một điểm bất thường có thể được tính toán trực tiếp hoặc được tính bằng điểm số tính toán dựa vào việc chồng chéo các cửa

sổ trượt kích thước cố định rồi tổng hợp chúng

Ngày đăng: 04/11/2020, 23:41

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w