TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN TOÁN ỨNG DỤNG VÀ TIN HỌC
BÁO CÁO GIỮA KỲ
MÔN: HỆ HỖ TRỢ QUYẾT ĐỊNH
ĐỀ TÀI
HỆ HỖ TRỢ PHÂN LOẠI
BÌNH LUẬN KHÁCH HÀNG CỦA HÃNG
HÀNG KHÔNG
Giảng viên hướng dẫn: TS. LÊ CHÍ NGỌC
Sinh viên thực hiện:
Tăng Thu Thảo
Mã số sinh viên:
Lớp:
20173587
Toán Tin 01 - K62
Hà Nội, tháng 06 năm 2020
HỆ HỖ TRỢ PHÂN LOẠI BÌNH LUẬN KHÁCH HÀNG CỦA HÃNG HÀNG KHÔNG
Mục lục
1 Điều tra khảo sát
3
1.1
Bài toán thực tế . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
1.2
Hoạt động của hệ thống . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
1.3
Dữ liệu sử dụng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
2 Thuật toán
6
3 Phân tích thiết kế hệ thống
7
3.1
Biểu đồ phân cấp chức năng . . . . . . . . . . . . . . . . . . . . . . . .
7
3.2
Biểu đồ luồng dữ liệu . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7
3.2.1
Biểu đồ luồng dữ liệu mức ngữ cảnh . . . . . . . . . . . . . . . .
7
3.2.2
Biểu đồ luồng dữ liệu mức đỉnh . . . . . . . . . . . . . . . . . . .
7
3.2.3
Biểu đồ luồng dữ liệu mức dưới đỉnh . . . . . . . . . . . . . . . .
7
3.2.4
Biểu đồ hệ thống . . . . . . . . . . . . . . . . . . . . . . . . . .
8
4 Thiết kế chương trình
4.1
4.2
9
Công nghệ sử dụng . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9
4.1.1
Front-end
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9
4.1.2
Back-end . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9
Giao diện chương trình . . . . . . . . . . . . . . . . . . . . . . . . . . .
11
Sinh viên thực hiện: Tăng Thu Thảo - Toán Tin 01 K62
1
HỆ HỖ TRỢ PHÂN LOẠI BÌNH LUẬN KHÁCH HÀNG CỦA HÃNG HÀNG KHÔNG
5 Đánh giá và kết luận
12
5.1
Đánh giá mô hình . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12
5.2
Kết luận . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
13
Sinh viên thực hiện: Tăng Thu Thảo - Toán Tin 01 K62
2
HỆ HỖ TRỢ PHÂN LOẠI BÌNH LUẬN KHÁCH HÀNG CỦA HÃNG HÀNG KHÔNG
Chương 1
1.1
Điều tra khảo sát
Bài toán thực tế
Phân tích phản hồi của khách hàng là một trong những yếu tố quan trọng của việc
cải thiện chất lượng dịch vụ của các hãng hàng không. Tuy nhiên, phương pháp thông
thường là thu thập phản hồi của khách thông qua việc phân phát, thu thập và phân tích
phiếu câu hỏi của khách hàng, là một công việc tốn thời gian và thường thiếu chính xác.
Xét đến lượng hàng khách trên các chuyến bay mỗi ngày thì công việc này cần tốn rất
nhiều nỗ lực để lưu trữ và thiết lập hồ sơ. Hơn thế, không phải tất cả các khách hàng
đều trả lời phiếu câu hỏi một cách nghiêm túc và phần lớn khách hàng sẽ trả lời ngẫu
nhiên, dẫn đến rất nhiều dữ liệu lỗi cho việc phân tích. Không như các bảng câu hỏi điều
tra, Twitter là một nguồn dữ liệu tốt hơn cho việc phân loại cảm xúc trong phản hồi của
khách hàng. Người dùng thường chia sẻ suy nghĩ và cảm xúc chân thật hơn trên Twitter,
vì vậy nên thông tin thu thập được sẽ chính xác hơn sử dụng phiếu câu hỏi. Một hạn
chế khác của sử dụng phiếu câu hỏi là các thông tin trên phiếu này thường gồm những
đề mục cố định, vì vậy sẽ không thể thu được thông tin thuộc các chủ đề không có trong
phiếu. Việc thu thập thông tin về cảm xúc của khách hàng một cách kịp thời và chính
xác giúp bộ phận marketing đưa ra các chiến thuật quảng cáo hợp lý và kịp thời, hoặc
cách xử lý khủng hoảng đúng đắn; khảo sát được phản ứng của khách hàng khi đưa ra
một tính năng, thay đổi mới; theo dõi được được điểm yếu của các hãng hàng không
cạnh tranh, từ đó đưa ra được chiến lược để khắc phục biến thành điểm mạnh của hãng;
cung cấp thông tin để cải thiện chất lượng dịch vụ của hãng hàng không.
1.2
Hoạt động của hệ thống
Cần thu thập dữ liệu về các tweet trên Twitter dựa trên từ khóa là tên hãng hàng
không xác định có trong một khoảng thời gian nhất định cần khảo sát và lưu vào cơ sở
dữ liệu. Biểu diễn thông tin này dưới dạng được hệ thống quy định và đưa vào hệ thống
để phân loại.
Từ thông tin được nhập vào, hệ thống đưa ra kết quả về phân tích sắc thái khách
Sinh viên thực hiện: Tăng Thu Thảo - Toán Tin 01 K62
3
HỆ HỖ TRỢ PHÂN LOẠI BÌNH LUẬN KHÁCH HÀNG CỦA HÃNG HÀNG KHÔNG
hàng. Kết quả đầu ra của quá trình phân loại này là tweet này mang sắc thái tích cực
(positive), tiêu cực (negative) hay trung lập (neutral).
1.3
Dữ liệu sử dụng
Trong báo cáo này, em đã sử dụng bộ dữ liệu Twitter US Airline Sentiment của
Crowdflower (xem thêm: />Bộ dữ liệu gồm 14640 bản ghi với 15 trường thuộc tính, bao gồm:
1. tweet_id;
2. airline_sentiment;
3. airline_sentiment_confidence;
4. negativereason;
5. negativereason_confidence;
6. airline;
7. airline_sentiment_gold;
8. name;
9. negativereason_gold;
10. retweet_count;
11. text;
12. tweet_coord;
13. tweet_created;
14. tweet_location;
15. user_timezone;
Sinh viên thực hiện: Tăng Thu Thảo - Toán Tin 01 K62
4
HỆ HỖ TRỢ PHÂN LOẠI BÌNH LUẬN KHÁCH HÀNG CỦA HÃNG HÀNG KHÔNG
Hình 1: Bộ dữ liệu Twitter US Airline Sentiment
Hình 2: Các trường dữ liệu
Một số nhận xét về dữ liệu:
❼ Bộ dữ liệu có một số trường bị thiếu rất nhiều thông tin, tuy nhiên các trường này
không có giá trị trong việc dự báo nên sẽ được bỏ qua trong quá trình tiền xử lý.
❼ Thuộc tính tweet_id chỉ mang tính chất định danh, vì thế ta bỏ đi trong quá trình
luyện mô hình.
Sinh viên thực hiện: Tăng Thu Thảo - Toán Tin 01 K62
5
HỆ HỖ TRỢ PHÂN LOẠI BÌNH LUẬN KHÁCH HÀNG CỦA HÃNG HÀNG KHÔNG
Chương 2
Thuật toán
Bài toán phân loại nhận xét của khách hàng thành 3 mục: Tích cực, tiêu cực,
trung lập bằng Random Forest Classifie. Random Forests là thuật toán học có giám sát
(supervised learning). Nó có thể được sử dụng cho cả phân lớp và hồi quy. Random Forest
là một tập hợp của hàng trăm Decision Tree, trong đó mỗi Decision Tree được tạo nên
ngẫu nhiên từ việc tái chọn mẫu (chọn random 1 phần của data để xây dựng) và random
các biến từ toàn bộ các biến trong trong data. Thuật toán hoạt động theo một số bước
chính như sau. Đầu tiên, chọn các mẫu ngẫu nhiên từ tập dữ liệu đã cho.Thiết lập cây
quyết định cho từng mẫu và nhận kết quả dự đoán từ mỗi cây quyết định con và kết quả
được nhiều cây đưa ra nhất được bỏ phiếu làm kết quả cuối cùng.
Hình 3: Random Forest Classifier
Sinh viên thực hiện: Tăng Thu Thảo - Toán Tin 01 K62
6
HỆ HỖ TRỢ PHÂN LOẠI BÌNH LUẬN KHÁCH HÀNG CỦA HÃNG HÀNG KHÔNG
Chương 3
Phân tích thiết kế hệ thống
3.1
Biểu đồ phân cấp chức năng
3.2
Biểu đồ luồng dữ liệu
3.2.1
Biểu đồ luồng dữ liệu mức ngữ cảnh
3.2.2
Biểu đồ luồng dữ liệu mức đỉnh
3.2.3
Biểu đồ luồng dữ liệu mức dưới đỉnh
1. Xử lý bình luận
2. Lập báo cáo
Sinh viên thực hiện: Tăng Thu Thảo - Toán Tin 01 K62
7
HỆ HỖ TRỢ PHÂN LOẠI BÌNH LUẬN KHÁCH HÀNG CỦA HÃNG HÀNG KHÔNG
3.2.4
Biểu đồ hệ thống
Sinh viên thực hiện: Tăng Thu Thảo - Toán Tin 01 K62
8
HỆ HỖ TRỢ PHÂN LOẠI BÌNH LUẬN KHÁCH HÀNG CỦA HÃNG HÀNG KHÔNG
Chương 4
4.1
Thiết kế chương trình
Công nghệ sử dụng
4.1.1
Front-end
Chương trình sử dụng HTML, CSS, Javascript để lập trình giao diện website.
❼ HTML là từ viết tắt của HyperText Markup Language (ngôn ngữ đánh dấu siêu
văn bản) dùng mô tả cấu trúc của các trang Web và tạo ra các loại tài liệu có thể
xem được trong trình duyệt.
❼ CSS (viết tắt của Cascading Style Sheets) là một ngôn ngữ định dạng được sử dụng
để mô tả trình bày các trang Web, bao gồm màu sắc, cách bố trí và phông chữ. CSS
cho phép chúng hiển thị nội dung tương thích trên các loại thiết bị có kích thước
màn hình khác nhau, chẳng hạn như màn hình lớn, màn hình nhỏ như điện thoại
hay máy tính bản.
❼ JavaScript là một ngôn ngữ nhanh và nhẹ chạy trong môi trường máy chủ lưu
trữ (ví dụ: trình duyệt web), JavaScript có thể được kết nối với các đối tượng của
môi trường để cung cấp kiểm soát chương trình đối với chúng. JavaScript cho phép
bạn thực hiện những điều phức tạp trên các trang web như bản đồ tương tác . . . .
Javascript được hỗ trợ hầu như trên tất cả các trình duyệt như Firefox, Chrome,
. . . , thậm chí các trình duyệt trên thiết bị di động cũng có hỗ trợ.
4.1.2
Back-end
Ở đây, em sử dụng framework Flask, thuộc loại micro-framework, được xây dựng
bằng ngôn ngữ lập trình Python. Flask cho phép xây dựng các ứng dụng web từ đơn
giản tới phức tạp. Nó có thể xây dựng các API nhỏ, ứng dụng web chẳng hạn như các
trang web, blog, trang wiki hoặc một website dựa theo thời gian hay thậm chí là một
trang web thương mại. Flask cung cấp cho bạn công cụ, các thư viện và các công nghệ
hỗ trợ bạn làm những công việc trên.
Sinh viên thực hiện: Tăng Thu Thảo - Toán Tin 01 K62
9
HỆ HỖ TRỢ PHÂN LOẠI BÌNH LUẬN KHÁCH HÀNG CỦA HÃNG HÀNG KHÔNG
Flask là một micro-framework. Điều này có nghĩa Flask là một môi trường độc lập,
ít sử dụng các thư viện khác bên ngoài. Do vậy, Flask có ưu điểm là nhẹ, có rất ít lỗi do
ít bị phụ thuộc cũng như dễ dàng phát hiện và xử lý các lỗi bảo mật.
Sinh viên thực hiện: Tăng Thu Thảo - Toán Tin 01 K62
10
HỆ HỖ TRỢ PHÂN LOẠI BÌNH LUẬN KHÁCH HÀNG CỦA HÃNG HÀNG KHÔNG
4.2
Giao diện chương trình
Hình 4: Giao diện đăng nhập
Hình 5: Màn hình trang chủ
Hình 6: Kết quả dự đoán
Sinh viên thực hiện: Tăng Thu Thảo - Toán Tin 01 K62
11
HỆ HỖ TRỢ PHÂN LOẠI BÌNH LUẬN KHÁCH HÀNG CỦA HÃNG HÀNG KHÔNG
Chương 5
5.1
Đánh giá và kết luận
Đánh giá mô hình
Sau khi chia bộ dữ liệu ra 80% train và 20% test, ta thu được kết quả như sau:
Sinh viên thực hiện: Tăng Thu Thảo - Toán Tin 01 K62
12
HỆ HỖ TRỢ PHÂN LOẠI BÌNH LUẬN KHÁCH HÀNG CỦA HÃNG HÀNG KHÔNG
5.2
Kết luận
Các kế hoạch cải thiện độ tương tác của khách hàng với các hãng hàng không và các
phương án cải thiện những thiếu sót trong chất lượng dịch vụ sẽ được đưa ra. Chương
trình giúp nhà quản lý có cái nhìn tổng quan nhất về quan điểm của khách hàng về hãng
hàng không, từ đó hỗ trợ nhà quản lý có những quyết định phù hợp với tình hình thực
tế kịp thời.
Sinh viên thực hiện: Tăng Thu Thảo - Toán Tin 01 K62
13