TRIỂN KHAI THỰC NGHIỆM

Một phần của tài liệu Sử dụng phương pháp khai phá các luật kết hợp xử lý trong big data để tìm sở thích của khách hàng trong doanh nghiệp (Trang 46)

Trong chương này, luận văn sẽ ứng dụng thuật toán Apriori sinh ra các luật kết hợp đã nêu trong chương 1 để áp dụng vào các bài toán khai phá dữ liệu trong lĩnh vực viễn thơng. Mục đích là để tìm ra mối liên hệ giữa các gói cước dịch vụ được sử dụng trong kinh doanh viễn thơng, tìm ra được danh sách các gói cước được nhiều khách hàng lựa chọn, hoặc có nhu cầu sử dụng. Từ đó tìm ra sở thích, thói quen, hành vi tiêu dùng, xu hướng mua sắm và hiểu khách hàng cần gì để giúp doanh nghiệp chủ động hơn trong các chính sách, chiến dịch kinh doanh.

3.1 Lựa chọn bài toán

Trong phạm vi của luận văn, lựa chọn đề tài “Sử dụng phương pháp khai phá

luật kết hợp để tìm sở thích của khách hàng”, để giải quyết các bài toán trong viễn

thơng tìm ra sở thích của khách hàng, mối liên hệ khi sử dụng các gói cước, dịch vụ giá trị gia tăng (như dịch vụ imuzik, game, mobile tv…), ví dụ khách hàng A sử dụng dịch vụ CRBT (nhạc chuông, nhạc chờ), các khách hàng khác sử dụng CRBT thường sử dụng thêm dịch vụ iSign (chữ ký cuộc gọi) -> khách hàng A cũng có xu hướng sử dụng dịch vụ iSign.

Ngồi ra, hiện nay với việc phát triển nhanh chóng của mạng 4G, 5G, việc sử dụng các phần mềm hỗ trợ thoại, nhắn tin trên nền tảng OTT đã trở nên phổ biến (như Zalo, FaceTime, Messenger, Viber, Whatsapp….) nên doanh thu mảng viễn thông truyền thống của các nhà mạng bị ảnh hưởng (doanh thu thoại, tin nhắn), do đó để đảm bảo doanh thu các nhà mạng phải đẩy mạnh phát triển các dịch vụ giá trị gia tăng hoặc các dịch vụ trên nền tảng data mạng 4G, 5G. Đây cũng là những dịch vụ mang nhiều doanh thu nhất về cho các nhà mạng viễn thông (hiện tại chiếm khoảng 60% trên tổng doanh thu). Đề tài nghiên cứu dựa trên dữ liệu thu thập được của các thuê bao thuộc Tổng công ty viễn thơng Viettel (nhà mạng có số lượng th bao người sử dụng lớn nhất cả nước).

Bài toán được ứng dụng trong kinh doanh viễn thông cung cấp các dịch vụ giá trị gia tăng, gói cước của các thuê bao di động. Mỗi khách hàng sẽ có các thuê bao sử dụng các gói cước khác nhau, có mức tiêu dùng nhu cầu sử dụng khác nhau về thoại, tin nhắn, data (dữ liệu truy cập mạng), các dịch vụ giá trị gia tăng (cuộc gọi nhỡ, nhạc chng), dịch vụ giải trí (game, truyền hình trên mobile).

Sử dụng kỹ thuật phát hiện luật kết hợp (Association rule mining) là bài toán với một tập các giao dịch (transactions) cho trước, chúng ta cần tìm các luật dự đốn khả năng xuất hiện trong một giao dịch của các mục (items) này dựa trên việc xuất hiện của các mục khác.

47

STT Tập mục (items)

1 Imuzik , CRBT

2 Imuzik , Mobile TV, Game, AnyBook

3 CRBT,Mobile TV, Game, Zozo

4 Imuzik , CRBT, Mobile TV, Game

5 Imuzik , CRBT, Mobile TV, Zozo

Bảng 3.1: Bảng giao dịch đăng ký gói cước

Các luật kết hợp từ tập giao dịch trên có thể có như sau:

- Mobile TV→ Game (Người dùng Mobile TV sẽ có khả năng có nhu cầu dùng Game).

- CRBT, Imuzik → AnyBook, Zozo (Người dùng CRBT và Imuzik sẽ có khả năng

có nhu cầu dùng AnyBook và Zozo).

- Game, Imuzik → CRBT (Người đã dùng Game và Imuzik sẽ có khả năng có nhu

cầu dùng CRBT).

Dựa vào kết quả của các luật kết hợp, qua mơ hình đánh giá người ta có thể nắm được hành vi của khách hàng để có thể đưa ra những lời mời, chiến lược quảng cáo thích hợp.

3.2 Mơ hình phân tích

Để giải quyết bài toán trong khai phá dữ liệu thực hiện qua các bước sau:

Hình 3.1: Mơ hình phân tích khai phá dữ liệu luật kết hợp

Bước 1: Thu thập dữ liệu: Hệ thống thu thập dữ liệu về thông tin thuê bao, dữ

liệu tiêu dùng, dữ liệu đăng ký các dịch vụ, gói cước.

Bước 2: Tiền xử lý và lưu trữ dữ liệu: Từ các dữ liệu thu thập được, xử lý các

dữ liệu khơng hợp lệ, tính nhất quán của dữ liệu.

1.Thu thập dữ

48

Bước 3: Mơ hình phân tích, sinh luật kết hợp: Sinh các luật kết hợp cho các

dịch vụ giá trị gia tăng (vas) của khách hàng.

Bước 4: Đánh giá và sử dụng: Phân tích đánh giá các luật kết hợp tìm được

giữa các dịch vụ giá trị gia tăng. Các luật kết hợp tìm được có thể thay đổi tùy vào lượng dữ liệu thu thập và yêu cầu đánh giá của kinh doanh. Do đặc thù của kinh doanh luôn thay đổi ảnh hưởng hành vi sử dụng của khách hàng do khơng có mơ hình dự đoán nào ln đúng. Trong quá trình thực hiện đánh giá nhằm cải tiến mơ hình để phù hợp nhất với tình hình số liệu thực tế.

3.3 Thu thập dữ liệu

Đối tượng: Là thuê bao di động trả trước, đang còn hoạt động trên hệ thống.

Số lượng tập dữ liệu mẫu 2.081.488 thuê bao có sử dụng các dịch vụ giá trị gia tăng. Dữ liệu bao gồm 3 loại dữ liệu thô được lấy từ các hệ thống khác nhau được lưu trữ trên hệ thống Data lake.

Các nguồn dữ liệu thô thu thập

STT Tên trường Mô tả

A SUBSCRIBER THÔNG TIN THUÊ BAO

1 ma_kh Mã khách hàng

2 so_tb Số thuê bao

3 trang_thai Trạng thái thuê bao

4 tuoi_tb Tuổi thuê bao

5 tuoi_kh Tuổi khách hàng

6 nhom_tuoi_kh Nhóm tuổi khách hàng

7 ma_tinh Mã tỉnh sinh sống

8 ten_tinh Tên tỉnh

9 ma_huyen Mã huyện

10 ten_huyen Tên huyện

11 ma_goi_cuoc Gói cước

12 trang_thai_chan_cat Trạng thái chặn cắt của thuê bao

13 khu_vuc Khu vực

B VAS_REGISTER ĐĂNG KÝ DỊCH VỤ GTGT

49

2 tac_dong Tác động đăng ký, hủy, gia hạn

3 phi_dk Phí đăng ký

4 mo_ta Mô tả

5 nguon_dk Nguồn tổng hợp

C TIEUDUNG_TB TIÊU DÙNG THUÊ BAO

1 tkg_thoai_noimang tiêu dùng tkg thoại nội mạng

2 tkg_thoai_ngoaimang tiêu dùng tkg thoại ngoại mạng

3 tkg_thoai_quocte tiêu dùng tkg thoại quốc tế

4 tkg_sms_noimang tiêu dùng tkg sms nội mạng

5 tkg_sms_ngoaimang tiêu dùng tkg sms ngoại mạng

6 tkg_sms_quocte tiêu dùng tkg sms quốc tế

7 Khuyenmai_thoai Thoại tài khoản khuyến mại

8 Khuyenmai_sms SMS tài khoản khuyến mại

9 Dangky_vas Phí đăng ký gói VAS

10 Dangky_data Phí đăng ký gói DATA

11 Giahan_data Phí gia hạn gói DATA

12 muathem_data Phí mua thêm gói DATA

13 Luuluong_thoai_km Lưu lượng thoại khuyến mại

14 Luuluong_thoai_mienphi Lưu lượng thoại miễn phí

15 Luuluong_data Lưu lượng data

16 soLanNapThe Số lần nạp thẻ

17 SoTienNapThe Số tiền nạp thẻ

Bảng 3.2: Bảng dữ liệu thô trong viễn thông

Dữ liệu được dùng để phân tích là các dịch vụ vas giá trị gia tăng, mục đích dựa vào các luật kết hợp để tìm ra những gói dịch vụ có mối liên hệ với nhau, thường được khách hàng mua kèm với nhau. Trong rất nhiều gói dịch vụ giá trị gia tăng của Viettel telecom đang cung cấp, có 7 gói dịch vụ vas đang được sử dụng phổ biến, vì vậy trong luận văn sẽ đi tìm luật kết hợp của 7 gói dịch vụ giá trị gia tăng tiêu biểu này.

STT Tên dịch vụ Mô tả

50

kênh truyền hình đa dạng, đặc sắc và luôn được cập nhật những bộ phim hot nhất hiện nay.

2 K+ (KPLUS) Truyền hình K+ phục vụ nhu cầu xem Thể thao

chất lượng cao, giúp bạn không bao giờ bỏ lỡ xem trực tiếp các trận bóng đá hay trong nước cũng như trên thế giới. Hình thức đăng ký:

Theo tháng: 305.000đ/tháng (tùy từng số kênh sử dụng)

3 IMUZIK Dịch vụ cài đặt tự động các bản nhạc chờ thịnh

hành trên máy người dùng, với chu kỳ 2 lần/tuần. Hình thức đăng ký:

• Theo ngày: 1.000đ/ngày

• Theo tuần: 2.500đ/ngày

• Theo tháng: 9.000đ/tháng

4 KEENG MOVIES Dịch vụ xem phim chất lượng cao, có bản quyền,

miễn phí 100% cước cập. Đây là kho phim lớn nhất của Viettel với các bộ phim hành động cũng như lãng mạn tình cảm nổi tiếng của Châu Á, Âu Mỹ. Hình thức đăng ký:

• Theo ngày: 10.000 đ/tuần

• Theo tháng: 50.000 đ/tháng

5 KEENG MUSIC Dịch vụ nghe/tải kho nhạc phong phú, đa dạng,

“hot trend” và đặc biệt miễn phí chất lượng cao sử dụng nền tảng 3G/4G trên mạng xã hội âm nhạc. Hình thức đăng ký:

• Theo tuần: 10.000đ/tuần.

6 ỨNG TIỀN Trong trường hợp khách hàng không đủ số dư tài

khoản gốc để phát sinh các cuộc gọi thì dịch vụ Ứng tiền sẽ tự động cộng thêm 1 số tiền từ 5000 đ – 15000đ vào tài khoản của bạn.

7 COLLECT CALL Collect call cho phép tuê bao của bạn khi không đủ

51

thực hiện cuộc gọi đến thuê bao khác, và lúc này người nghe sẽ trả tiền cho cuộc gọi đó.

Bảng 3.3: Bảng các dịch vụ GTGT của nhà mạng Viettel cung cấp 3.4 Tiền xử lý dữ liệu 3.4 Tiền xử lý dữ liệu

Dữ liệu dùng để phân tích trong trên nhiều nguồn dữ liệu khác nhau do đó cần chuẩn hóa các dữ liệu (loại bỏ các dữ liệu ngoại lai), gồm các bước thực hiện:

- Loại bỏ những giao dịch có bản ghi khơng đủ thơng tin.

- Xác định dữ liệu thuộc tính chính dùng để phân tích: Tuổi khách hàng, khu vực, lưu lượng data, các dịch vụ giá trị gia tăng đang phổ biến (TV360, K+, Keeng, Imuzik, Ứng tiền, collect call).

- Chuẩn hóa lại dữ liệu theo hướng phân tích:

o Tuổi khách hàng validate < 100 tuổi và > 0 tuổi

o Lưu lượng data > 0

o Chuẩn hóa dữ liệu khu vực: Nơng thơn, thành thị.

- Do dữ liệu thuộc tính “độ tuổi” và “lưu lượng data” là các giá trị liên tục nên để không sinh ra nhiều items (mặt hàng) khi chạy thuật toán Apriori (do khi có nhiều items sẽ khơng sinh được các tập mục thường xuyên thỏa mãn hoặc sinh các luật kết hợp khơng có ý nghĩa). Do đó, cần phải rời rạc hóa dữ liệu, cắt lớp theo khoảng với hai thuộc tính “độ tuổi” và “lưu lượng data” từ các giá trị liên tục về các khoảng ngưỡng phù hợp để phân tích.

o Theo nguồn dữ liệu mà bộ phận kinh doanh đang theo dõi hàng tháng, việc sử dụng thuê bao của nhà mạng đang được phân bố theo độ tuổi khách hàng như sau:

52

o Theo mơ hình phân bố độ tuổi ở trên: Tuổi của khách hàng đang chạy từ 14 đến 91 tuổi, tuy nhiên ở 2 khung tuổi là <=14 tuổi và >70 tuổi thì tỷ trọng th bao đang chiếm khá ít (chưa đến 1%).

o Ngoài ra xét đến tiêu dùng gốc trung bình trong ba tháng gần nhất của tập khách hàng <=14 tuồi và > 70 tuổi như sau:

Hình 3.3: Biểu đồ tiêu dùng và theo độ tuổi

o Nhận xét:

▪ Khách hàng có độ tuổi <= 14 và > 70 tuổi tiêu dùng ít, từ 0 – 5k/tháng.

53

▪ Khách hàng từ 23 – 55 tuổi tiêu dùng gốc >= 50k/tháng. ▪ Khách hàng từ 56 – 70 tuổi tiêu dùng 5 – 20k/tháng.

o Vì vậy, dựa trên số liệu về tiêu dùng, cũng như việc triển khai hiệu quả các chính sách cho từng nhóm đối tượng nên chia tập khách hàng thành ba nhóm như sau:

▪ [15-23T) ▪ [23-56T) ▪ [56-71T)

- Cắt lớp thuộc tính “Lưu lượng data” về các khoảng dựa hiệu quả của chính sách các chương trình đã triển khai cho kinh doanh và dựa vào lưu lượng giới hạn của các gói data cung cấp cho thuê bao, khoảng lưu lượng data được phân bổ như sau:

o [0-2GB)

o [2-10GB)

o [10-max)

Dữ liệu dùng để thực nghiệm sau khi chuẩn hóa gồm các thuộc tính như sau:

Tên thuộc tính Ý nghĩa Giá trị

Tuoi_KH Tuổi khách hàng

Chia thành các khoảng: [15-23T)

[23-56T) [56-71T)

Khu_vuc Khu vực sinh sống

Chia thành 2 vùng: Thành thị

Nông thôn

LL_data

Lưu lượng data sử dụng hàng tháng

(đơn vị theo Gigabyte GB)

Chia thành các khoảng: [0-2GB) [2-10GB) [10-max) is_Tv360 Có mua đăng ký dùng dịch vụ TV360 khơng? Yes: Có mua No: Khơng mua is_K+

Có mua đăng ký dùng dịch vụ K+ khơng?

Yes: Có mua No: Khơng mua is_Keeng_Music

Có mua đăng ký dùng dịch vụ Keeng Music khơng?

Yes: Có mua No: Khơng mua is_Keeng_Movie

s

Có mua đăng ký dùng dịch vụ Keeng Movies khơng?

Yes: Có mua No: Khơng mua is_Imuzik

Có mua đăng ký dùng dịch vụ giải trí Imuzik khơng?

Yes: Có mua No: Khơng mua

54

Bảng 3.4: Bảng các thuộc tính dữ liệu thực nghiệm

Định dạng dữ liệu sau khi chuẩn hóa được lưu trữ trên một bảng trong CSDL.

Thue_bao Tuoi KH Khu_vuc LL data is_Keeng Music is_Keeng Movies Is

Imuzik is_TV360 is_K+ Is Ungtien

Is collectCall

++owzLYZ40blDgv/M9wYvQ== 24 Thanh_thi 1

Yes Yes Yes Yes Yes Yes Yes

++pfwnCqB64zWgviwrPFvQ== 30 Thanh_thi 2

Yes Yes Yes Yes Yes Yes Yes

++quFYS4KEIg7/z4XHB0bA== 60 Nong_thon 10

Yes Yes Yes Yes Yes Yes No

++rboIBZ94XkeKXEKSj2Ig== 15 Thanh_thi 15

No No Yes Yes Yes Yes No

++rboIBZ94XkeKXEKSj2Ig== 43 Nong_thon 20

No No No Yes Yes Yes Yes

++s7DbhwaBUq6PxNCbKE9g== 44 Nong_thon 1

No No No No No No Yes

++sdgUWOZtxVQyVBc9049Q== 56 Thanh_thi 2

Yes Yes Yes Yes Yes Yes No

+++Eg/M+p3zQF1/Ce0PwhQ== 24 Nong_thon 10

No No Yes Yes Yes Yes No

+++bznDwSkA4NKFVigimKw== 30 Thanh_thi 15

No Yes Yes Yes No No Yes

++0aXybsWfg5vwmpq4+ePQ== 60 Nong_thon 20

Yes Yes Yes Yes No No No

++0aj0noxaTR22KPJ0xY4A== 15 Nong_thon 1

Yes Yes Yes Yes No No No

++48/eStLyxRJ4MJ4bim5g== 24 Nong_thon 2

No Yes Yes Yes No No Yes

Bảng 3.5: Bảng dữ liệu thực nghiệm (do đảm bảo tính bảo mật nên thuê bao đã được

mã hóa):

3.5 Thực nghiệm và đánh giá 3.5.1 Môi trường thực nghiệm 3.5.1 Môi trường thực nghiệm

Thực nghiệm trên mơi trường máy tính có cấu hình như sau

STT Thiết bị Cấu hình

1 CPU Intel(R) Core(TM) i5-8400 CPU @ 2.80GHz 2.81

GH 2 RAM 16.0 GB 3 HDD - 256 GB - SSD (cài win) - 1TB - HDD (lưu trữ) Is collect call Có mua đăng ký dùng dịch vụ collect call khơng?

Yes: Có mua No: Khơng mua is Ung_tien

Có mua đăng ký dùng dịch vụ Ứng tiền khơng?

Yes: Có mua No: Khơng mua

55

4 OS Windows 10

Bảng 3.6: Bảng cấu hình mơi trường thực nghiệm

Luận văn thực hiện chạy thực nghiệm trên nhiều bộ dữ liệu khác nhau, với 2 tập dữ liệu như sau:

- Lần 1: Bộ dữ liệu có 59.210 giao dịch, được cắt theo các lớp về “tuổi khách

hàng”, “lưu lượng data sử dụng” và “khu vực sinh sống” của của các thuê bao có sử dụng đăng ký các dịch vụ giá trị gia tăng.

- Lần 2: Bộ dữ liệu có 2.081.488 giao dịch. Dữ liệu lớn hơn, sinh ra nhiều

luật kết hợp hơn lần 1.

Do việc xây dựng chương trình thực nghiệm trên nền tảng Hadoop cần tài ngun, do đó để kiểm nghiệm mơ hình thực nghiệm, trong luận văn tơi xây dựng một chương trình Java và sử dụng 2.081.488 dữ liệu giao dịch để mô tả sử dụng phương pháp khai phá luật kết hợp trong thuật toán. Khi chạy với số lượng dữ liệu lớn hơn có thể sử dụng mơ hình MapReduce chạy bằng Spark để giải quyết hiệu năng của thuật toán Apriori khi số lượng dữ liệu lớn và tăng trưởng.

Chương trình thực nghiệm được viết bằng ngôn ngữ Java (chạy trên jdk 1.8)

cài đặt dựa trên thuật tốn Apriori; chương trình bao gồm hai bước xử lý chính là “khai phá sinh luật kết hợp” và “lọc các luật kết hợp có nghĩa”.

Hình 3.4: Chương trình thực nghiệm 3.5.2 Dữ liệu thực nghiệm 3.5.2 Dữ liệu thực nghiệm

Dữ liệu thực nghiệm được xuất ra từ bảng trong cơ sở dữ liệu ra file có định dạng .csv.

Một vài thống kê trên tập dữ liệu 2.081.488 giao dịch thực nghiệm như sau:

- Theo độ tuổi khách hàng Tuổi khách hàng Số bản ghi [15-23) 714,484 [23-56) 749,386

56

[56-71)

617,618

Bảng 3.7: Bảng thống kê theo độ tuổi khách hàng

Hình 3.5: Thống kê theo độ tuổi khách hàng

- Thống kê theo khu vực

Hình 3.6: Thống kê theo khu vực

- Thống kê theo khoảng lưu lượng data trung bình sử dụng trong tháng

Lưu lượng data Số lượng bản ghi

[0-2GB) 630,512

[2-10GB) 823,436

[10GB-max) 627,540

Một phần của tài liệu Sử dụng phương pháp khai phá các luật kết hợp xử lý trong big data để tìm sở thích của khách hàng trong doanh nghiệp (Trang 46)