Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 23 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
23
Dung lượng
1,9 MB
Nội dung
ĐHQG TP Hồ Chí Minh Trường ĐH Cơng Nghệ Thơng Tin -oOo- ĐỒ ÁN CUỐI KỲ PHÂN TÍCH CẢM XÚC TỪ BÌNH LUẬN SẢN PHẨM SHOPEE Mơn học: Giảng viên lý thuyết: Giảng viên thực hành: Sinh viên thực hiện: Tư tính tốn – CS117.L22.KHCL Ngơ Đức Thành Lương Phạm Bảo 19521242 Nguyễn Phú Lộc 19520687 Đoàn Duy Ân 19521172 TP Hồ Chí Minh, 29 tháng 08 năm 2021 I 2 I II III IV V VI VII Phân tích cảm xúc cho bình luận sản phẩm Lý chọn toán .1 Xác định toán Evaluation Mô tả liệu Graphic Organizer Iteration .4 Iteration .5 Iteration .6 Iteration .7 Iteration .8 Iteration .9 Iteration .10 FlowChart 11 Mô tả kĩ thuật cho toán 12 TF-IDF 12 Word Segmentation 12 Stop word .12 Model sử dụng .13 Kết mơ hình 13 Kết mơ hình Random Forest 13 Kết mơ hình Logistic Regression .14 Kết mô hình Naive Bayes 16 Kết mơ hình Decision Tree 17 Hướng phát triển ứng dụng demo 19 Bảng phân công 20 Nguồn tham khảo 20 I Phân tích cảm xúc cho bình luận sản phẩm Lý chọn tốn Bán hàng online xu cơng nghệ ngày nay, gần gia đình mua hàng online tuần Tuy nhiên khó mà kiểm định chất lượng có đảm bảo hay khơng Đặc biệt với mặt hàng đắt tiền bày bán nhan nhản khắp nơi internet, việc lựa chọn mua đâu, mua hãng cho tốt trở thành mối quan tâm lớn cho người dùng Một cách để định có nên mua hay khơng dựa vào đánh giá từ người mua trước, nhiên số lượng đánh giá lớn, khơng có nhân lực để thống kê hết Vì áp dụng machine Learning nói riêng cách giải vấn đề dựa máy tính nói chung việc phân loại đánh giá khách hàng việc đơn giản hiệu tiết kiệm chi phí Ứng dụng tốn: Thơng qua việc tự động phân loại dự đốn chất lượng câu bình luận tìm sản phẩm review, đáng tiền để mua, giúp người mua đánh giá phân biệt sản phẩm cách dễ dàng Xác định tốn Input gì? • Có input • Một câu comment có định dạng text bình luận sản phẩm(dữ liệu dạng Tiếng Việt có dấu),1 câu comment chứa nhiều câu • Chú ý:câu bình luận có độ dài khơng q 200 từ (thơng thường câu có độ dài 200 từ thường spam) Output gì? • Có output • Output có đinh dạng text • Giá trị output gờm hai loại (Positive,Negative) • Positive: Câu bình luận mang tính tích cực,đánh giá cao sản phẩm VD: Shop giao hàng nhanh, đóng gói cẩn thận • Negative: Câu bình luận mang tính tiêu cực,chê bai,khơng hài lịng sản phẩm VD: Khô gà ăn ỉu, cay nhiều ko phải cay vừa Ko đc ngon lần chị m mua Evaluation Cách thu thập liệu: Data thu thập thông qua cách: crawl comment sản phẩm từ trang sản phẩm shopee lấy tập liệu thu thập từ thi shopee,dữ liệu crawl người đánh nhãn độc lập(nhãn có tỉ lệ đờng thuận 70%) Tiêu chí đánh giá: Được đánh giá kết dự đốn câu bình luận khác(các câu chưa có liệu, câu comment cho sản phẩm ) ,=s ố lượng câu dự đốn đúng/(trên)số câu muốn dự đốn Ngồi sử dụng đơn vị đo Máy học F1 score,accuracy Dữ liệu thử nghiệm tổng hợp lại gán nhãn sẵn (tỉ lệ đồng thuận 85%) không đưa vào tập huấn luyện (cả bạn đánh nhãn độc lập có thống lại để có tỉ lệ đờng cao ) Mơ tả liệu Nhóm chúng em sử dụng liệu từ ng̀n: Craw data: Nhóm em sử web crapping từ thư viện Beatiful Soup python để craw comment shopee số mặt hàng Data thu thập: Lựa chọn dataset từ thi kaggle shopee số dataset public khác Dữ liệu comment craw khoảng 20000 comment Do khó khăn mặt thời gian nên chúng em lựa chọn 6000 câu tốt từ 20000 câu để label, sau lọc số câu để khoảng 5000 câu gộp với liệu với liệu chúng em kiếm để có 8497 câu bình luận Phân phối liệu: : 5538 : 1598 -1: 1361 Phân chia liệu Nhóm em chia liệu thành tập train test theo tỉ lệ 8: để huấn luyện mơ hình( tập train lại chia theo tỉ lệ 3:1 ứng với tập train validation) Ta thấy liệu bị cân nên nhóm em cân nhắc sử dụng thêm F1 score để đánh giá tốn cách xác Cấu trúc giải cho bai toán Để giải tốn nhóm em phân chia tốn nh cấu trúc gờm phần chính: Data Training Demo Với phần nhóm em thấy áp dụng pattern việc giải toán máy học (cụ thể toán phân loại) Sau phân chia toán thành vấn đề nhỏ hơn, chúng em thực giải vấn đề bước tương tự giải vấn đề máy học( công đoạn để giải tốn máy học điển hình) Ngồi bước thực hiện, có số bước nhỏ kèm theo(rõ phần Graphic Organizer) Các vấn đề node chưa vấn đề quen đơn giản ta sử dụng pattern recognition toán text classification để giải ( phần node công đoạn xem tốn có sử dụng máy học Sơ đờ giải : Data → Training → Demo I Graphic Organizer Iteration Iteration Iteration Iteration Iteration Iteration Iteration 10 II FlowChart 11 III Mơ tả kĩ thuật cho tốn TF-IDF ĐN: TF-IDF trọng số từ văn thu qua thống kê ,thể mức độ quan trọng từ văn bản, mà thân văn xét nằm tập hợp văn Tf- term frequency: Dùng để ước lượng tần xuất xuất từ văn Tuy nhiên với văn có độ dài khác nhau, số lần xuất từ nhiều Vì số lần xuất từ chia độ dài văn (tổng số từ văn đó) TF(t, d) = (số lần từ t xuất văn d) / (tổng số từ văn d) IDF- Inverse Document Frequency: Dùng để ước lượng mức độ quan trọng từ Khi tính tần số xuất tf từ coi quan trọng Tuy nhiên có số từ thường được sử dụng nhiều không quan trọng để thể ý nghĩa đoạn văn , ví dụ: Từ nối: và, nhưng, nhiên, thế, vậy, … Giới từ: ở, trong, trên, … Từ định: ấy, đó, nhỉ, … Vì ta cần giảm mức độ quan trọng từ cách sử dụng IDF : IDF(t, D) = log_e( Tổng số văn tập mẫu D/ Số văn có chứa từ t) Tf-idf có trọng số cao từ xuất thường xuyên tài liệu tại, xuất tập tài liệu tổng thể (document collection), cho thấy từ đặc biệt liên quan đến tài liệu Đối với từ xuất câu, ta lấy tổng số lượng từ tài liệu nhân với nghịch đảo tần suất tài liệu tập tài liệu tổng thể Word Segmentation Word Segmentation trình phân chia văn viết thành đơn vị có nghĩa, chẳng hạn từ, câu chủ đề Thuật ngữ áp dụng cho trình tinh thần sử dụng ngườikhi đọc văn quy trình nhân tạo thực lĩnh xực xử lý ảnh, xử lý ngôn ngữ tự nhiên Stop word Với tốn NLP nói chung, ta cần phải rút trích thơng tin thơng qua đặc trưng từ câu, từ văn Thông thường ta lấy từ có số lần xuất nhiều văn để đánh giá, nhiên có câu dù có số lần xuất nhiều lại không mang lại thông tin cụ thể Vì trước tính tần số từ văn bản, ta cần loại bỏ bớt từ khỏi văn nhằm giúp cho kết huấn luyện dự đốn mơ hình trở nên tốt 12 VD: sản phẩm có mẫu mã đẹp, giao hàng nhanh sản phẩm có bị trầy → sản phẩm mẫu mã đẹp, giao hàng nhanh sản phẩm trầy Model sử dụng a) MultinomialNB: Phân loại văn sử dụng Naïve Bayes dựa “bag of word”, đó, từ vựng đánh số – với từ văn xem xét – với từ xuất văn xem xét b) LogictisRegression: Phương pháp hồi quy logistic mơ hình hời quy nhằm dự đốn giá trị đầu rời rạc (discrete target variable) y ứng với véc-tơ đầu vào x Việc tương đương với chuyện phân loại đầu vào x vào nhóm y tương ứng c) SVM: SVM thuật toán máy học giám sát, sử dụng cho việc phân loại đệ quy Tuy nhiên sử dụng chủ yếu cho việc phân loại Trong thuật tốn này, vẽ đời thị liệu điểm n chiều (ở n số lượng tính bạn có) với giá trị tính phần liên kết Sau thực tìm "margin" phân chia class Margin, hiểu đơn giản đường thằng phân chia lớp thành hai phần riêng biệt d) Decision tree: Là mô hình định dựa câu hỏi Mơ hình có tên định (decision tree), sử dụng câu bình luận để học cách định lựa chọn nhãn e) Random Forest: Đây phương pháp xây dựng tập hợp nhiều định sử dụng phương pháp voting để đưa định biến target cần dự báo IV Kết mơ hình Kết mơ hình Random Forest 13 Kết mơ hình Logistic Regression 14 Kết mơ hình SVM 15 Kết mơ hình Naive Bayes 16 Kết mơ hình Decision Tree 17 Bảng so sánh kết chạy mơ hình: Kết Random Forest Recall Precision F1_score Accuracy 0.59 0.65 0.61 0.74 Logistic Regression SVM 0.68 0.74 0.7 0.8 0.69 0.73 0.71 0.8 Naïve Bayes Decision Tree 0.56 0.76 0.61 0.75 0.59 0.59 0.59 0.7 Ta thấy mơ hình Random Forest mơ hình Decision Tree có kết cao tập train tệ tập test (hơn 99% 60%).Từ ta thấy mơ hình bị overfitting 18 Ngồi mơ hình có chênh lệch lớn presicion recall class( class có kết tốt class thấp nhất) Nguyên nhân data thu thập cân Từ bảng so sánh nhóm chúng em thấy mơ hình Logistic Regression SVM mơ hình hoạt động tốt Điều hợp lý với model bị ảnh hưởng việc cân liệu Vì phần demo dựa kết huấn luyện model Code training link sau: notebook huấn luyên V Hướng phát triển ứng dụng demo Trong tương lại nhằm tăng tính ứng dụng thực tế mơ hình, chúng em mở rộng thêm nhiều class để đánh giá mức độ hài lòng,thõa mãn người dùng cách tốt hơn, tăng cường thêm liệu, sử dụng model deep learning đại để tăng tính hiệu việc huấn luyện kết dự đốn mơ hình Nhóm chúng em có phát triển ứng dụng demo đơn giản: Link demo Giao diện thơng thường web: Một số bình luận mẫu kết trả ứng dụng 19 Ngồi xem số kết thực nghiệm bình luận github nhóm đây: VI Bảng phân công Người Nhận MSSV Bảo 19521242 Ân 19521172 Lộc 19520687 Công việc phân công Viết báo cáo, train model Crawl data xây dựng demo Label liệu format báo cáo Đánh giá tỉ lệ hoàn thành 100% 100% 100% VII Nguồn tham khảo TF-IDF https://vi.wikipedia.org/wiki/Tf%E2%80%93idf Sentiment Analysic: https://en.wikipedia.org/wiki/Sentiment_analysis Nhóm bạn Trọng Khánh flow problem solving cách trình bày báo cáo: https://github.com/trong-khanh-1109/CS117.L22.KHCL/blob/main/Final-Report.pdf Computational Thinking: https://www.coursera.org/learn/compthinking/supplement/4mnoE/introduction-tohuman-trafficking-case-study Code tham khảo: https://github.com/Long1234kfgkl/CS114.K21/blob/master/BaoCaoCuoiKy_CS114.K21/Main.ipynb https://viblo.asia/p/phan-tich-phan-hoi-khach-hang-hieu-qua-voi-machinelearningvietnamese-sentiment-analysis-Eb85opXOK2G 20 Working With Text Data — scikit-learn 0.24.2 documentation CS114.K21/Text_Classification.ipynb at master · ThuanPhong0126/CS114.K21 (github.com) 21