TRANG TÓM TẮT TIẾNG ANH RÚT TRÍCH CÁC BÌNH LUẬN TRÊN MẠNG XÃ HỘI VỀ MỘT SỐ NHÂN VẬT NỔI TIẾNG ĐỂ PHÂN TÍCH, ĐÁNH GIÁ CẢM XÚC CỦA NGƯỜI DÙNG VỀ HỌ Học viên: Nguyễn Thanh Hải Chuyên ngà
Trang 1ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC BÁCH KHOA
NGUYỄN THANH HẢI
RÚT TRÍCH CÁC BÌNH LUẬN TRÊN MẠNG XÃ HỘI
VỀ MỘT SỐ NHÂN VẬT NỔI TIẾNG ĐỂ PHÂN TÍCH, ĐÁNH GIÁ CẢM XÚC CỦA NGƯỜI DÙNG VỀ HỌ
Chuyên ngành: Khoa học máy tính
Mã số: 8480101
LUẬN VĂN THẠC SĨ KỸ THUẬT
Người hướng dẫn khoa học: TS TRƯƠNG NGỌC CHÂU
Đà Nẵng - Năm 2018
Trang 2LỜI CAM ĐOAN
Tôi xin cam đoan:
- Những nội dung trong luận văn này là do tôi thực hiện dưới sự hướng dẫn của Ts Trương Ngọc Châu
- Mọi tham khảo dùng trong luận văn đều được trích dẫn rõ ràng, trung thực về tên tác giả, tên công trình, thời gian và địa điểm công bố
- 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
Nguyễn Thanh Hải
Trang 3
MỤC LỤC
TRANG BÌA
LỜI CAM ĐOAN
MỤC LỤC
TRANG TOM TẮT LUẬN VĂN
DANH MỤC CAC TỪ VIẾT TẮT DANH MỤC CÁC HÌNH MỞ ĐẦU 1
1 Tính cấp thiết của đề tài, ý nghĩa thực tiễn: 1
2 Mục tiêu nghiên cứu: 2
3 Đối tượng và phạm vi nghiên cứu: 2
4 Phương pháp nghiên cứu đề tài: 2
5 Ý nghĩa khoa học và thực tiễn: 3
6 Dự kiến kết quả đạt được 3
CHƯƠNG 1: TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU 5
1.1 Khai phá dữ liệu 5
1.1.1 Khái niệm 5
1.1.2 Các bước trong quá trình khai phá dữ liệu 6
1.1.3 Các hướng tiếp cận và kỹ thuật áp dụng trong khai phá dữ liệu 7
1.1.4 Ứng dụng của khai phá dữ liệu 8
1.2 Khai phá dữ liệu Web 9
1.2.1 Khai phá dữ liệu web 9
1.2.2 Lợi ích của khai phá dữ liệu web 9
1.2.3 Khó khăn 10
1.2.4 Thuận lợi 12
1.2.5 Các kiểu dữ liệu web 13
1.3 Các thách thức trong khai phá dữ liệu 13
1.3.1 Các vấn đề về Cơ sở dữ liệu 13
1.3.2 Một số vấn đề khác 15
1.4 Các phương pháp tách từ hiện nay 16
Trang 41.4.1 Phương pháp Maximum Matching 16
1.4.2 Phương pháp giải thuật học cải biến (Transformation-based Learning - TBL) 17
1.4.3 Mơ hình tách từ bằng WFST và mạng Neural 17
1.4.4 Phương pháp Quy hoạch động : chỉ sử dụng tập ngữ liệu thơ để lấy thơng tin về tần số thống kê của từ, làm tăng độ tin cậy cho việc tính tốn 18
1.5 Các cơng trình khai phá và xử lý dữ liệu đã được phát triển 18
1.6 Kết luận Chương 1 19
CHƯƠNG 2: PHƯƠNG PHÁP RÚT TRÍCH DỮ LIỆU TỪ MẠNG XÃ HỘI VÀ PHÂN LỚP DỮ LIỆU 20
2.1 Giới thiệu bài tốn 20
2.2 Mạng xã hội 20
2.2.1 Giới thiệu 20
2.2.2 Các mạng xã hội phổ biến hiện nay 21
2.2.3 Mạng xã hội Twitter 23
2.3 Phương pháp rút trích dữ liệu từ mạng xã hội Twitter 26
2.3.1 Twitter REST API 26
2.3.2 Các phương thức của REST API v1.1 26
2.4 Lựa chọn giải pháp phân lớp dữ liệu 31
2.4.1 Support Vector Machine (SVM) 31
2.4.2 Phương pháp K-Neaest Neighbor (KNN) 32
2.4.3 Phân loại Nạve Bayse (NB) 33
2.4.4 Centroid- based vector 35
2.4.5 Linear Least Square Fit (LLSF) 35
2.5 Kết luận Chương 2 36
CHƯƠNG 3: THỰC NGHIỆM VÀ ĐÁNH GIÁ 38
3.1 Hướng tiếp cận thực nghiệm 38
3.2 Tiến hành thực nghiệm 39
3.2.1 Mơi trường thực nghiệm 39
3.2.2 Bài tốn 39
3.2.3 Cài đặt các thành phần cần thiết: 40
Trang 53.2.4 Tiến hành các bước thực nghiệm 40
3.3 Đánh giá kết quả 51
3.4 Kết luận Chương 3 51
KẾT LUẬN 52
DANH MỤC TÀI LIỆU THAM KHẢO 53
QU ẾT Đ NH GIAO ĐỀ TÀI LUẬN VĂN THẠC S (BẢN SAO)
BẢN SAO KẾT LUẬN CỦA HỘI ĐỒNG, BẢN SAO NHẬN XÉT CỦA CÁC PHẢN BIỆN
Trang 6TRANG TÓM TẮT TIẾNG ANH RÚT TRÍCH CÁC BÌNH LUẬN TRÊN MẠNG XÃ HỘI
VỀ MỘT SỐ NHÂN VẬT NỔI TIẾNG ĐỂ PHÂN TÍCH, ĐÁNH GIÁ
CẢM XÚC CỦA NGƯỜI DÙNG VỀ HỌ
Học viên: Nguyễn Thanh Hải Chuyên ngành: Khoa học máy tính
Mã số: 8480101 Khóa: 34.KMT.QB Trường Đại học Bách khoa - ĐHĐN
Tóm tắt - Luận văn đã thu được một số kết quả nhất định và khái quát được những kiến thức cơ bản về khai phá dữ liệu, khai phá dữ liệu trên nền WEB, đưa ra cái nhìn tổng quan về mạng xã hội, các mạng xã hội phổ biến hiện nay đặc biệt là mạng xã hội Twitter, trình bày phương pháp rút trích dữ liệu từ mạng xã hội Twitter và các giải pháp phân lớp dữ liệu Viết một ứng dụng Demo để lấy 200 tweet từ mạng xã hội Twitter với từ khóa là Tổng thống Mỹ Donal Trump để phân tích, đánh giá cảm xúc của người đăng tweet hoặc của người dùng mạng
xã hội về một nhân vật cụ thể là Donal Trump Nghiên cứu nâng cao hiệu quả, tính chính xác của quá trình rút trích thông tin, đánh giá kết quả Lấy thông tin từ đa người dùng của mạng xã hội chứ không hạn chế một cá nhân cụ thể từ đó có thể đánh giá quan điểm của người dùng mạng xã hội một cách chính xác hơn
Từ khóa: Tổng thống Mỹ Donal Trump để phân tích, đánh giá cảm xúc của người đăng tweet
EXTRACTING COMMENTS ON SOCIAL MEDIA ABOUT A NUMBER OF CELEBRITIES TO ANALYZE AND ASSESS USER FEELINGS ABOUT THEM Abstract - The thesis has obtained some certain results and generalized the basic knowledge of data mining, data mining on the WEB platform, giving an overview of social networks, universal social networks The current variable, especially Twitter, presents data extraction methods from Twitter and data classification solutions Write a Demo application to get 200 tweets from the Twitter social network with the keyword US President Donal Trump to analyze and assess the emotions of tweeters or social network users about a specific character, Donal Trump Research to improve efficiency, accuracy of information extraction process, evaluate results Get information from multi-users of social networks, not restricting a specific individual from which to assess the views of social network users more accurately
Key words: President Donal Trump to analyze and assess the emotions of tweeters
Trang 8DANH MỤC CÁC HÌNH
Hình 1.1: Các bước trong Datamining và KDD 6
Hình 1.2: Các bước trong khai phá dữ liệu 6
Hình 1.3: Phân loại dữ liệu web 13
Hình 2.1: Siêu mặt phẳng h phân chia dữ liệu huấn huyện thành 2 lớp + và – với khoảng cách biên lớn nhất Các điểm gần h nhất là các vector hỗ trợ, Support Vector (được khoanh tròn) 31
Hình 3.1: Tạo app để truy xuất dữ liệu từ mạng xã hội Twitter 41
Hình 3.2: Twitter App đã tạo xong 41
Hình 3.3: Các key cần thiết 42
Hình 3.4: Hiển thị chiều dài của các tweet theo thời gian 47
Hình 3.5: Hiển thị số lượt like và số lần retweet theo thời gian 48
Hình 3.6: Hiển thị nguồn gốc của thiết bị dùng để đăng tweet 48
Trang 9MỞ ĐẦU
1 Tính cấp thiết của đề tài, ý nghĩa thực tiễn:
Sự phát triển của khoa học công nghệ đã đem đến cho xã hội loài người những thay đổi vượt bậc Mỗi một đột phá trong lĩnh vực công nghệ lại tạo tiền
đề phát triển một loại hình truyền thông mới Công nghệ mới đã dẫn đến những phong cách và kiểu mẫu truyền thông mới Trong khi Internet đang có một thời đại phát triển bùng nổ, các hình thức truyền thông mới đang ngày càng thu hút được đông đảo người xem Những người dùng Internet - đặc biệt là giới trẻ, bắt đầu tìm kiếm một nơi thỏa mãn mọi nhu cầu về thông tin, giải trí, kết nối… và mạng xã hội ra đời, đáp ứng một cách gần như hoàn hảo những nhu cầu đó Hiện nay thế giới có hàng trăm mạng xã hội khác nhau như Facebook, outube, Twitter, MySpace… Mỗi mạng xã hội có một sự thành công nhất định dựa trên sự phù hợp với những yếu tố về địa lý, văn hóa… Twitter và Facebook nổi tiếng nhất trong thị trường Bắc Mỹ và Tây Âu; Orkut và Hi5 tại Nam Mỹ; Friendster tại Châu Á và các đảo quốc Thái Bình Dương
Trong thời đại được gọi là “Thế giới phẳng”, không ai có thể phủ nhận lợi ích từ mạng xã hội, đặc biệt là giới trẻ Lượng thông tin chia sẻ thông qua mạng
xã hội là hết sức lớn và vô cùng phong phú, đa dạng dẫn đến số lượng người sử dụng mạng xã hội ngày càng đông đảo Vì vậy mà ảnh hưởng của mạng xã hội đến việc truyền tải, tiếp nhận thông tin ngày càng lớn Việc sở hữu 01 tài khoản trên mạng xã hội ngày nay cũng đã trở thành thứ không thể thiếu với quá nhiều người
Sự bùng nổ, phát triển của công nghệ thông tin và mạng xã hội đã đem tới
cho người sử dụng một lượng dữ liệu khổng lồ nhưng thông tin mà chúng ta có,
cần thật sự rất ít Các công cụ và kỹ thuật phân tích dữ liệu truyền thống cho việc trích lọc thông tin hữu ích cho các quá trình nghiên cứu, khảo sát nắm bắt thông tin, kinh doanh, … thì không hiệu quả cho một tập dữ liệu rất lớn và đa dạng về mặt cấu trúc Khai phá dữ liệu (data mining) là một lĩnh vực nghiên cứu quá trình phân tích dữ liệu từ kho dữ liệu Một trong các nội dung cơ bản nhất trong khai phá dữ liệu và rất phổ biến là khai phá dữ liệu web Kỹ thuật khai phá dữ liệu này cho phép trích xuất tri thức từ cơ sở dữ liệu khổng lồ, phương pháp này cho phép
trích xuất ra nhiều thông tin hữu ích về các đối tượng cụ thể, các cá nhân nổi
Trang 10tiếng như: các chính trị gia, ca sỹ,…
Việc nắm bắt được các thông tin hữu ích từ mạng xã hội, có những nhận xét tích cực lẫn tiêu cực về các cá nhân là “người nổi tiếng” sẽ giúp các tổ chức
(chính phủ hoặc phi chính phủ), công ty quản lý (đối với ca sỹ, )……có thể
thăm dò đánh giá, phản ứng của dư luận về các cá nhân chịu sự quản lý của mình
Trên cơ sở đó, tôi chọn đề tài “Rút trích các bình luận trên mạng xã hội
về một số nhân vật nổi tiếng để phân tích, đánh giá cảm xúc của người dùng
về họ” để làm luận văn tốt nghiệp
Luận văn này sẽ minh họa cách làm thế nào để khai phá dữ liệu người dùng trên mạng xã hội, làm thế nào để trích xuất các giá trị từ mạng xã hội Nghiên cứu này sẽ giải thích chi tiết về kịch bản, cách thức sử dụng API của mạng xã hội để phân tích dữ liệu lớn
2 Mục tiêu nghiên cứu:
Trên cơ sở lý thuyết về xử lý ngôn ngữ tự nhiên, phân tích từ vựng trong đoạn văn bản, bước đầu xây dựng ứng dụng demo có thể phân tích ý kiến đánh giá từ một đoạn văn bản
Dữ liệu đầu vào của chương trình được khai thác từ các trang mạng xã hội như Facebook, Twitter
3 Đối tượng và phạm vi nghiên cứu:
- Đối tượng nghiên cứu: Người dùng có tài khoản và tương tác trên mạng
xã hội Twitter
- Phạm vi nghiên cứu: Mạng xã hội Twitter, ngôn ngữ sử dụng là tiếng Anh
4 Phương pháp nghiên cứu đề tài:
- Tìm hiểu phương pháp khai thác dữ liệu từ mạng xã hội
- Tìm hiểu các phương pháp phân lớp dữ liệu và phân loại văn bản: học máy, SVM (support vector machine), KNN (K-Neaset Neighbor),
- Tiến hành phân tích và xây dựng ứng dựng mô phỏng cho lý thuyết nghiên cứu
- Phân tích văn bản đã khai thác được từ mạng xã hội để xem văn bản đó
là mang ý nghĩa tích cực hay tiêu cực
Trang 115 Ý nghĩa khoa học và thực tiễn:
+ Kết quả nghiên cứu sẽ giúp đánh giá sự quan tâm của người dùng về một
số nhân vật nổi tiếng mang tính tích cực hay tiêu cực
+ Kết quả nghiên cứu sử dụng để khảo sát người dùng về một số nhân vật nổi tiếng một cách khách quan hơn
6 Dự kiến kết quả đạt được
- Minh họa cách làm thế nào để khai phá dữ liệu người dùng trên mạng xã hội, làm thế nào để trích xuất các giá trị từ mạng xã hội
- Xây dựng một ứng dụng demo có khả năng rút trích thông tin trên mạng
xã hội Twitter nhằm đánh giá phản ứng của người dùng
7 Bố cục luận văn
Dựa trên những mục tiêu đã đề ra, ngoài các nội dung như mở đầu thì luận văn sẽ được xây dựng với bố cục như sau:
CHƯƠNG 1: TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU
Chương này trình bày tổng quan về khai phá dữ liệu, các kỹ thuật khai phá
dữ liệu cũng như tính ứng dụng của nó trong các lĩnh vực đời sống, đặc biệt là dữ liệu trên nền Web
CHƯƠNG 2: CÁC PHƯƠNG PHÁP LẤY DỮ LIỆU TỪ MẠNG XÃ HỘI
Chương này trình bày tổng quan về các mạng xã hội phổ biến hiện nay, đặc
biệt là mạng xã hội Twitter Tìm hiểu phương thức lấy dữ liệu từ mạng xã hội Twitter bằng công cụ Twitter REST API Sau đó, tìm hiểu các phương pháp phân lớp dữ liệu như: SVM, NB, KNN,
Trang 12CHƯƠNG 3: THỰC NGHIỆM VÀ ĐÁNH GIÁ
Trên cơ sở tìm hiểu và phân tích các thuật toán liên quan, đặc biệt là thuật toán NB, báo cáo khảo sát các phương pháp lấy dữ liệu và phân tích dữ liệu thu được Chương này xây dựng một ứng dụng demo được viết bằng ngôn ngữ lập trình Python với bộ dữ liệu 200 tweet được lấy bằng Twitter Rest API
Trang 13CHƯƠNG 1: TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU 1.1 Khai phá dữ liệu
1.1.1 Khái niệm
Khai phá dữ liệu (datamining) được định nghĩa như là một quá trình chắt lọc hay khai phá tri thức từ một lượng lớn dữ liệu Dataming được ví như công việc "Đãi cát tìm vàng" trong một tập hợp lớn các dữ liệu cho trước
Thuật ngữ Datamining ám chỉ việc tìm kiếm một tập hợp nhỏ có giá trị từ một số lượng lớn các dữ liệu thô Có nhiều thuật ngữ hiện được dùng cũng có nghĩa tương tự với từ Datamining như Knowledge Mining (khai phá tri thức), knowledge extraction (chắt lọc tri thức), data/patern analysis (phân tích dữ liệu/mẫu), data archaeoloogy (khảo cổ dữ liệu), datadredging (nạo vét dữ liệu),
Khai phá dữ liệu là một lĩnh vực mới được nghiên cứu, nhằm tự động khai thác thông tin, tri thức mới hữu ích, tiềm ẩn từ những cơ sở dữ liệu lớn cho các đơn vị, tổ chức, doanh nghiệp, từ đó thúc đẩy khả năng sản xuất, kinh doanh, cạnh tranh cho các đơn vị, tổ chức này Các kết quả nghiên cứu khoa học cùng với những ứng dụng thành công trong khai phá tri thức cho thấy khai phá dữ liệu
là một lĩnh vực phát triển bền vững và mang nhiều lợi ích hơn hẳn so với các công cụ tìm kiếm phân tích dữ liệu truyền thống
Khai phá dữ liệu là một bước chính quan trọng và mang tính quyết định trong quá trình KDD (Knowleadge Discovery in Database) gồm 7 bước, cụ thể:
B1 Làm sạch dữ liệu (data cleaning & preprocessing): Loại bỏ nhiễu và
các dữ liệu không cần thiết
B2 Tích hợp dữ liệu: (data integration): quá trình hợp nhất dữ liệu thành
những kho dữ liệu (data warehouses & data marts) sau khi đã làm sạch và tiền xử
lý (data cleaning & preprocessing)
B3 Trích chọn dữ liệu (data selection): trích chọn dữ liệu từ những kho dữ
liệu và sau đó chuyển đổi về dạng thích hợp cho quá trình khai thác tri thức Quá trình này bao gồm cả việc xử lý với dữ liệu nhiễu (noisy data), dữ liệu không đầy
Trang 14trong đó sử dụng những phương pháp thông minh để chắt lọc ra những mẫu dữ liệu
B6 Ước lượng mẫu (knowledge evaluation): Quá trình đánh giá các kết
quả tìm được thông qua các độ đo nào đó
B7 Biểu diễn tri thức (knowledge presentation): Quá trình này sử dụng các
kỹ thuật để biểu diễn và thể hiện trực quan cho người dùng
Hình 1.1: Các bước trong Datamining và KDD 1.1.2 Các bước trong quá trình khai phá dữ liệu
Quá trình khai phá dữ liệu gồm các bước như sau:
Hình 1.2: Các bước trong khai phá dữ liệu
Trang 15 Xác định nhiệm vụ: Xác định chính xác các vấn đề cần giải quyết
Xác định các dữ liệu liên quan dùng để xây dựng giải pháp giải quyết nhiệm vụ bài toán
Thu thập các dữ liệu có liên quan và xử lý chúng thành dạng sao cho giải thuật khai phá dữ liệu có thể hiểu được
Chọn thuật toán khai phá dữ liệu thích hợp và thực hiện việc khai phá nhằm tìm được các mẫu có ý nghĩa dưới dạng biểu diễn tương ứng với các ý nghĩa đó Đặc điểm của mẫu phải là mới (ít nhất là đối với hệ thống đó) Độ mới
có thể đuợc đo tương ứng với độ thay đổi trong dữ liệu (bằng cách so sánh các giá trị hiện tại với các giá trị trước đó hoặc các giá trị mong muốn), hoặc bằng tri thức (mối liên hệ giữa phương pháp tìm mới và phương pháp cũ như thế nào) Thường thì độ mới của mẫu được đánh giá bằng một hàm logic hoặc một hàm đo
độ mới, độ bất ngờ của mẫu Ngoài ra, mẫu còn phải có khả năng sử dụng tiềm tàng Các mẫu này sau khi được xử lý và diển giải phải dẫn đến những hành động
có ích nào đó được đánh giá bằng một hàm lợi ích Ví dụ như trong dữ liệu các
khoản vay, hàm lợi ích đánh giá khả năng tăng lợi nhuận từ các khoản
1.1.3 Các hướng tiếp cận và kỹ thuật áp dụng trong khai phá dữ liệu
Khai phá dữ liệu là một chuyên ngành rất rộng và có rất nhiềuhướng
nghiên cứu (bài toán) khác nhau Tuy nhiên, chúng được tiếp cận theo các hướng
chính như sau:
- Phân lớp và dự đoán (Học có giám sát ): Phân lớp dữ liệu là việc xây
dựng một mô hình mà có thể phân cácđối tượng thành những lớp để dự đoán giá trị bị mất tại một sốthuộc tính của dữ liệu hay tiên đoán giá trị của dữ liệu sẽ xuất hiệntrong tương lai
- Phân cụm: Phân cụm dữ liệu là kỹ thuật khai phá dữ liệu tương tự như phân lớp dữ liệu Tuy nhiên, phân cụm dữ liệu là quá trình học không giám sát, là quá trình nhóm những đối tượng vào các lớp tương ứng để sao cho các đối tượng trong một nhóm là tương đương nhau, chúng khác so với các đối tượng của nhóm khác
- Luật kết hợp: Là quá trình khám phá các tập giá trị thuộc tính xuất hiện phổ biến trong các đối tượng dữ liệu Từ tập phổ biến có thể tạo ra các luật kết hợp giữa các giá trị thuộc tính trong tập các đối tượng
Trang 16- Khai phá chuỗi theo thời gian:Phân tích chuỗi được sử dụng để tìm mẫu trong tập rời rạc Chuỗi được tạo thành từ tập các giá trị rời rạc Phân tích chuỗi theo thời gian và khai phá luật kết hợp là tương tự nhau nhưng có thêm tính thứ
tự và thời gian
- Phân tích ngoại lệ: Phân tích ngoại lệ cũng là một dạng của phân cụm, nó tập trung vào các trường hợp rất khác biệt so với các trường hợp khác Đôi khi nó thể hiện những lỗi trong dữ liệu hoặc thể hiện phần thú vị nhất trong dữ liệu đó
- Hồi quy: Phương pháp hồi quy được sử dụng để đưa ra các dự báo dựa trên các dữ liệu đang tồn tại bằng cách áp dụng các công thức Một hàm sẽ được học ra từ bộ dữ liệu hiện có bằng cách sử dụng các kỹ thuật hồi quy và tuyến tính
từ việc thống kê Sau đó, dữ liệu mới sẽ căn cứ vào hàm này để đưa ra những dự đoán
1.1.4 Ứng dụng của khai phá dữ liệu
Khai phá dữ liệu đang được quan tâm và ứng dụng rộng rãi trong nhiều lĩnh vực khoa học, kinh doanh, đặc biệt trong các ngành có cơ sở dữ liệu lớn, phức tạp, chứa đựng nhiều tri thức:
- Bảo hiểm: xác định loại khách hàng có rủi ro cao hay có gian lận bảo hiểm, xác định khách hàng có thể thực hiện hết hợp đồng bảo hiểm hay đối tượng, vùng nào có khả năng tham gia bảo hiểm,
- Tài chính và thị trường chứng khoáng: phân tích tình hình tài chính, dự báo giá, chỉ sổ của các loại cổ phiếu trong thị trường chứng khoáng, phát hiện các giao dịch gian lận,
- tế: một số thông tin về chuẩn đoán bệnh qua các triệu chứng, liên hệ giữa các loại bệnh, dự đoán hiệu quả của một cuộc phẫu thuật,
- Kinh doanh - Thương mại: xác định thói quen mua hàng của khách, dự đoán chu kỳ kinh doanh của sản phẩm, dự đoán hiệu quả của một đợt quảng cáo, tiếp thị,
- Thống kê, phân tích dữ liệu và hỗ trợ ra quyết định: dựa vào dữ liệu sẵn
có, phân tích dữ liệu để đưa ra những quyết định đúng lúc, có lợi nhất
- Viễn thông: phát hiện gian lận trong cuộc gọi, xác định rủi ro trong việc
sử dụng đầu tư công nghệ mới, xu thế phát triển của khách hàng, các khu vực cần phát triển, xác định sự khác nhau giữa các dịch vụ và sản phẩm với các đối thủ
Trang 17cạnh tranh,
Ngoài ra khai thác dữ liệu còn ứng dụng trong rất nhiều lĩnh vực khác nhau của đời sống giúp đưa ra những giải pháp hiệu quả cho các vấn đề nan giải của đời sống
1.2 Khai phá dữ liệu Web
1.2.1 Khai phá dữ liệu web
Có nhiều khái niệm khác nhau về khai phá Web, nhưng có thể tổng quát hóa như sau: Khai phá Web là việc sử dụng các kỹ thuật khai phá dữ liệu (KPDL)
để tự động hóa quá trình khám phá và trích rút những thông tin hữu ích từ các tài liệu, các dịch vụ và cấu trúc Web Hay nói cách khác khai phá Web là việc thăm
dò những thông tin quan trọng và những mẫu tiềm năng từ nội dung Web, từ thông tin truy cập Web, từ liên kết trang và từ nguồn tài nguyên thương mại điện
tử bằng việc sử dụng các kỹ thuật KPDL, nó có thể giúp con người rút ra những tri thức, cải tiến việc thiết kế các Web site và phát triển thương mại điện tử tốt hơn Lĩnh vực này đã thu hút được nhiều nhà khoa học quan tâm Quá trình khai phá Web có thể chia thành các công việc nhỏ như sau:
Tìm kiếm nguồn tài nguyên: Thực hiện tìm kiếm và lấy các tài liệu Web phục vụ cho việc khai phá
Lựa chọn và tiền xử lý dữ liệu: Lựa chọn và tiền xử lý tự động các loại thông tin từ nguồn tài nguyên Web đã lấy về
Tổng hợp: Tự động khám phá các mẫu chung tại các Web site riêng lẽ cũng như nhiều Website với nhau
Phân tích: Đánh giá, giải thích, biểu diễn các mẫu khai phá được
1.2.2 Lợi ích của khai phá dữ liệu web
Với sự phát triển nhanh chóng của thông tin trên www, khai phá dữ liệu
Web đã từng bước trở nên quan trọng hơn trong lĩnh vực khai phá dữ liệu, người
ta luôn hy vọng lấy được những tri thức hữu ích thông qua việc tìm kiếm, phân tích, tổng hợp, khai phá Web Những tri thức hữu ích có thể giúp ta xây dựng nên những Web site hiệu quả để có thể phục vụ cho con người tốt hơn, đặc biệt trong lĩnh vực thương mại điện tử
Khám phá và phân tích những thông tin hữu ích trên www bằng cách sử
Trang 18dụng kỹ thuật khai phá dữ liệu đã trở thành một hướng quan trọng trong lĩnh vực
khám phá tri thức Khai phá dữ liệu Web bao gồm khai phá cấu trúc Web, khai
phá nội dung Web và khai phá các mẫu truy cập Web
Sự phức tạp trong nội dung của các trang Web khác với các tài liệu văn bản truyền thống Chúng không đồng nhất về cấu trúc, hơn nữa nguồn thông tin Web thay đổi một cách nhanh chóng, không những về nội dung mà cả về cấu trúc trang Chẳng hạn như tin tức, thị trường chứng khoán, thông tin quảng cáo, trung tâm dịch vụ mạng, Tất cả thông tin được thay đổi trên Web theo từng giai đoạn Các liên kết trang và đường dẫn truy cập cũng luôn thay đổi Khả năng gia tăng liên tục về số lượng người dùng, sự quan tâm tới Web cũng khác nhau, động cơ người dùng rất đa dạng và phong phú Vậy làm thế nào để có thể tìm kiếm được thông tin mà người dùng cần? Làm thế nào để có được những trang Web chất lượng cao?
Những vấn đề này sẽ được thực hiện hiệu quả hơn bằng cách nghiên cứu các kỹ thuật KPDL áp dụng trong môi trường Web Thứ nhất, ta sẽ quản lý các Web site thật tốt; thứ hai, khai phá những nội dung mà người dùng quan tâm; thứ
ba, sẽ thực hiện phân tích các mẫu sử dụng Web Dựa vào những vấn đề cơ bản trên, ta có thể có những phương pháp hiệu quả cao để cung cấp những thông tin hữu ích đối với người dùng Web và giúp người dùng sử dụng nguồn tài nguyên Web một cách hiệu quả
1.2.3 Khó khăn
World Wide Web là một hệ thống rất lớn phân bố rộng khắp, cung cấp thông tin trên mọi lĩnh vực khoa học, xã hội, thương mại, văn hóa, Web là một nguồn tài nguyên giàu có cho Khai phá dữ liệu Những quan sát sau đây cho thấy Web đã đưa ra những thách thức lớn cho công nghệ Khai phá dữ liệu
Web dường như quá lớn để tổ chức thành kho dữ liệu phục vụ
Dataming
Các CSDL truyền thống thì có kích thước không lớn lắm và thường được lưu trữ ở một nơi, trong khi đó kích thước Web rất lớn, tới hàng terabytes và thay đổi liên tục, không những thế còn phân tán trên rất nhiều máy tính khắp nơi trên thế giới Một vài nghiên cứu về kích thước của Web đã đưa ra các số liệu như sau: Hiện nay trên Internet có khoảng hơn một tỷ các trang Web được cung cấp cho người sử dụng., giả sử kích thước trung bình của mỗi trang là 5-10Kb thì tổng
Trang 19kích thước của nó ít nhất là khoảng 10 terabyte Còn tỷ lệ tăng của các trang Web thì thật sự gây ấn tượng Hai năm gần đây số các trang Web tăng gấp đôi và còng tiếp tục tăng trong hai năm tới Nhiều tổ chức và xã hội đặt hầu hết những thông tin công cộng của họ lên Web Như vậy việc xây dựng một kho dữ liệu (datawarehouse) để lưu trữ, sao chép hay tích hợp các dữ liệu trên Web là gần như không thể
Độ phức tạp của trang Web lớn hơn rất nhiều so với những tài liệu văn
bản truyền thống khác
Các dữ liệu trong các CSDL truyền thống thì thường là loại dữ liệu đồng nhất (về ngôn ngữ, định dạng,…), còn dữ liệu Web thì hoàn toàn không đồng nhất Ví dụ về ngôn ngữ dữ liệu Web bao gồm rất nhiều loại ngôn ngữ khác nhau (Cả ngôn ngữ diễn tả nội dung lẫn ngôn ngữ lập trình), nhiều loại định dạng khác nhau (Text, HTML, PDF, hình ảnh âm thanh,…), nhiều loại từ vựng khác nhau (Địa chỉ Email, các liên kết (links), các mã nén (zipcode), số điện thoại) Nói cách khác, trang Web thiếu một cấu trúc thống nhất Chúng được coi như một thư viện
kỹ thuật số rộng lớn, tuy nhiên con số khổng lồ các tài liệu trong thư viện thì không được sắp xếp tuân theo một tiêu chuẩn đặc biệt nào, không theo phạm trù, tiêu đề, tác giả, số trang hay nội dung, Điều này là một thử thách rất lớn cho việc tìm kiếm thông tin cần thiết trong một thư viện như thế
Web là một nguồn tài nguyên thông tin có độ thay đổi cao
Web không chỉ có thay đổi về độ lớn mà thông tin trong chính các trang Web cũng được cập nhật liên tục Theo kết quả nghiên cứu, hơn 500.000 trang Web trong hơn 4 tháng thì 23% các trang thay đổi hàng ngày, và khoảng hơn 10 ngày thì 50% các trang trong tên miền đó biến mất, nghĩa là địa chỉ URL của nó không còn tồn tại nữa Tin tức, thị trường chứng khoán, các công ty quản cáo và trung tâm phục vụ Web thường xuyên cập nhật trang Web của họ Thêm vào đó
sự kết nối thông tin và sự truy cập bản ghi cũng được cập nhật
Web phục vụ một cộng đồng người dùng rộng lớn và đa dạng
Internet hiện nay nối với khoảng 50 triệu trạm làm việc, và cộng đồng người dùng vẫn đang nhanh chóng lan rộng Mỗi người dùng có một kiến thức, mối quan tâm, sở thích khác nhau Nhưng hầu hết người dùng không có kiến thức tốt về cấu trúc mạng thông tin, hoặc không có ý thức cho những tìm kiếm, rất dễ
bị "lạc" khi đang "mò mẫm" trong "bóng tối" của mạng hoặc sẽ chán khi tìm kiếm
Trang 20mà chỉ nhận những mảng thông tin không mấy hữu ích
Chỉ một phần rất nhỏ của thông tin trên Web là thực sự hữu ích
Theo thống kê, 99% của thông tin Web là vô ích với 99% người dùng Web Trong khi những phần Web không được quan tâm lại bị búi vào kết quả nhận được trong khi tìm kiếm Vậy thì ta cần phải khai phá Web như thế nào để nhận được trang web chất lượng cao nhất theo tiêu chuẩn của người dùng? Như vậy chúng ta có thể thấy các điểm khác nhau giữa việc tìm kiếm trong một CSDL truyền thống với vviệc tìm kiếm trên Internet Những thách thức trên đã đẩy mạnh việc nghiên cứu khai phá và sử dụng tài nguyên trên Internet
1.2.4 Thuận lợi
Bên cạnh những thử thách trên, công việc khai phá Web cũng có những thuận lợi:
Web bao gồm không chỉ có các trang mà còn có cả các hyperlink trỏ từ trang này tới trang khác Khi một tác giả tạo một hyperlink từ trang của ông ta tới một trang A có nghĩa là A là trang có hữu ích với vấn đề đang bàn luận Nếu trang A càng nhiều Hyperlink từ trang khác trỏ đến chứng tỏ trang A quan trọng
Vì vậy số lượng lớn các thông tin liên kết trang sẽ cung cấp một lượng thông tin giàu có về mối liên quan, chất lượng, và cấu trúc của nội dung trang Web, và vì thế là một nguồn tài nguyên lớn cho khai phá Web
Một máy chủ Web thường đăng ký một bản ghi đầu vào (Weblog entry) cho mọi lần truy cập trang Web Nó bao gồm địa chỉ URL, địa chỉ IP, timestamp
Dữ liệu Weblog cung cấp lượng thông tin giàu có về những trang Web động Với những thông tin về địa chỉ URL, địa chỉ IP,… một cách hiển thị đa chiều có thể được cấu trúc nên dựa trên CSDL Weblog Thực hiện phân tích OLAP đa chiều
có thể đưa ra N người dùng cao nhất, N trang Web truy cập nhiều nhất, và khoảng thời gian nhiều người truy cập nhất, xu hướng truy cập Web
Trang 211.2.5 Các kiểu dữ liệu web
Ta có thể khái quát bằng sơ đồ sau:
Hình 1.3: Phân loại dữ liệu web
Các đối tượng của khai phá Web bao gồm: Server logs, Web pages, Web hyperlink structures, dữ liệu thị trường trực tuyến và các thông tin khác
Web logs: Khi người dùng duyệt Web, dịch vụ sẽ phân ra 3 loại dữ liệu đăng nhập: sever logs, error logs, và cookie logs Thông qua việc phân tích các tài liệu đăng nhập này ta có thể khám phá ra những thông tin truy cập
Web pages: Hầu hết các phương pháp KPDL Web được sử dụng trong Web pages là theo chuẩn HTML
Web hyperlink structure: Các trang Web được liên kết với nhau bằng các siêu liên kết, điều này rất quan trọng để khai phá thông tin Do các siêu liên kết Web là nguồn tài nguyên rất xác thực
Dữ liệu thị trường trực tuyến: Như lưu trữ thông tin thương mại điện tử trong các site thương mại điện tử
Các thông tin khác: Chủ yếu bao gồm các đăng ký người dùng, nó có thể giúp cho việc khai phá tốt hơn
1.3 Các thách thức trong khai phá dữ liệu
1.3.1 Các vấn đề về Cơ sở dữ liệu
Đầu vào chủ yếu của một hệ thống khai thác tri thức là các dữ liệu thô nhiều lúc không đầy đủ, lớn và bị nhiễu Ngoài ra, chúng ta không biết cơ sở dữ
Trang 22liệu có chứa các thông tin cần thiết cho việc khai thác hay không và làm thế nào
để giải quyết với sự dư thừa những thông tin không thích hợp này
Dữ liệu lớn: Cho đến nay, các cơ sở dữ liệu với hàng trăm trường và bảng, hàng triệu bản ghi và với kích thước đến gigabytes đã là chuyện bình thường Hiện nay đã bắt đầu xuất hiện các cơ sở dữ liệu có kích thước tới terabytes Các phương pháp giải quyết hiện nay là đưa ra một ngưỡng cho cơ sở dữ liệu, lấu mẫu, các phương pháp xấp xỉ, xử lý song song (Agrawal et al, Holsheimer et al)
Kích thước lớn: không chỉ có số lượng bản ghi lớn mà số các trường trong
cơ sở dữ liệu cũng nhiều Vì vậy mà kích thước của bài toán trở nên lớn hơn Một tập dữ liệu có kích thước lớn sinh ra vấn đề làm tăng không gian tìm kiếm mô hình suy diễn Hơn nữa, nó cũng làm tăng khả năng một giải thuật khai phá dữ liệu có thể tìm thấy các mẫu giả Biện pháp khắc phục là làm giảm kích thước tác động của bài toán và sử dụng các tri thức biết trước để xác định các biến không phù hợp
Dữ liệu động: Đặc điểm cơ bản của hầu hết các cơ sở dữ liệu là nội dung của chúng thay đổi liên tục Dữ liệu có thể thay đổi theo thời gian và việc khai phá dữ liệu cũng bị ảnh hưởng bởi thời điểm quan sát dữ liệu Ví dụ trong cơ sở
dữ liệu về tình trạng bệnh nhân, một số giá trị dữ liệu là hằng số, một số khác lại thay đổi liên tục theo thời gian (ví dụ cân nặng và chiều cao), một số khác lại thay đổi tùy thuộc vào tình huống và chỉ có giá trị được quan sát mới nhất là đủ (ví dụ nhịp đập của mạch) Vậy thay đổi dữ liệu nhanh chóng có thể làm cho các mẫu khai thác được trước đó mất giá trị Hơn nữa, các biến trong cơ sở dữ liệu của ứng dụng đã cho cũng có thể bị thay đổi, bị xóa hoặc là tăng lên theo thời gian Vấn đề này được giải quyết bằng các giải pháp tăng trưởng để nâng cấp các mẫu
và coi những thay đổi như là cơ hội để khai thác bằng cách sử dụng nó để tìm kiếm các mẫu bị thay đổi
Các trường không phù hợp: Một đặc điểm quan trọng khác là tính không thích hợp của dữ liệu, nghĩa là mục dữ liệu trở thành không thích hợp với trọng tâm hiện tại của việc khai thác Một khía cạnh khác đôi khi cũng liên quan đến độ phù hợp là tính ứng dụng của một thuộc tính đối với một tập con của cơ sở dữ liệu Ví dụ trường số tài khoản Nostro không áp dụng cho các tác nhân
Độ nhiễu và không chắc chắn: Đối với các thuộc tính đã thích hợp, độ nghiêm trọng của lỗi phụ thuộc vào kiểu dữ liệu của các giá trị cho phép Các giá trị của các thuộc tính khác nhau có thể là các số thực, số nguyên, chuỗi và có thể
Trang 23thuộc vào tập các giá trị định danh Các giá trị định danh này có thể sắp xếp theo thứ tự từng phần hoặc đầy đủ, thậm chí có thể có cấu trúc ngữ nghĩa Mức độ nhiễu cao trong dữ liệu dẫn đến các dự đoán thiếu chính xác
1.3.2 Một số vấn đề khác
Quá phù hợp (Overfitting)
Khi một giải thuật tìm kiếm các tham số tốt nhất cho đó sử dụng một tập
dữ liệu hữu hạn, nó có thể sẽ bị tình trạng “quá độ” dữ liệu (nghĩa là tìm kiếm quá mức cần thiết gây ra hiện tượng chỉ phù hợp với các dữ liệu đó mà không có khả năng đáp ứng cho các dữ liệu lạ), làm cho mô hình hoạt động rất kém đối với các
dữ liệu thử Các giải pháp khắc phục bao gồm đánh giá chéo (cross-validation), thực hiện theo nguyên tắc nào đó hoặc sử dụng các biện pháp thống kê khác
Đánh giá tầm quan trọng thống kê
Vấn đề (liên quan đến overfitting) xảy ra khi một hệ thống tìm kiếm qua nhiều mô hình Ví dụ như nếu một hệ thống kiểm tra N mô hình ở mức độ quan trọng 0,001 thì với dữ liệu ngẫu nhiên trung bình sẽ có N/1000 mô hình được chấp nhận là quan trọng Để xử lý vấn đề này, ta có thể sử dụng phương pháp điều chỉnh thống kê trong kiểm tra như một hàm tìm kiếm, ví dụ như điều chỉnh Bonferroni đối với các kiểm tra độc lập
Khả năng biểu đạt của mẫu
Trong rất nhiều ứng dụng, điều quan trọng là những điều khai thác được phải cáng dễ hiểu với con người càng tốt Vì vậy, các giải pháp thường bao gồm việc diễn tả dưới dạng đồ họa, xây dựng cấu trúc luật với các đồ thị có hướng (Gaines), biểu diễn bằng ngôn ngữ tự nhiên (Matheus et al.) và các kỹ thuật khác nhằm biểu diễn tri thức và dữ liệu
Sự tương tác với người sử dụng và các tri thức sẵn có
Rất nhiều công cụ và phương pháp khai phá dữ liệu không thực sự tương tác với người dùng và không dễ dàng kết hợp cùng với các tri thức đã biết trước
đó Việc sử dụng tri thức miền là rất quan trọng trong khai phá dữ liệu Đã có nhiều biện pháp nhằm khắc phục vấn đề này như sử dụng cơ sở dữ liệu suy diễn
để phát hiện tri thức, những tri thức này sau đó được sử dụng để hướng dẫn cho việc tìm kiếm khai phá dữ liệu hoặc sử dụng sự phân bố và xác suất dữ liệu trước
đó như một dạng mã hóa tri thức có sẵn
Trang 241.4 Các phương pháp tách từ hiện nay
1.4.1 Phương pháp Maximum Matching
Phương pháp này còn được gọi là phương pháp khớp tối đa Tư tưởng của phương pháp này là duyệt một câu từ trái qua phải và chọn từ có nhiều tiếng nhất
mà có mặt trong từ điển, rồi cứ thế tiếp tục cho từ kế tiếp đến hết câu Nôi dung thuật toán này dựa trên thuật toán đã được ChihHao Tsai giới thiệu năm 1996 Thuật toán có 2 dạng sau:
Dạng đơn giản: Giả sử có một chuỗi các tiếng trong câu là t1, t2, tN
Thuật toán sẽ kiểm tra xem t1 có mặt trong từ điển hay không, sau đó kiểm tra tiếp t1-t2 có trong từ điển hay không Tiếp tục như vậy cho đến khi tìm được từ
có nhiều tiếng nhất có mặt trong từ điển, và đánh dấu từ đó Sau đó tiếp tục quá trình trên với tất các các tiếng còn lại trong câu và trong toàn bộ văn bản
Dạng phức tạp: dạng này có thể tránh được một số nhập nhằng gặp phải
trong dạng đơn giản Đầu tiên thuật toán kiểm tra xem t1 có mặt trong từ điển không, sau đó kiểm tra tiếp t1-t2 có mặt trong từ điển không Nếu t1-t2 đều có mặt trong từ điển thì thuật toán thực hiện chiến thuật chọn 3-từ tốt nhất
Tiêu chuẩn 3-từ tốt nhất được Chen & Liu (1992) đưa ra như sau:
Độ dài trung bình của 3 từ là lớn nhất
Ví dụ: với chuỗi “cơ quan tài chính” sẽ được phân đoạn đúng thành “cơ quan | tài chính”, tránh được việc phân đoạn sai thành “cơ | quan tài | chính” vì cách phân đúng phải có độ dài trung bình lớn nhất
Sự chênh lệch độ dài của 3 từ là ít nhất
Ví dụ: với chuỗi “công nghiệp hóa chất phát triển” sẽ được phân đoạn đúng thành “công nghiệp | hóa chất | phát triển” thay vì phân đoạn sai thành “công nghiệp hóa | chất | phát triển” Cả 2 cách phần đoạn này đều có độ dài trung bình bằng nhau, nhưng cách phân đoạn đúng có sự chênh lệch độ dài 3 từ ít hơn
Phương pháp này thực hiện tách từ đơn giản, nhanh và chỉ cần dựa vào từ điển để thực hiện Tuy nhiên, khuyết điểm của phương pháp này cũng chính là từ điển, nghĩa là độ chính xác khi thực hiện tách từ phụ thuộc hoàn toàn vào tính đủ, tính chính xác của từ điển
Trang 251.4.2 Phương pháp giải thuật học cải biến (Transformation-based Learning - TBL)
Đây là cách tiếp cận dựa trên ngữ liệu đã đánh dấu Theo cách tiếp cận này, để huấn luyện cho máy tính biết cách nhận diện ranh giới từ đúng, ta có thể cho máy
“học” trên ngữ liệu hàng vạn câu đã được đánh dấu ranh giới từ đúng Chúng ta thấy phương pháp rất đơn giản, vì chỉ cần cho máy học tập các câu mẫu và sau dó máy sẽ tự rút ra quy luật của ngôn ngữ và để từ đó sẽ áp dụng chính xác khi có những câu đúng theo luật mà máy đã đưa ra Và để tách từ được hoàn toàn chính xác trong mọi trường hợp thì đòi hỏi phải có một tập ngữ liệu thật đầy đủ và phải được huấn luyện lâu để có thể rút ra các luật đầy đủ
1.4.3 Mô hình tách từ bằng WFST và mạng Neural
Mô hình mạng chuyển dịch trạng thái hữu hạn có trọng số WFST (Weighted finit-state Transducer) đã được áp dụng trong tách từ từ năm 1996 Ý tưởng cơ bản là áp dụng WFST kết hợp với trọng số là xác suất xuất hiện của mỗi
từ trong ngữ liệu Dùng WFST để duyệt qua câu cần xét Cách duyệt có trọng số lớn nhất sẽ là cách tách từ được chọn Phương pháp này cũng đã được sử dụng trong công trình đã được công bố của tác giả Đình Điền năm 2001, tác giả đã sử dụng WFST kèm với mạng Neural để khử nhập nhằng khi tách từ, trong công trình tác giả đã xây dựng hệ thống tách từ gồm tầng WFST để tách từ và xử lý các vấn đề liên quan đến một số đặc thù riêng của ngôn ngữ Tiếng Việt như từ láy, tên riêng,… và tầng mạng Neural dùng để khử nhập nhằng về ngữ nghĩa khi đã tách từ (nếu có)
Chi tiết về 2 tầng này như sau:
Tầng WFST gồm có 03 bước
Bước 1: Xây dựng từ điển trọng số: theo mô hình WFST, thao tách phân
đoạn từ đựoc xem như là một sự chuyển dịch trạng thái có xác suất Chúng ta miêu tả từ điển D là một đồ thị biển đổi trạng thái hữu hạn có trọng số
Giả sử:
- H là tập các từ chính tả tiếng Việt (còn gọi là “tiếng”)
- P là từ loại của từ (POS : Part of speech)
Mỗi cung của D có thể là :
Trang 26- Từ một phần từ của H đến một phần tử của H
- Các nhãn trong D biểu diễn một chi phí được ước lượng theo công thức Cost = -log(f /N) (f là tần số của từ, N là kích thước tập mẫu)
Bước 2: Xây dựng các khả năng phân đoạn từ : Để giảm sự bùng nổ tổ hợp
khi sinh ra dãy các từ có thể từ một dãy các tiếng tiếng trong câu, tác giả đã đề xuất phương pháp kết hợp dùng thêm từ điển để hạn chế sinh ra các bùng nổ tổ hợp, cụ thể là nếu phát hiện thấy một cách phân đoạn từ nào đó không phù hợp (không có trong từ điển, không phải là từ láy, không phải là danh từ riêng,…) thì tác giả loại bỏ các nhánh xuất phát từ cách phân đoạn đoạn đó
Bước 3: Lựa chọn khả năng phân đoạn từ tối ưu : Sau khi có được danh
sách các cách phân đoạn từ có thể có của câu, tác giả đã chọn trường hợp phân đoạn từ có trọng số bé nhất
1.4.4 Phương pháp Quy hoạch động : chỉ sử dụng tập ngữ liệu thô để lấy thông
tin về tần số thống kê của từ, làm tăng độ tin cậy cho việc tính toán
1.5 Các công trình khai phá và xử lý dữ liệu đã được phát triển
- Khai phá dữ liệu web bằng kỹ thuật phân cụm
- Lựa chọn thuộc tính trong khai phá dữ liệu
- Nghiên cứu ứng dụng tập phổ biến và luật kết hợp vào bài tóan phân loại văn bản Tiếng Việt có xem xét ngữ nghĩa
- Phân loại văn bản Tiếng Việt với bộ vector hỗ trợ SVM
- Phương pháp luật kết hợp và ứng dụng
- Ứng dụng khai phá dữ liệu để tư vấn học tập
Trang 27- Nghiên cứu ứng dụng phân lớp dữ liệu trong quản lý khách hàng trên mạng
- Dự báo bùng nổ sự kiện trong mạng xã hội
1.6 Kết luận Chương 1
Khai phá dữ liệu đã mở ra các cơ hội mới cho việc khai phá và phân tích các kiểu dữ liệu mới hoặc cũ bằng các phương pháp mới nhằm trích xuất các thông tin hữu ích và các mô hình từ khối lượng dữ liệu khổng lồ Chương này đã trình bày tổng quan về khai phá dữ liệu, các kỹ thuật khai phá cũng như tính ứng dụng của nó trong các lĩnh vực đời sống Đặc biệt là dữ liệu trên nền web
Trang 28CHƯƠNG 2: PHƯƠNG PHÁP RÚT TRÍCH DỮ LIỆU TỪ MẠNG XÃ
HỘI VÀ PHÂN LỚP DỮ LIỆU 2.1 Giới thiệu bài toán
Khai phá dữ liệu mạng xã hội là một trong những vấn đề nổi bật và được giới khoa học quan tâm nhất hiện nay Các đề tài nghiên cứu về dữ liệu mạng xã hội được ứng dụng vào nhiều lĩnh vực khác nhau như : tư vấn sản phẩm, dịch vụ tài chính, sự kiện xã hội, sự kiện chính trị, …
Kể từ khi ra đời, internet không ngừng phát triển và mở rộng đã mang lại
rất nhiều tiện ích hữu dụng như: hệ thống thư điện tử (email), trò chuyện trực tuyến (chat), tìm kiếm dữ liệu (search engine), … Những năm gần đây, sự ra đời
của mạng xã hội trực tuyến là một trong những sự kiện thú vị nhất Có rất nhiều
mạng xã hội trực tuyến phổ biến hiện nay như: Facebook, Twitter, LinkedIn, …
Với sự phát triển nhanh chóng về số người sử dụng trên toàn thế giới, mạng xã hội trực tuyến như một mô hình thu nhỏ của thế giới thực Do đó, mạng xã hội trở thành nơi cất giữ thông tin và các mối quan hệ giữa các cá nhân, doanh nghiệp,
… Những thông tin này tạo thành “đám mây tri thức” Việc tìm hiểu và khai thác
hiệu quả những thông tin này sẽ tạo tiền đề cho nhiều ứng dụng khác như: hệ thống tư vấn, hệ thống tìm kiếm thông tin, tiếp thị trực tuyến, điều tra tội phạm,
dự đoán sự phát triển của mạng xã hội, … Vì vậy, việc khai thác những thông tin trên mạng xã hội để áp dụng vào thực tiễn ngày càng trở nên quan trọng
2.2 Mạng xã hội
2.2.1 Giới thiệu
Mạng xã hội hay gọi là mạng xã hội ảo (trong tiếng Anh gọi là: social network) Là dịch vụ nối kết các thành viên cùng sở thích trên Internet lại với nhau, với nhiều mục đích khác nhau không phân biệt không gian và thời gian Vậy theo đó, có thể hiểu mạng xã hội ảo có 2 đặc trưng cơ bản sau:
+ Có sự tham gia trực tiếp của nhiều cá nhân trên cùng một trang web (hoặc các doanh nghiệp – nhưng có vai trò như các cá nhân)
+ Mạng xã hội là 1 website mở, nội dung của website được xây dựng hoàn toàn bởi các thành viên tham gia trong website
Các mạng xã hội điển hình hiện nay có thể kể đến như twitter, Facebook, instagram, youtube … Ở VN thì thường được nhắc tới như tamtay.vn, clip.vn, zalo…
Trang 29Song, trên thực tế mạng xã hội có vẻ chưa được hiểu chưa đúng với bản chất của nó Khi nhắc đến tamtay.vn hay clip.vn là ng ta nói nó là một mạng xã hội Nhưng, chắc ai cũng biết và ai cũng đã quên rằng, mạng xã hội đa dạng và phức tạp hơn nhiều chúng ta nghĩ
Bất kì 1 website nào được mang tính chất cộng đồng, xây dựng nhằm mục tiêu thu hút người sử dụng trên internet tham gia dựa trên 1 đặc điểm về sở thích nào đó … Thì đó cũng là mạng xã hội Như vậy, các website như Forum, website chia sẻ video, hình thức blog hay các website chat… Cũng đều là các mạng xã hội
2.2.2 Các mạng xã hội phổ biến hiện nay
2.2.2.1 Facebook
Facebook là một website dịch vụ mạng xã hội và truyền thông xã hội do công ty Facebook, Inc điều hành với trụ sở tại Menlo Park, California Người dùng có thể tham gia các mạng lưới được tổ chức theo thành phố, nơi làm việc, trường học và khu vực để liên kết và giao tiếp với người khác Mọi người cũng có thể kết bạn và gửi tin nhắn cho họ, và cập nhật trang hồ sơ cá nhân của mình để thông báo cho bạn bè biết về chúng Tên của website nhắc tới những cuốn sổ lưu niệm dùng để ghi tên những thành viên của cộng đồng campus mà một số trường đại học và cao đẳng tại Mỹ đưa cho các sinh viên mới vào trường, phòng ban, và nhân viên để có thể làm quen với nhau tại khuôn viên trường Việc đăng
ký thành viên website ban đầu chỉ giới hạn cho những sinh viên Harvard, nhưng
đã được mở rộng sang các trường đại học khác tại khu vực Boston, Ivy League, Stanford,… Sau đó nó được mở rộng hơn nữa cho sinh viên thuộc bất kỳ trường đại học nào, rồi đến học sinh phổ thông và cuối cùng là bất kỳ ai trên 13 tuổi
Lúc mới tạo ra, Facbook có tên là the facebook.com, tính đến tháng 9/2012
đã có một tỷ người trên thế giới dùng facebook Một con số quá ấn tượng và nó vẫn chưa dừng tại đó Và hiện nay, Facebook là trang mạng xã hội lớn nhât thế giới với hàng tỷ người dùng
Trang 30Chỉ cần một tài khoản gmail là bạn có thể đăng tải những video của mình lên cộng đồng, cũng có thể tải về những video clip một cách nhanh chóng và hoàn toàn không mất phí
Ra đời và phát triển hơn 10 năm, outube đã thu hút được số lượng người dùng đáng nể và khoảng 1 tỷ người truy cập mỗi tháng
Bạn có thể truy cập và outube trên mọi thiết bị: máy tính đặt bàn, laptop, máy tính bảng, các loại điện thoại có hỗ trợ truy cập mạng, có thể xem video với chất lượng hình ảnh sắc nét
Đây cũng là nơi để các bạn trẻ thỏa sức sáng tạo, tạo ra các video bổ ích với nội dung độc đáo và thu hút outube cũng cho phép bạn kiếm tiền, quảng cáo; cho phép người dùng chia sẻ các video lên các mạng xã hội khác
2.2.2.3 Instagram
Instagram là ứng dụng di động miễn phí ra mắt đầu tiên vào tháng 10 năm
2010 Đây là phần mềm chia sẻ ảnh lớn nhất hiện nay So với Flickr, Pinterest hay một số ứng dụng chia sẻ ảnh khác, Instagram có tuổi đời trẻ nhất nhưng lại phát triển mạnh mẽ và gần như đánh bật những "anh lớn"
Instagram sử dụng camera của smartphone, sau khi chụp một bức ảnh, bạn
có thể chọn các bộ lọc- hiệu ứng đẹp mắt trên phần mềm Sau đó chia sẻ lên insta
cá nhân của mình Bạn bè của bạn trên ứng dụng này cũng có thể chiêm ngưỡng những bức ảnh bạn đăng tải Ngoài ra bạn cũng có thể kết bạn 4 phương, có thể tìm kiếm người dùng, tìm kiếm hình ảnh một cách đơn giản Instagram cho phép người dùng chia sẻ, tương tác với mạng xã hội khác như: Facebook
Thưở sơ khai, đây chỉ là ứng dụng dành riêng cho hệ điều hành IOS nhưng chưa đầy 10 ngày sau đó đã có phiên bản dành cho Android Đến nay đã có 600 triệu người truy cập mỗi tháng Đã có rất nhiều bạn trẻ nghiện Instagram giống như nghiện Facebook
Bên cạnh đó, Instagram đã cập nhật tính năng kiếm tiền, chạy quảng cáo cho người dùng hoạt động kinh doanh online
Cách thức đăng kí tài khoản Instagram cũng vô cùng đơn giản nhanh chóng
Trang 312.2.3 Mạng xã hội Twitter
Mạng xã hội twitter ra đời vào ngày 21/3/2006 bởi Jack Dorsey và July, tính đến tháng 5 năm 2016, Twitter có hơn 1.3 tỉ người dùng, trong đó có hơn 310 triệu người dùng tích cực trong tháng và trung bình trên mỗi người dùng có 208 người theo dõi Trung bình có hơn 500 triệu tweet được tạo ra trên một ngày Điều đó có nghĩa có 6000 tweet mỗi giây Có 80% người sử dụng truy cập qua điện thoại, có 65.8% các công ty ở Mỹ với hơn 100 người làm sử dụng Twitter để tiếp thị, quảng bá
Từ một số thông tin trên, ta cũng có thể nhận thấy Twitter mà một kênh truyền tải thông tin nhanh chóng, đa dạng, thể hiện quan điểm của người dùng trên nhiều khía cạnh khác nhau trong cuộc sống
Twitter là mạng xã hội được rất nhiều người dùng yêu thích bởi nội dung thông báo ngắn gọn được đăng tải lên tường giống như một SMS Người dùng sẽ chia sẽ những suy nghĩ ngắn, liên kết hay hình ảnh lên Twitter, bình luận về sự kiện trực tiếp từ các báo cáo, các công ty quảng bá sản phẩm,… Ngoài ra, Twitter chỉ cho phép người dùng sử dụng 140 ký tự mà thôi Do đo, Twitter
không thể giống như facebook nơi chúng ta có thể đăng tải 1 status (trạng thái)
dài lê thê Twitter cũng không có album ảnh hay nơi để tải lên video như
facebook Twitter cũng không có chế độ kết bạn, chỉ có chế độ Follow (theo dõi)
mà thôi
Một số thuật ngữ cần biết khi sử dụng Twitter:
- Tweet: việc đăng hay viết một thứ j đó lên trang cá nhân của minh trên
Twitter được gọi là Tweet Tweet này tương đương với một status trên facebook
- Retweet: giống như share (chia sẻ) của facebook, nghĩa là chia sẻ lại
Tweet của một ai đó
- Follow: là chế độ theo dõi Trên Twitter chúng ta có thể theo dõi bất kỳ ai
có tài khoản Twitter như Tổng thống Mỹ Donal Trump chẳng hạn Việc theo dõi này sẽ giúp chúng ta theo dõi tin tức được đăng trên trang Twitter của người đó
- Twitter trend: là xu hướng đang diễn ra trên Twitter vào thời điểm hiện
tại Lấy ví dụ, tới thời điểm bầu cử Tổng thống Mỹ thì người dùng có xu hướng tìm kiếm các thông tin, từ khóa liên quan đến các ứng cử viên nổi bật Lúc đó xu
Trang 32hướng Tweet hay hastag có liên quan đến chủ đề này ngày càng tăng, trở thành xu hướng chính trong một khoản thời gian
- Hashtag: Biểu tượng # được gọi là một hashtag Hashtag được sử dụng
để đánh dấu các từ khóa hoặc chủ đề liên quan trên một Tweet Hashtag được người dùng Twitter tạo ra giống như một cách để phân loại Tweet và giúp họ dễ dàng tìm kiếm Tweet đó hơn
Cơ chế kết nối
Người dùng Việt Nam có lẽ đã quá quen thuộc với mạng xã hội Facebook
và quen với hình thức tương tác của Facebook Ý nghĩa chính của mạng xã hội Facebook từ những ngày đầu chính là tìm kiếm và kết nối bạn bè, cập nhật các thông tin cá nhân về mình và chia sẻ những thông tin hay Cho dù bạn có bạn bè
ở xa bất kỳ đâu vẫn có thể biết được họ đang như thế nào, cuộc sống ra sao thông qua việc cập nhật trạng thái hàng ngày
Do đó, cơ chế của mạng xã hội Facebook là cơ chế kết nối hai chiều Có nghĩa là một người kết bạn với bạn thì cần phải có sự xác nhận của bạn Còn cơ chế của mạng xã hội Twitter thì lại khác hoàn toàn là cơ chế một chiều Một người theo (follow) bạn thì không cần phải chờ sự xác nhận từ bạn
Sau khi một người follow bạn thì họ sẽ nhận được các thông tin mà bạn tweet trên đó, tweet cũng giống như hình thức cập nhật trạng thái của Facebook Nhưng nếu bạn không follow lại người đó thì bạn sẽ không thấy những cập nhật của họ Hay nói cách khác là bạn muốn nhìn thấy được những cập nhật từ ai đó, bạn phải follow người đó
Điểm mạnh của Twitter là số người follow bạn không giới hạn, còn số lượng người kết nối bạn bè trong Facebook thì giới hạn với con số 5000 Do đó, Twitter thường được ưa thích sử dụng bởi các doanh nghiệp, thương hiệu, hay những ngôi sao nổi tiếng nhằm cập nhật những thông tin về mình cho những người quan tâm Vì vậy, những diễn viên, ca sĩ, ngôi sao bóng đá… trên thế giới thường sử dụng mạng xã hội này
Thời gian sau này thì Facebook đã cho ra đời hình thức Fan page tương tự như cơ chế một chiều để đáp ứng việc theo dõi
Cơ chế cập nhật
Có một điểm đặc biệt và khác với nhiều mạng xã hội khác ở Twitter chính
Trang 33là việc chỉ cho phép tweet với 140 ký tự Đây cũng là một trong những lý do tại sao đa số người Việt Nam không thích sử dụng mạng xã hội này Thế nhưng tại sao lại như vậy?
Đó là vì nếu như bạn ở Mỹ và một số nước mà Twitter phát triển, bạn có thể nhận được những cập nhật từ người mà bạn quan tâm thông qua tin nhắn SMS Mà đa phần các thiết bị di động chỉ giới hạn số ký tự cho một tin nhắn là
Từ những gì đã nêu ở trên, các bạn sẽ dễ dàng nhận thấy rằng Twitter rất tiện lợi trong ba vấn đề sau:
Đối với bạn bè quan tâm đến bạn: Khi bạn đang ở đâu đó, bạn đi đâu đó,
bạn chỉ cần tweet lên twitter thì bạn bè thân của bạn sẽ biết được mà không cần phải gọi điện thoại hay nhắn tin Ví dụ như tôi sắp đi Hà Nội tôi có thể tweet lên
“Chuẩn bị đi Hà Nội” Những bạn bè thân của tôi sẽ nhận được thông điệp này một cách nhanh chóng và có thể sắp xếp để gặp bạn
Đối với doanh nghiệp và người dùng: Các doanh nghiệp sẽ dễ dàng cung
cấp thông tin đến với người tiêu dùng của họ thông qua việt tweet lên Twitter Người dùng cũng dễ dàng nhận được các thông tin hỗ trợ và những chương trình khuyến mãi, hay các thông tin về sản phẩm mới
Đối với các ngôi sao có nhiều fan hâm mộ: Các ngôi sao có thể cập nhật
những gì mình đang làm, những chương trình mà mình tham gia, các buổi biểu diễn… Các fan hâm mộ cũng có thể nhận được thông tin này một cách nhanh nhất trực tiếp từ chính thần tượng của họ
Qua đó, các bạn cũng thấy rằng không cần phải thông qua các báo đài, bạn vẫn có thể nhận được thông tin một cách nhanh nhất một cách trực tiếp từ người bạn cần theo dõi
Trang 34Ngoài ra, Twitter còn có cơ chế retweet, tức là tweet lại thông tin từ người khác đã tweet Đây cũng chính là một trong những điểm mạnh của Twitter, thông tin lan truyền một cách nhanh chóng
2.3 Phương pháp rút trích dữ liệu từ mạng xã hội Twitter
2.3.1 Twitter REST API
Chúng ta đã tìm hiểu ở trên thì Twitter là một mạng thông tin và là phương tiện giao tiếp cung cấp hơn 200 triệu tweet mỗi ngày Nền tảng Twitter cung cấp đường truy cập tới khối dữ liệu đó thông qua Twitter API Mỗi API biểu thị một khía cạnh của Twitter, và cho phép developer viết và mở rộng ứng dụng của họ theo một cách hoàn toàn mới và sáng tạo
REST API cho phép lập trình viên truy cập vào một vài core nguyên thuỷ của Twitter bao gồm các timeline, các cập nhật status, và thông tin người dùng Bạn có thể xây dựng profile của một người dùng: tên của họ, Twitter họ đang dùng và tập hợp những người mà họ đang theo dõi trên Twitter – tất cả chỉ với một vài lời gọi RESTful API Thêm vào đó, để cho phép truy nhập vào timeline, status, user object thông qua lập trình, API này cung cấp cho lập trình viên rất nhiều những phương thức tích hợp để giao tiếp với Twitter
Hiện Twitter REST API có phiên bản 1.0 và phiên bản 1.1, tuy nhiên bản 1.0 không được sử dụng nữa Phiên bản gần nhất là REST API 1.1
2.3.2 Các phương thức của REST API v1.1
2.3.2.1 Timelines
GET statuses/mentions_timeline: Trả về 20 thông tin gần nhất có đề cập
tới người dùng ( tweet bao gồm @screen_name của người dùng ) cho người dùng
đã đăng nhập Phương thức này có thể trả về tới 800 tweet
GET statuses/user_timeline: Trả về một tập những Tweet gần đây nhất
đăng bởi người dùng được chỉ ra bởi thông số screen_name hoặc user_id Timelime của người dùng được bảo mật, sẽ chỉ nhận những request từ người dùng đó (xác nhận bằng đăng nhập) hoặc một người theo dõi người dùng đó đã được cho quyền xem Phương thức này có thể trả vời tới 3200 Tweet gần nhất của người dùng
GET statuses/home_timeline: Trả về tập hợp những Tweet và Retweet
gần nhất được đăng bởi người dùng đăng nhập và những người dùng mà họ đang
Trang 35theo dõi Home timeline là trung tâm của những tương tác giữa người dùng và dịch vụ Twitter Có thể lấy được tới 800 tweet từ home timeline Kết quả trả về
dễ thay đổi trong trường hợp user theo dõi nhiều người dùng khác hoặc theo dõi những người dùng thường xuyên tweet
GET statuses/retweets_of_me: Trả về những tweet gần nhất được tạo bởi
người dùng đăng nhập hiện tại mà những tweet này đã được retweet bởi những người khác Timeline này là một tập con của GET statuses/user_timeline của người dùng
POST statuses/update: Cập nhật trạng thái hiện tại của người đăng nhập
Để upload một bức ảnh đi cùng với tweet, sử dụng POST statuses/update_with_media Với mỗi lần cập nhật, dòng cập nhật sẽ được so sánh với những tweet gần đây của người dùng đăng nhập Những cập nhật gây ra kết quả trùng lặp sẽ bị chặn lại và báo về lỗi 403 Vì vậy người dùng không thể cập nhật những dòng trạng thái giống nhau một cách liên tiếp Số lượng cập nhật liên tiếp trong một khoảng thời gian nhất định cũng bị giới hạn, do đó người dùng sẽ nhận được lỗi HTTP 403 nếu vượt quá giới hạn này
POST statuses/retweet/:id: Retweet một tweet nào đó Trả về tweet
nguồn với thông tin retweet được nhúng vào
POST statuses/update_with_media: Cập nhật trạng thái của người dùng
đăng nhập và đính kèm một media để upload Nói cách khác, nó tạo ra một tweet với một bức ảnh đính kèm Không giống POST statuses/update, phương thức này yêu cầu dữ liệu raw và được chia làm nhiều phần POST request Content-Type của bạn cần phải được thiết lập là multipart/form-date với thông số media
Dòng tweet có thể đi kèm với URL của media, nhưng sẽ làm giảm số lượng
kí tự được cho phép trong dong tweet đó Nếu URL làm tweet dài hơn 140 kí tự,
Trang 36tweet sẽ bị từ chối và kết quả trả về lỗi 403
GET statuses/oembed: Trả về thông tin cho phép tạo ra dạng nhúng của
một Tweet trong site của bên thứ ba Endpoint này cho phép thay đổi (customize) một chút cho dạng hiển thị cuối cùng Tweet được nhúng, cần lưu ý rằng dạng hiển thị của Tweet được đưa ra có thể thay đổi theo thời gian để thích hợp với yêu cầu hiển thị của Twitter Không nên nghĩ rằng các thông số class hoặc id sẽ giữ nguyên trạng ở kết quả trả về
GET statuses/retweeters/ids: Trả về một tập hợp có thể lên tới 100 ID
người dùng mà những người này đã retweet tweet được chỉ ra bởi thong số id Phương thức này trả về kết quả tương tự như GET statuses/retweets/:id và thay thế phương thức GET statuses/:id/retweeted_by/ids của API phiên bản 1
2.3.2.3 Tìm kiếm
GET search/tweets: Trả về một tập hợp các Tweet tương ứng truy vấn
được gọi Cần lưu ý rằng Twitter search sẽ không trả về một tập hợp Tweet với cấu trúc hoàn hảo Không phải tất cả các tweet sẽ được đánh thứ tự và cũng không phải tất cả có thể search được Ở API phiên bản 1.1, cấu trúc kết quả trả về của API tìm kiếm đã được sửa đổi để trả về những Tweet object giống với những object bạn tìm thấy được ở API và nền tảng REST
2.3.2.4 Streaming
POST statuses/filter: Trả về những status công khai đã được lọc qua filter
Nhiều thông số có thể được định rõ để cho phép hầu hết các máy client sử dụng một kết nối tới Streaming API Cả request GET và POST đều được hỗ trợ Nhưng request GET với quá nhiều thông số có thể khiến request bị từ chối vì URL quá dài Sử dụng một POST request để tránh trường hợp URL dài
GET statuses/sample: Trả về một lượng nhỏ những mẫu ngẫu nhiên của
tất cả những status công khai Những Tweet trả về mặc định thường có khả năng truy nhập giống nhau, vì thế nếu hai client cùng connect tới một endpoint họ sẽ thấy những Tweet giống nhau
GET statuses/firehose: Endpoint này yêu cầu quyền truy nhập đặc biệt
Trả về tất cả các status công khai Một lượng nhỏ các ứng dụng yêu cầu cấp độ truy nhập này Sử dụng kết hợp các nguồn khác và nhiều cấp độ truy nhập một cách sáng tạo có thể đáp ứng được hầu hết các nhu cầu của các ứng dụng