intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Luận văn Thạc sĩ Khoa học máy tính: Phân loại bình luận của khách hàng trên mạng xã hội dựa trên kỹ thuật máy học

Chia sẻ: _ _ | Ngày: | Loại File: PDF | Số trang:60

36
lượt xem
6
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Đề tài nêu lên ngày nay mọi thông tin đều được đưa lên các trang mạng xã hội dưới dạng các posts và rất nhiều người dùng để lại các các nhận xét của mình về các posts này dưới dạng các comments, ta nhận thấy đây là kho thông tin khổng lồ mà từ đó nếu chúng ta có thể khai phá và trích rút tất cả các comments của người dùng, sau đó phân tích và phân loại dữ liệu ấy. Mời các bạn cùng tham khảo!

Chủ đề:
Lưu

Nội dung Text: Luận văn Thạc sĩ Khoa học máy tính: Phân loại bình luận của khách hàng trên mạng xã hội dựa trên kỹ thuật máy học

  1. i ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG ĐÀM PHƯƠNG TÙNG PHÂN LOẠI BÌNH LUẬN CỦA KHÁCH HÀNG TRÊN MẠNG XÃ HỘI DỰA TRÊN KỸ THUẬT MÁY HỌC LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH THÁI NGUYÊN 2020
  2. ii LỜI CAM ĐOAN Tôi xin cam đoan kết quả đạt được trong luận văn là sản phẩm của cá nhân dưới sự hướng dẫn khoa học của TS. Nguyễn Văn Tảo. Trong toàn bộ nội dung luận văn, những nội dung được trình bày là của cá nhân hoặc tổng hợp từ nhiều nguồn tài liệu khác nhau. Tất cả các tài liệu tham khảo đó đều có xuất xứ rõ ràng và được trích dẫn hợp pháp. Tôi xin chịu trách nhiệm và chịu mọi hình thức kỷ luật theo quy định cho lời cam đoan của mình. Thái Nguyên, tháng năm 2020 Tác giả Đàm Phương Tùng
  3. iii LỜI CẢM ƠN Học viên xin bày tỏ lời cảm ơn chân thành tới tập thể các thầy cô giáo Viện công nghệ thông tin, các thầy cô giáo Trường Đại học Công nghệ thông tin và truyền thông - Đại học Thái Nguyên đã mang lại cho học viên kiến thức vô cùng quý giá và bổ ích trong suốt quá trình học tập chương trình cao học tại trường. Đặc biệt học viên xin bày tỏ lòng biết ơn sâu sắc tới thầy giáo TS.NGUYỄN VĂN TẢO đã định hướng khoa học và đưa ra những góp ý, gợi ý, chỉnh sửa quý báu, quan tâm, tạo điều kiện thuận lợi trong quá trình nghiên cứu hoàn thành luận văn này. Cuối cùng, học viên xin chân thành cảm ơn các bạn bè đồng nghiệp, gia đình và người thân đã quan tâm, giúp đỡ và chia sẻ với học viên trong suốt quá trình học tập. Do thời gian và kiến thức có hạn nên luận văn chắc không tránh khỏi những thiếu sót nhất định. Học viên rất mong nhận được những sự góp ý quý báu của thầy cô và các bạn. Thái Nguyên, tháng năm 2020 Tác giả Đàm Phương Tùng
  4. iv MỤC LỤC LỜI CAM ĐOAN ........................................................................................................i LỜI CẢM ƠN ........................................................................................................... iii MỤC LỤC ..................................................................................................................iv DANH MỤC HÌNH ẢNH .........................................................................................vi LỜI MỞ ĐẦU ............................................................................................................. 1 CHƯƠNG 1: TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU VÀ BÀI TOÁN PHÂN LOẠI BÌNH LUẬN KHÁCH HÀNG ........................................................................2 1.1. Tổng quan về khai phá dữ liệu ............................................................................. 2 1.1.1. Những khái niệm về khai phá dữ liệu ............................................................... 3 1.1.2. Quy trình khai phá dữ liệu ................................................................................ 5 1.1.3. Các kỹ thuật và tác vụ khai phá dữ liệu ............................................................ 7 1.1.4. Kiến trúc của một hệ thống khai phá dữ liệu .................................................. 11 1.1.5. So sánh khai phá dữ liệu với máy học ............................................................ 12 1.2. Ứng dụng khai phá dữ liệu trong phân loại bình luận khách hàng .................... 13 1.2.1. Phương pháp phân lớp văn bản ....................................................................... 13 1.2.2. Phương pháp tách từ tiếng Việt....................................................................... 16 1.2.3. Phân loại bình luận khách hàng ...................................................................... 20 CHƯƠNG 2: CÁC BƯỚC KHẢO SÁT VÀ PHÂN LOẠI BÌNH LUẬN CỦA ..... 22 2.1. Tìm hiểu chung về thương hiệu sản phẩm ......................................................... 22 2.2. Mục đích của việc lấy bình luận khách hàng ..................................................... 23 2.3. Thu thập bình luận khách hàng trên Internet ..................................................... 25 2.4. Mô hình tổng thể bài toán phân loại bình luận khách hàng ............................... 29 CHƯƠNG 3: XÂY DỰNG CHƯƠNG TRÌNH THỰC NGHIỆM .......................... 32 3.1. Đề xuất giải pháp ............................................................................................... 32 3.1.1. Yêu cầu bài toán .............................................................................................. 33 3.1.2. Tổng quan về dữ liệu: ..................................................................................... 35 3.2. Xây dựng mô hình .............................................................................................. 35 3.2.1. Thu thập dữ liệu .............................................................................................. 36
  5. v 3.2.2. Tiền xử lý dữ liệu ............................................................................................ 38 3.2.3. Trích xuất vector ............................................................................................. 41 3.2.4. Huấn luyện dữ liệu .......................................................................................... 42 3.3. Kết quả thử nghiệm ............................................................................................ 49 3.3.1. Đánh giá dựa trên độ chính xác ...................................................................... 49 3.3.2. Triển khai dự án trên website thực tiễn ........................................................... 49 KẾT LUẬN ............................................................................................................... 52 DANH MỤC TÀI LIỆU THAM KHẢO .................................................................. 53
  6. vi DANH MỤC HÌNH ẢNH Hình 1.1 Quá trình trích xuất thông tin có giá trị ........................................................4 Hình 1.2 Những lĩnh vực liên quan tới khai phá dữ liệu ............................................4 Hình 1.3 Các bước của quá trình KDD .......................................................................6 Hình 1.5 Mô phỏng thuật toán phân cụm K-means ....................................................9 Hình 1.5 Minh họa thuật toán KNN ..........................................................................15 Hình 1.6 Toàn cảnh hệ thống IGATEC ....................................................................19 Hình 2.1 Mẫu Pop-up được nhúng vào Website .......................................................27 Hình 2.2 Ứng dụng chat box được tích hợp trên Website ........................................28 Hình 2.3 Hệ thống Google Analytics ........................................................................29 Hình 2.4 Mô hình Crawler đơn giản .........................................................................30 Hình 3.1 Bộ dữ liệu về các câu bình luận trong tiếng Việt .......................................35 Hình 3.2 Mô hình học máy kết hợp giữa Tfidf và SVM...........................................36 Hình 3.3 Cấu trúc HTML trên website .....................................................................37 Hình 3.4 Thu thập dữ liệu Website từ các thẻ HTML ..............................................37 Hình 3.5 Gán nhãn cho các bình luận trong tập huấn luyện .....................................39 Hình 3.6 Thực hiện tách từ và cụm từ của dữ liệu dựa vào từ điển ..........................41 Hình 3.7 Khoảng cách giữa hai lề của hai lớp dữ liệu...................................... 41 Hình 3.8 Giao diện chi tiết sản phẩm của Lazada .....................................................50 Hình 3.9 Giao diện chức năng phần mềm đánh giá sản phẩm ..................................50 Hình 3.10 Dữ liệu bình luận tích cực thu thập trong file data.csv ............................51
  7. 1 LỜI MỞ ĐẦU Trong thời buổi kinh tế thị trường ngày hôm nay, một doanh nghiệp muốn tồn tại và phát triển thì cần phải khai thác và thu thập được các bình luận phản hồi của người dùng về sản phẩm hay dịch vụ của mình từ đó đưa ra những định hướng và điều chỉnh về hoạt động sản xuất kinh doanh phù hợp hơn. Cùng với sự ra đời của internet, sự xuất hiện và phát triển không ngừng của lĩnh vực thương mại điện tử khiến cho việc xúc tiến các hoạt động kinh doanh, buôn bán, quảng bá sản phẩm, dịch vụ diễn ra trên khắp các kênh thông tin xã hội đặc biệt là trên mạng internet. Điều này vô hình dung tạo nên cầu nối giữa người dùng và nhà cung cấp, và từ cầu nối này người dùng có thể đưa ra bình luận của họ đối với sản phẩm hay dịch vụ mà nhà cung cấp mang lại. Như chúng ta đã biết ngày nay mọi thông tin đều được đưa lên các trang mạng xã hội dưới dạng các posts và rất nhiều người dùng để lại các các nhận xét của mình về các posts này dưới dạng các comments, ta nhận thấy đây là kho thông tin khổng lồ mà từ đó nếu chúng ta có thể khai phá và trích rút tất cả các comments của người dùng, sau đó phân tích và phân loại dữ liệu ấy, chúng ta có thể thu được các kết quả khảo sát cần thiết phục vụ cho hoạt động sản xuất kinh doanh. Việc phân loại bình luận khách hàng về nhiều lĩnh vực, giúp doanh nghiệp có cách quản lý tốt hơn, đưa ra những sáng kiến mới giúp doanh nghiệp mình phát triển.
  8. 2 CHƯƠNG 1: TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU VÀ BÀI TOÁN PHÂN LOẠI BÌNH LUẬN KHÁCH HÀNG 1.1. Tổng quan về khai phá dữ liệu KPDL là một trong những thuật ngữ mới xuất hiện đầu thế kỷ 21, nó là hệ quả của sự bùng nổ Internet đạt tới đỉnh điểm. Theo một công bố của Intel vào tháng 9 năm 2013, cứ 11 giây trôi qua lại có thêm 1 Petabybe dữ liệu, nó tương đương với một video chất lượng HD dài 13 năm. KPDL đã và đang được ứng dụng rộng rãi trong rất nhiều lĩnh vực và hiện nay đã có rất nhiều công cụ thương mại và phi thương mại triển khai các nhiệm vụ của KPDL. - Phân tích dữ liệu và hỗ trợ ra quyết định (data analysis & decision support) - Điều trị y học (medical treatment): Hiện nay, ứng dụng công nghệ lưu trữ lớn, khai phá dữ liệu trong lĩnh vực y tế để chẩn đoán, phòng ngừa và điều trị bệnh nhằm can thiệp nâng cao sức khỏe con người là hướng nghiên cứu có nhu cầu thực tiễn, được quan tâm tích cực bởi cộng đồng các nhà nghiên cứu. Một số ứng dụng cụ thể của KPDL trong y học: + Dự đoán khả năng nhiễm bệnh + Dự đoán mức độ nghiêm trọng của virus đối với cơ thể con người - Text mining & Web mining: KPDL văn bản và KPDL Web là một trong những ứng dụng quan trọng hiện nay. Các bài toán trong KPDL văn bản bao gồm: + Tìm kiếm văn bản + Phân lớp văn bản + Tóm tắt văn bản + Phân cụm văn bản + Phân cụm các từ mục + Đánh chỉ mục các từ tiềm năng + Dẫn đường văn bản Đối với các bài toán trong KPDL Web bao gồm:
  9. 3 + Thu thập và xử lý dữ liệu Web + Phân lớp nhóm các Website có độ uy tín khi truy cập - Tin sinh học (bio-informatics): KPDL sinh học là một phần rất quan trọng của lĩnh vực Tin-Sinh học (Bioinformatics). Một số ứng dụng của KPDL trong sinh học: + Lập chỉ mục, tìm kiếm tương tự, bất thường trong CSDL Gen. + Xây dựng mô hình khai phá các mạng di truyền và cấu trúc của Gen, protein + Xây dựng các công cụ trực quan trong phân tích dữ liệu di truyền. - Tài chính và thị trường chứng khoán (finance & stock market): Dữ liệu tài chính trong ngân hàng và trong ngành tài chính nói chung thường đáng tin cậy và có chất lượng cao, tạo điều kiện cho khai phá dữ liệu. Dưới đây là một số ứng dụng điển hình trong khai phá dữ liệu tài chính: - Dự đoán khả năng vay và thanh toán của khách hàng, phân tích chính sách tín dụng đối với khách hàng. + Phân tích hành vi khách hàng (vay, gửi tiền) + Phân loại và phân nhóm khách hàng mục tiêu cho tiếp thị tài chính + Phát hiện các hoạt động rửa tiền và tội phạm tài chính - Bảo hiểm (insurance) - Nhận dạng (pattern recognition) Trong chương này, luận văn sẽ giới thiệu tổng quan về khai phá dữ liệu bao gồm định nghĩa, một số nghiên cứu, những kỹ thuật khai phá và xử lý dữ liệu hiện nay. Tiếp theo đó là tổng quan về các kỹ thuật khai phá văn bản, ứng dụng trong bài toán phân tích bình luận khách hàng. 1.1.1. Những khái niệm về khai phá dữ liệu Ngày nay, dữ liệu do con người tạo ra ngày càng nhiều hơn về số lượng, tăng nhanh về khối lượng, phát triển mạnh về quy mô khiến việc phân loại, lựa chọn, khai thác và sử dụng gặp những khó khăn nhất định. Khái niệm khai phá dữ liệu ra đời hỗ trợ những công việc này.
  10. 4 Đến nay, có rất nhiều định nghĩa về khai phá dữ liệu nhưng nhìn chung mỗi định nghĩa đều hướng tới một nhận định. Theo Tom Mitchell [3]: “KPDL là việc sử dụng dữ liệu lịch sử để khám phá những qui tắc và cải thiện những quyết định trong tương lai.” Với một cách tiếp cận ứng dụng hơn, Fayyad [4] đã phát biểu: “KPDL, thường được xem là việc khám phá tri thức trong các cơ sở dữ liệu, là một quá trình trích xuất những thông tin ẩn, trước đây chưa biết và có khả năng hữu ích, dưới dạng các qui luật, ràng buộc, qui tắc trong cơ sở dữ liệu.” Tóm lại, KPDL là một quá trình học tri thức mới từ những dữ liệu đã thu thập được [5,6,7]. Khái niệm về khai phá dữ liệu (Data Mining) hay khám phá tri thức (Knowledge Discovery) có rất nhiều cách diễn đạt khác nhau nhưng về bản chất đó là quá trình tự động trích xuất thông tin có giá trị (Thông tin dự đoán - Predictive Information) ẩn chứa trong khối lượng dữ liệu khổng lồ trong thực tế. Thuật ngữ Data Mining cũng ám chỉ việc tìm kiếm một tập nhỏ có giá trị từ một số lượng lớn các dữ liệu thô. Hình 1.1 Quá trình trích xuất thông tin có giá trị Khai phá dữ liệu cũng là một lĩnh vực liên ngành, nơi hội tụ của nhiều học thuyết và công nghệ. Hình 1.2 Những lĩnh vực liên quan tới khai phá dữ liệu
  11. 5 1.1.2. Quy trình khai phá dữ liệu Khai phá dữ liệu là một bước trong bảy bước của quá trình KDD (Knowleadge Discovery in Database) và KDD được xem như bảy quá trình khác nhau theo thứ tự như sau: - Làm sạch dữ liệu (data cleaning & preprocessing): Loại bỏ nhiễu và dữ liệu không cần thiết. Đối với dữ liệu thu thập được, cần xác định các vấn đề ảnh hưởng là cho nó không sạch. Bởi vì, dữ liệu không sạch (có chứa lỗi, nhiễu, không đầy đủ, có mâu thuẫn) thì các tri thức khám phá được sẽ bị ảnh hưởng và không đáng tin cậy, sẽ dẫn đến các quyết định không chính xác. Do đó, cần gán các giá trị thuộc tính còn thiếu; sửa chữa các dữ liệu nhiễu/lỗi; xác định hoặc loại bỏ các ngoại lai (outliers); giải quyết các mâu thuẫn dữ liệu. - 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ý. Khi tích hợp cần xác định thực thể từ nhiều nguồn dữ liệu để tránh dư thừa dữ liệu. Việc dư thừa dữ liệu là thường xuyên xảy ra, khi tích hợp nhiều nguồn. Bởi cùng một thuộc tính (hay cùng một đối tượng) có thể mang các tên khác nhau trong các nguồn (cơ sở dữ liệu) khác nhau. Hay các dữ liệu suy ra được như một thuộc tính trong một bảng có thể được suy ra từ các thuộc tính trong bảng khác. Hay sự trùng lặp các dữ liệu. Các thuộc tính dư thừa có thể bị phát hiện bằng phân tích tương quan giữa chúng. - 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 đủ (in- complete data),… - Chuyển đổi dữ liệu: Các dữ liệu được chuyển đổi sang các dạng phù hợp cho quá trình xử lý. - Khai phá dữ liệu (data mining): Là một trong các bước quan trọng nhất, trong đó sử dụng những phương pháp thông minh để chắt lọc ra những mẫu dữ liệu. - Ướ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 đó.
  12. 6 - 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.3 Các bước của quá trình KDD Đối với một quá trình KPDL có năm giai đoạn như sau [8]: - Tìm hiểu nghiệp vụ và dữ liệu: Trong giai đoạn đầu tiên, nhà tư vấn (NTV) nghiên cứu kiến thức về lĩnh vực sẽ áp dụng, bao gồm các tri thức cấu trúc về hệ thống và tri thức, các nguồn dữ liệu hiện hữu, ý nghĩa, vai trò và tầm quan trọng của các thực thể dữ liệu. Việc nghiên cứu này được thực hiện qua việc tiếp xúc giữa NTV và người dùng. Khác với phương pháp giải quyết vấn đề truyền thống khi bài toán được xác định chính xác ở bước đầu tiên, NTV tìm hiểu các yêu cầu sơ khởi của người dùng và đề nghị các bài toán tiềm năng có thể giải quyết với nguồn dữ liệu hiện hữu. Tập các bài toán tiềm năng được tinh chỉnh và làm hẹp lại trong các giai đoạn sau. Các nguồn và đặc tả dữ liệu có liên quan đến tập các bài toán tiềm năng cũng được xác định. - Chuẩn bị dữ liệu: Sử dụng các kỹ thuật tiền xử lý để biến đổi và cải thiện chất lượng dữ liệu để thích hợp với những yêu cầu của các giải thuật học. Phần lớn các giải thuật KPDL hiện nay chỉ làm việc trên một tập dữ liệu đơn và phẳng, do đó dữ liệu phải được trích xuất và biến đối từ các dạng cơ sơ dữ liệu phân bố, quan hệ hay hướng đối tượng sang dạng cơ sở dữ liệu quan hệ đơn giản với một bảng dữ liệu.
  13. 7 - Mô hình hóa dữ liệu: Các bài toán được giải quyết trong giai đoạn này. Các giải thuật học sử dụng các dữ liệu đã được tiền xử lý trong giai đoạn hai để tìm kiếm các qui tắc ẩn và chưa biết. Công việc quan trọng nhất trong giai đoạn này là lựa chọn kỹ thuật phù hợp để giải quyết các vấn đề đặt ra. Các bài toán được phân loại vào một trong những nhóm bài toán chính trong KPDL dựa trên đặc tả của chúng. - Hậu xử lý và đánh giá mô hình: Dựa trên các đánh giá của người dùng sau khi kiểm tra trên các tập thử, các mô hình sẽ được tinh chỉnh và kết hợp lại nếu cần. Chỉ các mô hình đạt được mức yêu cầu cơ bản của người dùng mới đưa ra triển khai trong thực tế. Trong giai đoạn này, các kết quả được biến đổi từ dạng học thuật sang dạng phù hợp với nghiệp vụ và dễ hiểu hơn cho người dùng. - Triển khai tri thức: Các mô hình được đưa vào những hệ thống thông tin thực tế dưới dạng các mô-đun hỗ trợ việc đưa ra quyết định. Mối quan hệ chặt chẽ giữa các giai đoạn trong quá trình KPDL là rất quan trọng cho việc nghiên cứu trong KPDL. Một giải thuật trong KPDL không thể được phát triển độc lập, không quan tâm đến bối cảnh áp dụng mà thường được xây dựng để giải quyết một mục tiêu cụ thể. Do đó, sự hiểu biết bối cảnh vận dụng là rất cần thiết. Thêm vào đó, các kỹ thuật được sử dụng trong các giai đoạn trước có thể ảnh hưởng đến hiệu quả của các giải thuật sử dụng trong các giai đoạn tiếp theo. 1.1.3. Các kỹ thuật và tác vụ khai phá dữ liệu Các kỹ thuật KPDL được chia thành hai nhóm chính: + Nhóm mô tả dữ liệu: Nhóm này có nhiệm vụ mô tả về các tính chất hoặc các đặc tính chung của dữ liệu trong cơ sở dữ liệu hiện có gồm các kỹ thuật: phân cụm (clustering), luật kết hợp (Association rules), tóm tắt (Sumerization) và trực quan hóa (Visualization),… + Nhóm dự đoán: đưa ra các dự đoán dựa vào các suy diễn trên dữ liệu hiện thời, gồm có các kỹ thuật: phân lớp (Classification), hồi quy (Regession). - Có 3 kỹ thuật thông dụng nhất được sử dụng để khai thác dữ liệu là: phân cụm dữ liệu, phân lớp và dự đoán, luật kết hợp.
  14. 8 + Phân lớp và dự đoán (Classification & Prediction): Xếp đối tượng vào một trong các lớp đã biết trước. Ví dụ như phân loại cước hoặc dịch vụ dựa trên số máy bị gọi của cuộc gọi, phân lớp khu vực dựa trên số máy chủ gọi, phân lớp giờ cao điểm, thấp điểm dựa trên giờ bắt đầu đàm thoại v.v... Phân lớp là một lĩnh vực rất quan trọng trong KPDL. Phân lớp còn được gọi là học có giám sát (supervised learn- ing), hướng tiếp cận này thường sử dụng một số kỹ thuật như cây quyết định (decision tree), mạng nơ-ron nhân tạo (neural network). + Phân tích luật kết hợp: là một trong những phương pháp của KPDL. Nhiệm vụ của phương pháp này là phân tích dữ liệu trong cơ sở dữ liệu nhằm phát hiện và đưa ra những mối liên hệ giữa các giá trị dữ liệu. Đó chính là tập các luật kết hợp. Luật kết hợp thu được thường có dạng một mệnh đề có 2 vế: A => B. Trong đó, A là tiền đề, B là mệnh đề kết quả. Hai thông số quan trọng của luật kết hợp là độ hỗ trợ (Support) và độ tin cậy (Confidence). Khai thác các luật kết hợp từ cơ sở dữ liệu là việc tìm các luật có độ hỗ trợ và độ tin cậy lớn hơn ngưỡng mà người sử dụng xác định từ trước. Luật kết hợp tuy khá đơn giản nhưng những thông tin mà luật đem lại là rất đáng kể và hỗ trợ không nhỏ trong quá trình ra quyết định. Tìm kiếm các luật “quý hiếm” và mang nhiều thông tin từ cơ sở dữ liệu giao dịch (transactional data- base) là một trong những hướng tiếp cận chính trong khai phá dữ liệu. + Phân cụm dữ liệu (Clustering): mục tiêu chính của phương pháp phân cụm dữ liệu là nhóm các đối tượng tương tự nhau trong tập dữ liệu vào các cụm sao cho các đối tượng thuộc cùng một lớp là tương đồng còn các đối tượng thuộc các cụm khác nhau sẽ không tương đồng. Phân cụm dữ liệu là một phương pháp học không giám sát. Không giống như phân lớp dữ liệu, phân cụm dữ liệu không đòi hỏi phải định nghĩa trước các mẫu dữ liệu huấn luyện. Vì thế, có thể coi phân cụm dữ liệu là một cách học bằng phương pháp quan sát (learning by observation), trong khi phân lớp dữ liệu là học bằng ví dụ (learning by example). Với phương pháp này không thể biết kết quả các cụm thu được sẽ như thế nào khi bắt đầu quá trình. Vì vậy, thông thường cần có một chuyên gia về lĩnh vực đó để đánh giá các cụm thu được. Phân cụm dữ liệu được sử dụng nhiều trong các ứng dụng về phân đoạn thị trường, phân
  15. 9 đoạn khách hàng, nhận dạng mẫu, phân loại trang web ... Ngoài ra, phân cụm dữ liệu còn có thể được sử dụng như một bước tiền xử lý cho các thuật toán khai thác khác. Hình 1.5 Mô phỏng thuật toán phân cụm K-means Từ dữ liệu đã có, quá trình khai phá dữ liệu tìm ra những mối quan hệ giữa các dữ liệu theo một đặc điểm nào đó tùy theo cách khai phá gọi là các tác vụ khai phá dữ liệu. Một số tác vụ khai phá dữ liệu như: - Kết hợp: Tìm ra các luật như: “inside(x,city) → near(x, highway)”. - Phân cụm: Nhóm dữ liệu thành dạng lớp mới, ví dụ: cụm houses để xác định các mô hình phân phối. - Cây quyết định: Ưu tiên các nhân tố quan trọng để xây dựng nên luật kinh doanh trong định dạng cây. - Mạng neural: Ưu tiên các yếu tố quan trọng để xây dựng nên luật kinh doanh ở một thứ hạng nặng. - Thuật toán di truyền: Độ thích nghi của một luật được đánh giá bởi sự phân loại chính xác trên tập training set. - Khai phá web: Khai phá web để phân tích tiện ích của web Có năm thành phần cơ bản để đặc tả một tác vụ khai phá dữ liệu: - Dữ liệu cụ thể sẽ được khai phá (task-relevant data): Là phần dữ liệu từ các dữ liệu nguồn được quan tâm tương ứng là các thuộc tính hay chiều dữ liệu được
  16. 10 quan tâm. Bao gồm: tên kho dữ liệu/ cơ sở dữ liệu, các bảng dữ liệu hay các khối dữ liệu, các điều kiện chọn dữ liệu, các tiêu chí gom nhóm dữ liệu. - Loại tri thức sẽ đạt được (kind of knowledge): Loại tri thức đạt được sẽ tương ứng với tác vụ khai phá dữ liệu sẽ thực thi. Một số loại tri thức đạt được như: mô hình phân lớp, mô hình dự đoán, mô hình gom cụm, mô hình phân tích phần tử biên, mô hình phân tích tiến hóa,… - Tri thức nền (background knowledge) - Các đô đo (interestingness measures): Các độ đo được đưa ra bởi người dùng thường đi kèm với các ngưỡng giá trị, giúp cho quá trình khai phá hoặc đánh giá các mẫu được tìm thấy. Các độ do được đưa ra tương ứng với các loại tri thức đạt được và do đó tương ứng với các tác vụ khai phá dữ liệu được thực thi. Các độ đo thường được đưa ra để kiểm tra tính đơn giản, tính chắc chắn, tính hữu dụng của tri thức đạt được. -Các kỹ thuật biểu diễn tri thức/ trực quan hóa mẫu (pattern visualization and knowledge presentation): Thể hiện các tri thức tìm thấy đến người dùng, ví dụ như: luật, bảng, báo cáo, biểu đồ, đồ thị, cây, khối,… Với mỗi tác vụ khai phá dữ liệu từ dữ liệu đầu vào để có tri thức đầu ra đều cần có những giải thuật riêng. Mỗi giải thuật KPDL phải có bốn thành phần cơ bản sau: - Cấu trúc mẫu hay cấu trúc mô hình (model or pattern structure): - Hàm tỉ số (score function): Hàm tỉ số là hàm xác định một cấu trúc mô hình/ mẫu đáp ứng tập dữ liệu đã cho tốt ở mức độ nào đó. Hàm tỉ số cho biết liệu một mô hình có tốt hơn các mô hình khác hay không. Một vài hàm tỉ số thông dụng: likeli- hood, sum of squared errors, misclassification rate,… - Phương pháp tìm kiếm và tối ưu hóa (optimization and search method): Phương pháp này nhằm xác định cấu trúc và giá trị các thông số đáp ứng tốt nhất hàm tỉ số từ dữ liệu sẵn có. - Chiến lược quản lý dữ liệu (data management strategy): Hỗ trợ cách dữ liệu được lưu trữ, đánh chỉ mục và truy xuất.
  17. 11 1.1.4. Kiến trúc của một hệ thống khai phá dữ liệu Hình 1.4 biểu diễn kiến trúc của một hệ thống khai phá dữ liệu. Hình 1.4 Kiến trúc của một hệ thống khai phá dữ liệu Kiến trúc của một hệ thống khai phá dữ liệu điển hình được cho ở hình trên trong đó: - CSDL, kho dữ liệu hoặc các thông tin lưu trữ khác (database, data warehouse, www, other info Repositories): Đây là một hay một tập các CSDL, các kho dữ liệu, các trang tính hay các dạng khác của thông tin được lưu trữ. Các kĩ thuật làm sạch hoặc tích hợp dữ liệu có thể được thực hiện. - Máy chủ CSDL hay máy chủ kho dữ liệu (database or warehouse server): Máy chủ này có nhiệm vụ lấy được những dữ liệu thích hợp dựa trên nhưng yêu cầu khai phá của người dùng. - Cơ sở tri thức (knowledge-base): Đây là miền tri thức được dùng để tìm kiếm hay đánh giá độ quan trọng của các mầu kết quả. Tri thức này có thể bao gồm một sự phân cấp khái niệm dùng để tổ chức các thuộc tính hay các giá trị thuộc tính ở các mức trừu tượng khác nhau. - Máy khai phá dữ liệu (data-mining engine): Một hệ thống khai phá dữ liệu cần phải có một tập các module chức năng để có thể thực hiện được công việc, chẳng hạn như đặc trưng hóa, kết hợp, phân lớp, phân cụm, phân tích sự tiến hóa hoặc sự chệch hướng.
  18. 12 - Module đánh giá mẫu (pattern evaluation): Bộ phận này tương tác với các module khai phá dữ liệu để tập trung vào việc duyệt tìm các mẫu đáng tin cậy. Nó có thể dùng các ngưỡng về độ quan tâm để lọc các mẫu đã khám phá được. - Giao diện người dùng (Graphical user interface): Bộ phận này cho phép người dùng giao tiếp với hệ thống khai phá dữ liệu. Thông qua giao diện này người dùng tương tác với hệ thống bằng cách đặc tả một yêu cầu khai phá hay một nhiệm vụ, cung cấp thông tin giúp cho việc tìm kiếm và thực hiện khai phá đánh giá trên các kết quả khai phá trung gian. Ngoài ra bộ phận này còn cho phép người dùng có thể xem được các lược đồ CSDL, lược đồ kho dữ liệu hay các cấu trúc dữ liệu, các đánh giá mẫu và hiển thị chúng trong các khuôn dạng mẫu khác nhau. 1.1.5. So sánh khai phá dữ liệu với máy học Sự khác biệt chính là KPDL được sử dụng để lấy các quy tắc từ dữ liệu sẵn có, trong khi máy học dạy máy tính để tìm hiểu và hiểu các quy tắc nhất định. Máy học là một phần của trí tuệ nhân tạo cung cấp cho máy tính khả năng học hỏi mà không cần lập trình rõ ràng. Máy học tập chủ yếu nhắm vào việc phát triển các chương trình máy tính có thể dạy mình phát triển và thay đổi theo tình huống mới và thực sự gần với các thống kê tính toán. Với cùng mục đích là “học tập từ dữ liệu”, các giải thuật trong máy học đóng một vai trò nòng cốt trong KPDL. Tuy nhiên, các giải thuật này cần được phát triển để thích hợp với các yêu cầu và thách thức mới của KPDL. Thách thức đầu tiên là mức độ nhiễu cao trong dữ liệu của KPDL. Tiêu chuẩn mạnh mẽ của giải thuật đối với nhiễu trở nên quan trọng hơn trong khi các tiêu chuẩn khác phần nào có thể giảm bớt. Thách thức thứ hai là kích thước lớn của các tập dữ liệu cần xử lý. Các tập dữ liệu trong KPDL thường có kích thước cực kỳ lớn. Khi so sánh các tập dữ liệu chuẩn trong các kho dữ liệu về KPDL và máy học, các tập dữ liệu trong KPDL thường có số đặc tính lớn hơn 10 lần và số đối tượng lớn hơn 100 lần. Trong thực tế, kích thước của các tập dữ liệu trong KPDL thường ở mức tera-byte (hàng ngàn giga-byte). Với kích thước như thế, thời gian xử lý thường cực kỳ dài. Thêm vào đó, các giải thuật học truyền thống thường yêu cầu tập dữ liệu được tải toàn bộ lên trên bộ nhớ để xử
  19. 13 lý. Mặc dù kích thước bộ nhớ trong của máy tính đã gia tăng đáng kể trong thời gian gần đây, việc gia tăng này cũng không thể đáp ứng kịp với việc tăng kích thước dữ liệu. Vì vậy, việc vận dụng các kỹ thuật xác suất, lấy mẫu, đệm, song song và tăng dần vào các giải thuật để tạo ra các phiên bản phù hợp với yêu cầu của KPDL trở nên ngày càng quan trọng. Các kỹ thuật trong KPDL là hướng tác vụ và hướng dữ liệu. Thay vì tập trung vào xử lý tri thức dạng kí hiệu và khái niệm như trong máy học, mọi phát triển trong KPDL thì kết chặt vào các ứng dụng thực tế và đặc tính dữ liệu cụ thể trong các ứng dụng đó. Ví dụ, Luật kết hợp (Association Rules) là kỹ thuật KPDL nhằm tìm kiếm những mối liên kết giữa các món hàng trong các hóa đơn ở siêu thị. Giải thuật học trong kỹ thuật này được phát triển dựa trên đặc tính về dữ liệu rất đặc thù là ở dạng nhị phân và rất thưa [8]. 1.2. Ứng dụng khai phá dữ liệu trong phân loại bình luận khách hàng 1.2.1. Phương pháp phân lớp văn bản Phân lớp văn bản được xem như là quá trình gán các văn bản vào một hay nhiều văn bản đã xác định từ trước. Người ta có thể phân lớp các văn bản một cách thủ công, tức là đọc từng văn bản một và gán nó vào một lớp nào đó. Đây là cách sẽ tốn rất nhiều thời gian và công sức đối với nhiều văn bản và do đó không khả thi. Do vậy mà phải có các phương pháp phân lớp tự động. Để phân lớp tự động người ta sử dụng các phương pháp học máy trong trí tuệ nhân tạo. Ví dụ như cây quyết định, Bayes, K-nearest neighbor). Một trong những ứng dụng quan trọng nhất của phân lớp văn bản là trong tìm kiếm văn bản. Từ một tập dữ liệu đã phân lớp các văn bản sẽ được đánh chỉ số đối với từng lớp tương ứng. Người dùng có thể xác định chủ đề hoặc phân lớp văn bản mà mình mong muốn tìm kiếm thông qua các câu hỏi. Một ứng dụng khác của phân lớp văn bản là trong lĩnh vực tìm hiểu văn bản. Phân lớp văn bản có thể được sử dụng để lọc các văn bản hoặc một phần các văn bản chứa dữ liệu cần tìm mà không làm mất đi tính phức tạp của ngôn ngữ tự nhiên.
  20. 14 Trong phân lớp văn bản, một lớp có thể được gán giá trị đúng sai (True hay False hoặc văn bản thuộc hay không thuộc lớp) hoặc được tính theo mức độ phụ thuộc (văn bản có một mức độ phụ thuộc vào lớp). Trong trường hợp có nhiều lớp thì phân loại đúng sai sẽ là việc xem một văn bản có thuộc vào một lớp duy nhất nào đó hay không. - Quá trình: Quá trình phân lớp văn bản tuân theo các bước sau: + Đánh chỉ số (Indexing): Quá trình đánh chỉ số văn bản cũng giống như trong quá trình đánh chỉ số của tìm kiếm văn bản. Trong phần này thì tốc độ đánh chỉ số đóng vai trò quan trọng vì một số các văn bản mới có thể cần được xử lý trong thời gian thực. + Xác định độ phân lớp: Cũng giống như trong tìm kiếm văn bản, phân lớp văn bản yêu cầu quá trình diễn tả việc xác định văn bản đó thuộc lớp nào đó như thế nào, dựa trên cấu trúc biểu diễn của nó. Đối với hệ phân lớp văn bản, chúng ta gọi quá trình này là bộ phân lớp (Categorization hoặc classifier). Nó đóng vai trò như những câu hỏi trong hệ tìm kiếm. Nhưng trong khi những câu hỏi mang tính nhất thời, thì bộ phân loại được sử dụng một cách ổn định và lâu dài cho quá trình phân loại. + So sánh: Trong hầu hết các bộ phân loại, mỗi văn bản đều được yêu cầu gán đúng sai vào một lớp nào đó. Sự khác nhau lớn nhất đối với quá trình so sánh trong hệ tìm kiếm văn bản là mỗi văn bản chỉ được so sánh với một số lượng các lớp một lần và việc chọn quyết định phù hợp còn phụ thuộc vào mối quan hệ giữa các lớp văn bản. + Phản hồi: Quá trình phản hồi đóng vai trò trong hệ phân lớp văn bản. Thứ nhất là khi phân loại thì phải có một số lượng lớn các văn bản đã được xếp loại bằng tay trước đó, các văn bản này được sử dụng làm mẫu huấn luyện để hỗ trợ xây dựng bộ phân loại. Thứ hai là đối với việc phân loại văn bản này không dễ dàng thay đổi các yêu cầu như trong quá trình phản hồi của tìm kiếm văn bản, người dùng có thể thông tin cho người bảo trì hệ thống về việc xóa bỏ, thêm vào hoặc thay đổi các phân lớp văn bản nào đó mà mình yêu cầu.
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2