TRƯỜNG ĐẠI HỌC ĐIỆN LỰCKHOA CÔNG NGHỆ THÔNG TIN BÁO CÁO CHUYÊN ĐỀ HỌC PHẦN KHAI PHÁ DỮ LIỆU ĐỀ TÀI: Khai phá dữ liệu, đánh giá quan điểm bình luận sản phầm trên mạng internet bằng phương
Trang 1TRƯỜNG ĐẠI HỌC ĐIỆN LỰC
KHOA CÔNG NGHỆ THÔNG TIN
BÁO CÁO CHUYÊN ĐỀ HỌC PHẦN
KHAI PHÁ DỮ LIỆU
ĐỀ TÀI:
Khai phá dữ liệu, đánh giá quan điểm bình luận sản phầm trên mạng internet bằng phương pháp Bayes
Giảng viên hướng dẫn : PHẠM ĐỨC HỒNG
Sinh viên thực hiện : TRẦN THỊ HUẾ
ĐOÀN THỊ YẾN Khoa : CÔNG NGHỆ THÔNG TIN
Chuyên ngành : CÔNG NGHỆ PHẦN MỀM
Trang 3CHƯƠNG 2: PHƯƠNG PHÁP NAIVE BAYES SỬ DỤNG TRONG KHAI PHÁ DỮ LIỆU 8
2.4 Giải thích về phương pháp và các bước áp dụng 11
LIỆT KÊ CHỮ VIẾT TẮT
Trang 5DANH MỤC CÁC BẢNG
Bảng 1: Bảng ví dụ từ quan trọng và giả thuyết 10
Trang 6PHẦN MỞ ĐẦU
Ngày nay Công nghệ thông tin đang ngày càng phát triển và trở thành một phần tấtyếu của cuộc sống con người Công nghệ thông tin đang càng ngày càng được ứngdụng nhiều vào tất cả các lĩnh vực từ y học, kinh doanh đến cả giáo dục, và nó gópphần không nhỏ vào sự phát triển của tất các các lĩnh vực đó, đặc biệt là lĩnh vực kinhdoanh
Đất nước ta đang ngày càng phát triển, đang cố gắng hòa nhập và rút ngắnkhoảng cách với thế giới, việc nước ta trở thành thành viên của WTO đã được các nhàkinh doanh chú ý đến và đầu tư ngày càng nhiều vào Việt Nam Vì vậy để không bịquá lạc hậu, để đáp ứng yêu cầu tất yếu của các nhà đầu tư vào Việt Nam và để cácnhà kinh doanh trong nước có đủ sức cạnh tranh với nước ngoài thì bắt buộc phảiđầu tư cho Công nghệ thông tin mà ở đây chính xác là các phần mềm tin học vàonhiều lĩnh vực giúp nâng cao tính hiệu quả và chính xác của công việc, ngoài ra còntiết kiệm thời gian và giảm bớt mệt nhọc cho con người
Em đã chọn đề tài “Khai phá dữ liệu, đánh giá quan điểm bình luận sản phầm
trên mạng internet bằng phương pháp Bayes ” Trong lĩnh vực thương mại điện tử,việc đánh giá sản phẩm có thuộc quản điểm nào là một trong những vấn đề ngườidùng quan tâm nhiều nhất
Trang 7LỜI CẢM ƠN
Môn học “Khai phá dữ liệu” là một môn học rất bổ ích đối với chúng em.Sau khi hoàn thành đề tài này, chúng em đã phần nào hiểu được thế nào là máyhọc, biết được các phương pháp và thuật toán khai phá dữ liệu, có được mộtchương trình cơ bản Để có được những thành công như vậy, ngoài sự nỗ lựccủa các thành viên trong nhóm còn có sự giúp đỡ tận tình của thầy giáo hướngdẫn và sự tìm tòi ham học hỏi của các bạn trong nhóm
Đầu tiên, chúng em xin gửi lời cảm ơn tới thầy giáo – Phạm Đức Hổng
về những hướng dẫn khoa học của thầy Tiếp đến chúng em xin gửi lời cảm ơntới cô giáo chủ nhiệm cùng toàn thể các thầy cô trong khoa đã giúp tạo điều kiệngiúp đỡ chúng em trong quá trình thực hiện đề tài
Mặc dù đã rất cố gắng hoàn thiện bài tập lớn với tất cả sự nỗ lực, tuynhiên, do bước đầu đi vào thực tế, tìm hiểu và xây dựng đồ án trong thời gian cóhạn, và kiến thức còn hạn chế, nhiều bỡ ngỡ, nên báo cáo “Khai phá dữ liệu”chắc chắn sẽ không thể tránh khỏi những thiếu sót Chúng em rất mong nhậnđược sự quan tâm, thông cảm và những đóng góp quý báu của các thầy cô vàcác bạn để đồ án này ngày càng hoàn thiện hơn
Một lần nữa, chúng em xin chân thành cám ơn và luôn mong nhận được
sự đóng góp của thầy/cô!
Sinh viên thực hiện Trần Thị Huế Đoàn Thị Yến
Trang 8CHƯƠNG 1: GIỚI THIỆU VỀ KHAI PHÁ DỮ LIỆU
1.1 Khai phá dữ liệu là gì
Data mining – khai phá dữ liệu, là một tập hợp, một hệ thống các phươngpháp tính toán, thuật toán được áp dụng cho các cơ sở dữ liệu lớn và phức tạp mụcđích loại bỏ các chi tiết ngẫu nhiên, chi tiết ngoại lệ, khám phá các mẫu, mô hình, quyluật tiềm ẩn, các thông tin có giá trị trong bộ dữ liệu Data mining là thành quả côngnghệ tiên tiến ngày nay, là quá trình khám phá các kiến thức vô giá bằng cách phântích khối lượng lớn dữ liệu đồng thời lưu trữ chúng ở nhiều cơ sở dữ liệu khác nhau”
1.2 Quy trình khai phá dữ liệu
1.2.1 Nghiên cứu lĩnh vực
Ta cần nghiên cứu lĩnh vực cần sử dụng Data mining để xác định được những trithức ta cần chắt lọc, từ đó định hướng để tránh tốn thời gian cho những tri thứckhông cần thiết
2.2.2 Tạo tập tin dữ liệu đầu vào
Ta xây dựng tập tin để lưu trữ các dữ liệu đầu vào để máy tính có thể lưu trữ và
ta sẽ dùng Rough set(http://en.wikipedia.org/wiki/Rough_set) để giảm số chiều
2.2.5 Chọn tác vụ khai thác dữ liệu
Trang 9Để đạt được mục đích ta cần, ta cần chọn được tác vụ khai thác dữ liệu sao cho phùhợp Thông thường có các tác vụ sau:
2.2.6 Chọn các thuật giải Khai thác dữ liệu
2.2.7 Khai thác dữ liệu: Tìm kiếm tri thức
Sau khi tiến hành các bước trên thì đây là bước chính của cả quá trình, ta sẽ tiếnhành khai thác và tìm kiếm tri thức
2.2.8 Đánh giá mẫu tìm được
Ta cần đánh giá lại xem trong các tri thức tìm được, ta sẽ sử đụng được nhữngtri thức nào, những tri thức nào dư thừa, không cần thiết
2.2.9 Biểu diễn tri thức
Ta biểu diễn tri thức vừa thu thập được dưới dạng ngôn ngữ tự nhiên và hìnhthức sao cho người dùng có thể hiểu được những tri thức đó
2.2.10 Sử dụng các tri thức vừa khám phá
1.3 Giới thiệu về đề tài
Dựa vào các tập dữ liệu về bình luận sản phẩm, đánh giá quan điểm bình luậnbằng phương pháp Naive Bayes
Trang 10CHƯƠNG 2: PHƯƠNG PHÁP NAIVE BAYES SỬ DỤNG
TRONG KHAI PHÁ DỮ LIỆU
2.1 Giới thiệu phương pháp Naive Bayes
Trong lĩnh vực Data Mining, Bayes Theorem (hay Bayes’ Rule) là kỹ thuật phânlớp dựa vào việc tính xác suất có điều kiện Bayes’ Rule được ứng dụng rất rộng rãibởi tính dễ hiểu và dễ triển khai
Naive Bayes Classification (NBC) là một thuật toán phân loại dựa trên tính toán
xác suất áp dụng định lý Bayes
Thuật toán này thuộc nhóm Supervised Learning (Học có giám sát)
Theo định lý Bayes, ta có công thức tính xác suất ngẫu nhiên của sự kiện y khiy
biết x như sau:x
Giả sử ta phân chia 1 sự kiện thành thành phần khác nhau x n x x1, 2,…,xn Naive Bayes theo đúng như tên gọi dựa vào một giả thiết x1, x2,… xn là các thành phần độclập với nhau Từ đó ta có thể tính được:
Do đó ta có:
∝ là phép tỉ lệ thuận
Trang 11Trên thực tế thì ít khi tìm được dữ liệu mà các thành phần là hoàn toàn độc lậpvới nhau Tuy nhiên giả thiết này giúp cách tính toán trở nên đơn giản, training datanhanh, đem lại hiệu quả bất ngờ với các lớp bài toán nhất định.
Cách xác định các thành phần (class) của dữ liệu dựa trên giả thiết này có tên
là Naive Bayes Classifier
2.2 Các mô hình thuật toán Bayes
Một trong các bài toán nổi tiếng hiệu quả khi sử dụng NBC là bài toán phân loạitext, trong đó phổ biến nhất là bài toán phân loại thư rác
Trong bài toán này, mỗi văn bản được thể hiện thành dạng bag of words, hiểunôm na là thể hiện xem có bao nhiêu từ xuất hiện và tần suất xuất hiện trong vănbản, nhưng bỏ qua thứ tự các từ
Các từ và tần suất xuất hiện được coi là các feature vector, và theo giảthiết Naive Bayes coi là các thành phần độc lập mà không ảnh hưởng đến nhau
Có 2 mô hình thuật toán Naive Bayes thường sử dụng là: mô hình Bernoulli và
mô hình Multinomial
2.2.1 Mô hình Bernoulli
Ở mô hình này, các feature vector là các giá trị nhị phân 0, 1 Trong đó 1 thểhiện từ có xuất hiện trong văn bản, 0 thể hiện từ đó không xuất hiện trong văn bản.Xác suất P (xi y∣ ) được tính bằng
với P(i|y)P (i∣y) là tỉ lệ số lần từ xuất hiện trong toàn bộ tập training data cóxi
nhãn y y
Nhiều tài liệu biểu diễn công thức dưới dạng khác là:
Trang 12Công thức (4) và (5) về giá trị toán học là giống nhau.
Ni là tổng số lần từ xuất hiện trong văn bản.xi
Nc là tổng số lần từ của tất cả các từ x1,… xuất hiện trong văn bản.xn
2.3 Tổng quan về Naive Bayes
Naive Bayes Classifiers (NBC) là phương pháp cổ điển nhưng vẫn rất hữu dụng
với các bài toán nhất định như phân loại văn bản, email…
NBC với công thức tính toán đơn giản nên dễ cài đặt (hiện nay nếu dùng thư viện sklearn thì chỉ cần gọi vài dòng lệnh như mình làm bên trên), thời gian training vàtest nhanh, phù hợp với bài toán data lớn
Cần chú ý sử dụng Smoothing để tránh lỗi xác suất tổng được bằng 0 khi xác suất của một feature thành phần bằng 0
Trang 132.4 Giải thích về phương pháp và các bước áp dụng
Thuật toán này dựa trên đinh lý Bayes với công thức tổng quát là:
Với:
● là xác suất để xảy ra giả thuyết với đầu vào là tập dữ liệu ngẫunhiên cần dự đoán x
● là xác suất xảy ra của bản thân giả thuyết mà không quan tâm đến x
● là xác suất xảy ra x khi biết H xảy ra, gọi là “xác suất của x nếu có H”
● là xác suất xảy ra của riêng tập dữ liệu dự đoán x
Trang 14Áp dụng công thức đã nêu ở trên, chúng ta tính toán được các giá trị như sau
● P(“Camera”) = (số từ “Camera”) / (tổng số từ trong giả thuyết) = 3 / 9 = 0.34
● P(“Cau_hinh”) = (số từ “Cau_hinh”) / (tổng số từ trong giả thuyết) = 3 / 9 = 0.34
● P(“Pin”) = (số từ “Pin”) / (tổng số từ trong giả thuyết) = 2 / 9 = 0.22
Giả sử đầu vào là câu “dung lượng máy tốt”
Tính xác suất:
P(“Camera” | “dung lượng”) = P(“Camera”) * (số từ “dung lượng” mà có giảithuyết “Camera”) / (số từ “dung lượng” tại tất cả các giả thuyết) = 0.34 * (0 / 2) = 0P(“Cau_hinh” | “dung lượng”) = P(“Cau_hinh”) * (số từ “dung lượng” mà có giảthuyết “Cau_hinh”) / (số từ “dung lượng” tại tất cả các giả thuyết) = 0.34 * (2 / 3) =0.226
P(“Pin” | “dung lượng”) = P(“Pin”) * (số từ “dung lượng” mà có giả thuyết “Pin”)/ (số từ “dung lượng” tại tất cả các giả thuyết) = 0.22 * (1 / 3) = 0.073
Với kết quả tính toán trên, chúng ta nhận thấy rằng: P(“hinh” | “dung lượng”) >P(“Pin” | “dung lượng” ) > P(“Camera” | “dung lượng” ) ở bước dự đoán chúng tađược đánh giá thuộc quan điểm “Cau_hinh”
a) Điểm mạnh
Dễ dàng và nhanh chóng để dự đoán và phân lớp dữ liệu thành các nhóm khácnhau
Dự đoán đa lớp với độ chính xác cao
Naive Bayes thực hiện tốt hơn so với các mô hình khác như hồi quy và cần ít dữliệu training
b) Một số hạn chế
Trang 15Khi tiến hành dự đoán một tập dữ liệu mà không hề có trong bộ đã đượctraining thì xác suất này được xác định là 0.
2.5 Tài nguyên sử dụng
Trang 16a) Fordel chứa dữ liệu trainingdata của các quan điểm
Hình 1: Hình ảnh folder training data
b) Source code
Hình 2: Hình ảnh source code 1
Trang 20CHƯƠNG 3: TRIỂN KHAI CHƯƠNG TRÌNH
3.1 Triển khai chương trình
Trang 21KẾT LUẬN
Chương trình dự đoán quan điểm bình luận tuy đã đạt được một số yêu cầu
dự đoán cơ bản Chương trình mới chỉ đáp những được yêu cầu đơn giản, còn kháphụ thuộc vào tập dữ liệu datatranning
Do trình độ kinh nghiệm thực tế và trình độ còn hạn chế nên chương trìnhchưa thật hoàn chỉnh cần phải có thời gian để chương trình hoàn thiện hơn Em rấtmong được sự chỉ bảo hướng dẫn của thầy, em xin chân thành cảm ơn thầy
Trang 22TÀI LIỆU THAM KHẢO
1 Silde giáo trình môn Khai phá dữ liệu của trường ĐHĐL
2 Các trang web: Google, tailieu.vn, youtube.com,…