1. Trang chủ
  2. » Luận Văn - Báo Cáo

Xây dựng hệ thống gợi ý dựa trên phân tích sở thích của người dùng theo hướng tiếp cận lọc trên nội dung

56 985 2
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 56
Dung lượng 1,85 MB

Nội dung

Xây dựng hệ thống gợi ý dựa trên phân tích sở thích của người dùng theo hướng tiếp cận lọc trên nội dungXây dựng hệ thống gợi ý dựa trên phân tích sở thích của người dùng theo hướng tiếp cận lọc trên nội dungXây dựng hệ thống gợi ý dựa trên phân tích sở thích của người dùng theo hướng tiếp cận lọc trên nội dungXây dựng hệ thống gợi ý dựa trên phân tích sở thích của người dùng theo hướng tiếp cận lọc trên nội dungXây dựng hệ thống gợi ý dựa trên phân tích sở thích của người dùng theo hướng tiếp cận lọc trên nội dungXây dựng hệ thống gợi ý dựa trên phân tích sở thích của người dùng theo hướng tiếp cận lọc trên nội dungXây dựng hệ thống gợi ý dựa trên phân tích sở thích của người dùng theo hướng tiếp cận lọc trên nội dungXây dựng hệ thống gợi ý dựa trên phân tích sở thích của người dùng theo hướng tiếp cận lọc trên nội dungXây dựng hệ thống gợi ý dựa trên phân tích sở thích của người dùng theo hướng tiếp cận lọc trên nội dungXây dựng hệ thống gợi ý dựa trên phân tích sở thích của người dùng theo hướng tiếp cận lọc trên nội dung

Trang 1

LỜI CAM ĐOAN

Tôi xin cam đoan kết quả đạt được trong luận văn là công trình nghiên cứu của riêng tôi Nội

dung được trình bày trong luận văn là của cá nhân và được trích dẫn từ nguồn tài liệu Tất cả

các tài liệu tham khảo đều được xuất bản rõ ràng và được trích dẫn hợp pháp

Các số liệu, kết quả được trình bày trong luận văn là trung thực và chưa từng được công bố

trong bất kỳ công trình nào khác

TP.HCM, Ngày 01 tháng 09 năm 2016 Học viên thực hiện luận văn

NGUYỄN HỒNG HOAN SANG

Trang 2

LỜI CẢM ƠN

Tôi xin gửi lời biết ơn sâu sắc đến TS Lê Thanh Vân, cô đã hướng dẫn nhiệt tình, tận tâm trong suốt quá trình giúp tôi thực hiện luận văn này Cô đã giúp cho tôi định hướng,

phương pháp nghiên cứu, tài liệu bổ ích và đặt biệt là kinh nghiệm quý giá

Đồng thời xin cảm ơn tất cả những người thân yêu trong gia đình cùng toàn thể bạn bè, những người đã luôn giúp đỡ và động viên tôi trong suốt quá trình thực hiện luận văn này

Cuối cùng, xin chân thành cảm ơn Học Viện Công Nghệ Bưu Chính Viễn Thông đã tạo điều kiện và đặc biệt gửi lời cám ơn sâu sắc tới các thầy cô đã tận tụy hướng dẫn, giúp đỡ

và truyền dạy những kiến thức quý báu trong suốt quá trình học tập

TP.HCM, Ngày 01 tháng 09 năm 2016 Học viên thực hiện luận văn

NGUYỄN HỒNG HOAN SANG

Trang 3

MỤC LỤC

LỜI CAM ĐOAN i

LỜI CẢM ƠN ii

MỤC LỤC iii

DANH MỤC CÁC THUẬT NGỮ, CHỮ VIẾT TẮT v

DANH SÁCH BẢNG vi

DANH SÁCH HÌNH VẼ vii

MỞ ĐẦU 1

CHƯƠNG 1 – TỔNG QUAN 3

1.1 Tính cấp thiết của đề tài 3

1.2 Tổng quan về vấn đề nghiên cứu 3

1.3 Mục đích nghiên cứu 4

1.4 Đối tượng và phạm vi nghiên cứu 4

1.5 Hệ thống gợi ý 5

1.6 Các hướng tiếp cận 5

1.6.1 Lọc dựa trên nội dung (Content-based filtering) 5

1.6.2 Lọc cộng tác (Collaborative filtering) 6

1.6.3 Lọc kết hợp giữa cộng tác và nội dung (Hybrid) 6

1.7 Ứng dụng của hệ thống gợi ý 7

1.8 Kết luận chương 1 8

CHƯƠNG 2 – CƠ SỞ LÝ THUYẾT 9

2.1 Đối tượng phục vụ của hệ thống 9

2.2 Định nghĩa Item và User 9

2.3 Định nghĩa User profile và Item profile 10

2.4 Định nghĩa về dữ liệu tường minh và dữ liệu không tường minh 10

2.5 Quan hệ giữa Item và User 11

2.6 Đo khoảng cách (Distance Measure) 11

2.7.1 Gom cụm (Cluster analysis hoặc Clustering) 13

2.7.2 Thuật toán K-mode 14

2.8 Kết luận chương 2 17

CHƯƠNG 3 – KỸ THUẬT THỰC HIỆN 18

3.1 Framework hệ thống gợi ý 18

3.2 Cơ sở dữ liệu lưu trữ 19

3.2.1 Thiết kế CSDL 21

Trang 4

3.3 Xây dựng mối quan hệ giữa user và item 22

3.4 Thu thập dữ liệu 23

3.4.1 Thu thập bài post từ fanpage trên cộng đồng facebook.com 23

3.4.2.Thu thập dữ liệu thông tin sản phẩm từ trang chính thống 24

3.4.2.1 Thu thập dữ liệu sản phẩm từ nguồn trên facebook 24

3.4.2.2 Thu thập dữ liệu sản phẩm trên trang chính thống 24

3.5 Rút trích đặc trưng sản phẩm 24

3.5.1 Kỹ thuật sử dụng rút trích đặc trưng cho sản phẩm 28

3.5.2 Lưu trữ đặc trưng ở định dạng kiểu số 30

3.6 Thư viện máy học Apache Mahout 30

3.6.1 Cài đặt thuật toán Jaccard DistanceMeasure 31

3.6.2 Cải tiến phương pháp tính C trung tâm cho từng cụm 31

3.7 Gom nhóm sản phẩm (item clustering) 32

3.7.1 Thuật toán K-Mode trên hệ thống phân tán 33

3.7.2 K-Mode xử lý gom cụm trên hệ phân tán Hadoop 34

3.7.2.1 Hàm xử lý MAP 35

3.7.2.2 Hàm xử lý REDUCE 36

3.8 Gợi ý sản phẩm, dịch vụ 36

3.9 Đánh giá gom nhóm (Evaluation Clustering) 37

3.9.1 Khoảng cách Inter-cluster 38

3.9.2 Khoảng cách Intra-cluster 39

3.10 Kết luận chương 3 40

CHƯƠNG 4 – KẾT QUẢ THỰC NGHIỆM 41

4.1 Kết quả gom cụm 41

4.2 Kết quả gợi ý 42

4.3 Giao diện chương trình demo 43

4.4 Môi trường sử dụng 45

4.5 Mã nguồn chương trình 46

4.6 Kết luận chương 4 46

KẾT LUẬN VÀ KIẾN NGHỊ 47

DANH MỤC TÀI LIỆU THAM KHẢO 48

Trang 5

DANH MỤC CÁC THUẬT NGỮ, CHỮ VIẾT TẮT

Viết tắt Tiếng Anh Tiếng Việt

RS Recommender System Hệ thống gợi ý

HDFS Hadoop Distributed File System Hệ phân tán tập tin Hadoop

CF Collaborative Filtering Lọc cộng tác

CB Content Based Filtering Lọc dựa vào nội dung

Trang 6

DANH SÁCH BẢNG

Bảng 3.1: Mô tả các bảng dữ liệu lưu trữ 21

Bảng 3.2: Cấu trúc bảng main user preference 22

Bảng 3.3: Dữ liệu thu thập bài post bao gồm những thông tin sau 23

Bảng 3.4: Thống kê đặc trưng của item 25

Bảng 3.5: Thống kê cập nhật cải tiến thuật toán 31

Bảng 3.6: Thông tin thiết lặp thuật toán gom cụm K-mode trên Hadoop 33

Bảng 4.1: Kết quả thực hiện lần lượt các cluster với cấu hình cho trước 41

Bảng 4.2: Kết quả sau thi tính khoảng cách Intra-cluster 41

Bảng 4.3: Kết quả gợi ý sản phẩm thuộc cluster 42 và khoảng cách nhỏ hơn hoặc bằng 0.5 43

Bảng 4.4: Thống kê môi trường hệ thống và các phần mềm hỗ trợ 45

Bảng 4.5: Chương trình hệ thống 46

Trang 7

DANH SÁCH HÌNH VẼ

Hình 1.1: Mô tả sự tăng trưởng trong kinh doanh 4

Hình 2.1: Mô tả ứng dụng hệ thống gợi ý ở một số lĩnh vực 7

Hình 2.2: Mô tả dữ liệu item và user trong hệ thống gợi ý 10

Hình 2.3: Mô tả quan hệ giữa user và item 11

Hình 2.4: Sử dụng thuật toán k-mode để gom nhóm Bước đầu, chọn k phần tử trong tập đối tượng đầu vào làm phần tử trung tâm, tìm các đối tượng gần nhất và gán các đối tượng này và nhóm cluster cụ thể Tính lại phẩn tử trung tâm bằng cách tính khoảng cách trung bình của tất cả các phần tử trong cùng nhóm với nhau 15

Hình 3.1: Framework hệ thống 18

Hình 3.2: Mô hình CSDL hệ thống gợi ý 20

Hình 3.3: Lược đồ quan hệ của hệ thống gợi ý 21

Hình 3.4: Mô tả thu thập dữ liệu bài post trên fanpage của tiki.vn và fahasa.com 23

Hình 3.5: Mô tả xử lý thu thập dữ liệu để lấy được thông tin chi tiết của bài post thông qua url, gồm 3 bước như trên hình 24

Hình 3.6: Lưu đồ xử lý rút trích đặc trưng 28

Hình 3.7: Mô tả xử lý K-Means/K-Mode trong môi trường hệ phân tán Hadoop [5] 35

Hình 3.8: Mô tả luồng xử lý gợi ý sản phẩm dựa vào thông tin nhóm thuộc về và giá trị ngưỡng giới hạn 38

Hình 3.9: Thể hiện khoảng cách nhỏ và khoảng cách lớn của inter-cluster [6] 38

Hình 4.1: Trang chủ hệ thống (Người dùng truy cập, hệ thống hiển thị các sản phẩm) 43 Hình 4.2: Trang chi tiết sản phẩm (Người dùng truy cập vào sản phẩm trên và thực hiện yêu thích sản phẩm) 44

Hình 4.3: Trang gợi ý sản phẩm (dựa vào sản phẩm được người dùng yêu thích, hệ thống gợi ý các sản phẩm tương tự) 45

Trang 8

Vấn đề nghiên cứu: Ở nước ta ngành thương mại điện tử đang trên đà phát triển, ngày

một tăng nhanh Rất nhiều doanh nghiệp đã và đang phát triển, kinh doanh cách hệ thống thương mại ở mọi lĩnh vực như: Giáo dục, Giải trí, Dịch vụ, Thương mại… Bên cạnh đó ta thấy những hệ thống đấy đang gặp vấn đề về dữ liệu quá lớn gây khó khăn trong việc tìm kiếm

và lọc thông tin, lọc dữ liệu để có thể phù hợp với khách hàng, phù hợp với mong muốn của người dùng Với những lý do đó, đòi hỏi phải thay đổi, nâng cấp hệ thống sao cho có thể hỗ trợ người dùng tìm đến những thông tin, sản phẩm, dịch vụ mà phù hợp với mong muốn của

họ Do đó xây dựng hệ thống dự đoán gợi ý là cần thiết, hệ thống gợi ý áp dụng các bộ lọc dữ liệu thông minh có thể phân tích, rút trích và dự đoán dữ liệu cần thiết, giúp cho mọi người đều có thể tìm kiếm được thông tin ưng ý với mình Với mục đích kinh doanh ngày một tăng lợi nhuận hơn

Với những khó khăn và chiến lược kinh doanh trực tuyến được nói đến ở trên, luận văn này sẽ phân tích và đưa ra giải pháp “Xây dựng hệ thống gợi ý dựa trên phân tích sở thích của người dùng theo hướng tiếp cận lọc trên nội dung”

Hệ thống gợi ý là một đề tài nghiên cứu có ảnh hưởng đến chiến lược kinh doanh của công ty, tổ chức, tập đoàn

Ngoài phần Mở đầu, Phần kết luận và các Phụ lục, nội dung luận văn gồm có 4 chương chính:

Chương 1 – Tổng quan Nội dung chương giới thiệu về lợi ích nghiên cứu và ứp dụng hệ

thống gợi ý vào kinh doanh, phân tích lợi ích giữa doanh nghiệp và khách hàng sử dụng dịch

vụ Giới thiệu tổng quan về hệ thống gợi ý và các hướng tiếp cận phổ biến hiện nay

Chương 2 – Cơ sở lý thuyết Nội dung chương trình bày các khái niệm, định nghĩa, thuật

toán, các yếu tố, thành phần liên quan đến hệ thống gợi ý

Trang 9

Chương 3 – Kỹ thuật thực hiện Nội dung chương trình bày mô hình xây dựng hệ thống gợi

ý, các thành phần và công nghệ được sử dụng

Chương 4 – Phần mềm và kết quả thực nghiệm Nội dung chương trình bày kết quả thực

nghiệm hệ thống gợi ý theo hướng tiếp cận nội dung

Trang 10

CHƯƠNG 1 – TỔNG QUAN

1.1 Tính cấp thiết của đề tài

Ngày nay, ngành thương mại điện tử tăng trưởng mạnh và các nhà đầu tư, doanh nghiệp cũng đã và đang gặp khó khăn trong việc kinh doanh trực tuyến vì các mặt hàng, dịch

vụ đa dạng và phong phú hình thành một khối dữ liệu lớn dẫn đến khó khăn trong việc tìm kiếm và lọc các mặt hàng, dịch vụ phù hợp để giới thiệu đến khách hàng

Do đó, việc phát triển hệ thống gợi ý là cần thiết nhằm hỗ trợ cho việc lọc và tìm kiếm

dữ liệu hiệu quả, phù hợp với từng khách hàng cụ thể, giúp khách hàng tiết kiệm thời gian và công sức trong việc tìm kiếm sản phẩm mà mình quan tâm, cùng hướng đến sự tiện lợi của khách hàng và hướng đến lợi nhuận của công ty, doanh nghiệp

1.2 Tổng quan về vấn đề nghiên cứu

Ở nước ta ngành thương mại điện tử đang trên đà phát triển, ngày một tăng nhanh Rất nhiều doanh nghiệp đã và đang phát triển, kinh doanh cách hệ thống thương mại ở mọi lĩnh vực như: Giáo dục, Giải trí, Dịch vụ, Thương mại… Bên cạnh đó ta thấy những hệ thống đó đang gặp vấn đề về dữ liệu quá lớn gây khó khăn trong việc tìm kiếm và lọc thông tin, lọc dữ liệu để có thể phù hợp với khách hàng, phù hợp với mong muốn của người dùng Với những lý

do đó, đòi hỏi phải thay đổi, nâng cấp hệ thống sao cho có thể hỗ trợ người dùng tìm đến những thông tin, sản phẩm, dịch vụ mà phù hợp với mong muốn của họ Do đó xây dựng hệ thống dự đoán gợi ý là cần thiết, hệ thống gợi ý áp dụng các bộ lọc dữ liệu thông minh có thể phân tích, rút trích và dự đoán dữ liệu cần thiết, giúp cho mọi người đều có thể tìm kiếm được thông tin ưng ý với mình Với mục đích kinh doanh ngày một tăng lợi nhuận hơn

Với những khó khăn và chiến lược kinh doanh trực tuyến được nói đến ở trên, luận văn này sẽ phân tích và đưa ra giải pháp “Xây dựng hệ thống gợi ý dựa trên phân tích sở thích của người dùng theo hướng tiếp cận lọc trên nội dung”

Dữ liệu sẽ được thu thập về từ các nguồn như tiki.vn, fahasa.com để chuẩn bị dữ liệu cho việc phân tích cho hệ thống Thu thập dữ liệu của cộng đồng người dùng từ fanpage tiki, fahasa trên mạng xã hội facebook.com, sau đó tiến hành rút trích các đặc trưng sản phẩm dựa trên tập luật định trước phục vụ cho việc xây dựng hệ thống Để đo độ tương tự sản phẩm, độ

đo Jaccard được sử dụng để phù hợp cho việc đo đạc với kiểu dữ liệu phân loại Bài toán hướng tới việc xây dựng hệ thống trên nền hệ thống phân tán Hadoop và sử dụng các kỹ thuật

xử lý dữ liệu lớn

Trang 11

Kết quả đạt được sẽ là một hệ thống gợi ý các sản phẩm và dịch vụ phù hợp với người dùng mà có thể họ quan tâm, ưng ý

1.3 Mục đích nghiên cứu

Xây dựng hệ thống gợi ý có thể hỗ trợ khách hàng tìm được những sản phẩm yêu thích thông qua lịch sử yêu thích hoặc lịch sử mua sắm của họ, có thể phân tích sở thích của người dùng, dự đoán gợi ý các mặt hàng và dịch vụ đến khách hàng mà có thể họ quan tâm, nhằm thu hút khách hàng và tăng doanh thu

Mục tiêu nghiên cứu: Thu thập dữ liệu chuẩn bị cho việc phân tích và dự đoán sản phẩm, dịch vụ Xây dựng bộ lọc dựa trên nội dung (Content-based filtering [1]) để tích hợp vào hệ thống gợi ý sản phẩm, dịch vụ dựa vào các thuật toán máy học Triển khai Hadoop MapReduce và tích hợp bộ lọc Content-based vào hệ thống Hadoop để phân tích và xử lý dữ liệu sau đó trainning để được tập dữ liệu gợi ý Xây dựng hệ thống website dựa trên tập dữ liệu thu thập và hệ thống Hadoop Sau cùng là thử nghiệm và phân tích và kiểm chứng kết quả

1.4 Đối tƣợng và phạm vi nghiên cứu

Nghiên cứu chiến lược kinh doanh trực tuyến ở Việt Nam, xây dựng và ứng dụng hệ thống gợi ý vào việc kinh doanh sản phẩm, dịch vụ trực tuyến

Nghiên cứu và phân tích các chi tiết đặc trưng của sản phẩm dịch vụ, tìm hiểu mối quan hệ giữ các sản phẩm và dịch vụ với nhau, phân tích hành vi của khách hàng tác động lên sản phẩm và dịch vụ, phân tích sở thích của khách hàng đối với các mặt hàng và dịch vụ

Nghiên cứu hướng tiếp cận lọc dựa trên nội dung để xây dựng hệ thống gợi ý, giúp cho khách hàng dễ dàng tìm kiếm được sản phẩm mà họ có thể ưng ý

Như ta thấy hệ thống gợi ý ngoài việc mang đến sự tiện dụng cho người dùng, hỗ trợ khách hàng tìm thấy những sản phẩm và dịch vụ mà họ có thể quan tâm, hệ thống còn thúc đẩy sự tăng trưởng kinh tế, tăng lợi nhuận cho doanh nghiệp, cho công ty

Hình 1.1: Mô tả sự tăng trưởng trong kinh doanh

Xây dựng hệ thống gợi ý sẽ giúp cho các sản phẩm và dịch vụ mới kể cả ít phổ biến được người dùng, khách hàng biết đến và có thể họ quan tâm, mong muốn

Trang 12

Lợi ích cho doanh nghiêp: giới thiệu được nhiều sản phẩm và dịch vụ hơn; thu hút nhiều khách hàng đến thăm viếng website hơn; thu hút lượt xem nhiều hơn; bán được nhiều sản phẩm, dịch vụ hơn; doanh thu tăng nhanh hơn

Lợi tích cho khách hàng: dễ dàng tìm kiếm được sản phẩm và dịch vụ mà họ đang quan tâm; tìm được sản phẩm phù hợp sở thích thông qua cộng đồng; tìm được sản phẩm, dịch

vụ ưng ý hơn qua việc mua một sản phẩm trước đây; tìm thấy sản phẩm khác mà có thể khách hàng quan tâm

1.6.1 Lọc dựa trên nội dung (Content-based filtering)

Hướng tiếp cận lọc trên nội dung, trả lời cho câu hỏi “Tôi muốn xem nhiều hơn các sản phẩm và dịch vụ khác tương tự như những sản phẩm dịch vụ mà tôi đã xem, yêu thích hoặc mua, hãy gợi ý cho tôi những sản phẩm và dịch vụ phù hợp với tôi.” Ví dụ: Doanh nghiệp ABC muốn xây dựng hệ thống tin tức, báo chí với mong muốn: xác định, phân tích và giới thiệu những bài báo mới nhất, thú vị mà có liên quan đến những bài báo, bài viết, đề tài, lĩnh vực mà người dùng đã xem, yêu thích trước đó Hỗ trợ người dùng tìm kiếm bài viết phù hợp với tiêu chí dựa vào những bài viết mà người dùng đã xem, quan tâm [2], [4]

Ưu điểm và khuyết điểm của hướng tiếp cận lọc dựa trên nội dung như sau:

Trang 13

Lọc dựa trên nội dung hầu như dựa vào nội dung của item, các giá trị đặc trưng Hệ thống xây dựng user profile khi người dùng thực hiện các hành vi thể hiện sự yêu thích quan tâm của họ, từ đây hệ thống sẽ sử dụng User Profile và Item Profile để xử lý dự đoán và gợi ý các item khác có độ tương quan để giới thiệu cho người dùng User Profile là model thể hiện

sự quan tâm yêu thích của người dùng đối với một item cụ thể, User Profile được xây dựng từ lịch sử hành vi của họ tác động lên item [2], [4]

Không giống như lọc cộng tác, lọc dựa trên nội dung sẽ gợi ý những Item mới có độ tương quan phù hợp với những item mà người dùng đã yêu thích trước đó, những item mới này không cần được đánh giá hay là yêu thích Những item tương tự sẽ được tính dựa trên tập các đặc trưng và được so sánh với tập item đã được yêu thích trong lịch sử, gợi ý những item đến khách hàng [4]

Đối với lọc dựa trên nội dung, dữ liệu nhỏ hoạt động bình thường, không ảnh hưởng đến hệ thống gợi ý các item

Lọc cộng tác sẽ dự đoán và gợi ý những items dựa trên độ tương tự giữa users với nhau hoặc giữa items với nhau Những items được gợi ý cho user thông qua cộng đồng users có cùng sở thích với đối tượng user sẽ gợi ý [2] Ví dụ: Doanh nghiệp muốn kinh doanh hệ thống xem phim trực tuyến và thu phí người xem theo hàng tháng Hệ thống hỗ trợ gợi ý những bộ phim hot của tháng, hot trong ngày thông qua cộng đồng người dùng bằng cách phân tích lịch

sử tác động của họ trên mỗi tập phim, tác động thể hiện sự yêu thích của người xem

1.6.3 Lọc kết hợp giữa cộng tác và nội dung (Hybrid)

Hướng tiếp cận này là sự kết hợp giữa hướng tiếp cận lọc dựa trên nội dung và hướng tiếp cận lọc cộng tác [2] Hướng tiếp cận Hybrid kết hợp giữa kỹ thuật A và B, sử dụng điểm mạnh của A để khác phục cải tiến điểm yếu của B Ví dụ: CF có điểm yếu về vấn đề item mới,

Trang 14

phương pháp CF không thể gợi ý những item chưa được đánh giá (rating) nhưng điều này hướng tiếp cận CB có thể giải quyết được, CB dự đoán dựa vào những đặc tính của item để gợi ý [1]

1.7 Ứng dụng của hệ thống gợi ý

Hình 2.1: Mô tả ứng dụng hệ thống gợi ý ở một số lĩnh vực

Hệ thống gợi ý đã được ứng dụng thành công ở các lĩnh vực [2] như:

Hệ thống giới ý giới thiệu sản phẩm: hệ thống kinh doanh sản phẩm trực tuyến, hỗ trợ việc lọc, tìm kiếm, hiển thị sản phẩm đến khách hàng mà họ có thể quan tâm dựa vào lịch sử mua sắm của khách hàng Ví dụ như: Amazon, Ebay

Hệ thống giải trí gợi ý phim ảnh: hệ thống kinh doanh về mặt giải trí xem phim trực tuyến, hỗ trợ người dùng có thể xem nhiều hơn những bộ phim khác mà họ có thể quan tâm thông qua cộng đồng hoặc lịch sử xem phim của họ Ví dụ: Youtube, Netflix

Hệ thống gợi ý bài viết, tin tức: Ngày nay, ngoài việc cập nhật tin tức nóng bổng, mới nhất Người ta còn quan tâm đến những dòng tin tức mà người xem có thể quan tâm dựa vào lịch sử xem bài viết hoặc thông qua cộng đồng Ví dụ: Google news, Yahoo news…

Hệ thống gợi ý cho các trang xã hội: Hệ thống hỗ trợ tìm kiếm bạn bè, người thân, đồng nghiệp đến người dùng mà họ có thể quan tâm Ví dụ: Facebook, Twitter

Trang 15

1.8 Kết luận chương 1

Nội dung chương 1 trình bày về vấn đề khó khăn gặp phải trong việc kinh doanh trực tuyến ngày nay, đưa ra lý do và lợi ích cho khách hàng và doanh nghiệp khi ứng dụng hệ thống gợi ý vào việc kinh doanh của họ, giới thiệu tổng quan về hệ thống gợi ý và các hướng tiếp cận phổ biến hiện nay

Trang 16

CHƯƠNG 2 – CƠ SỞ LÝ THUYẾT

2.1 Đối tượng phục vụ của hệ thống

Hệ thống phục vụ 2 loại khách hàng: khách hàng thân thuộc và khách hàng vãng lai Khách hàng thân thuộc là khách hàng đã có hồ sơ thông tin cá nhân, đã có lịch sử mua sắm và thường xuyên đến thăm viếng website của chúng ta Ví dụ: anh Nguyễn quan tâm đến các thiết bị công nghệ như điện thoại, máy tính bảng,… Nguyễn đã từng đánh giá các sản phẩm, yêu thích các sản phẩm và mua sản phẩm Nguyễn là khách hàng thân thuộc và đã có

hồ sơ cá nhân Gần đây, anh Nguyễn quay lại website để tìm kiếm mua những phụ kiện liên quan đến chiếc điện thoại mà anh ta mua cách đây vài hôm Từ những thông tin trên, hệ thống phân tích, xây dựng chiến lược để dự đoán và giới thiệu các phụ kiện hoặc những sản phẩm mới tương tự dựa vào từ khóa và sản phẩm mà anh ta đã tìm kiếm hoặc thanh toán trước đó

Khách hàng vãng lai là khách hàng chưa có hồ sơ thông tin cá nhân, chưa hoặc ít mua sắm và ít khi đến thăm viếng website của chúng ta Ví dụ: chị Hà là người dùng mới, không có

hồ sơ cá nhân, lần đầu đến thăm viếng website của chúng ta Hệ thống dựa vào kho lịch sử mua sắm, lịch sử yêu thích của các sản phẩm trong những tuần qua để phân tích và chọn ra top sản phẩm được người dùng quan tâm cũng như được công đồng mua sắm gần đây để hiển thị giới thiệu cho Hà Sau đó Hà chọn xem sản phẩm, hệ thống sẽ phân tích và dự đoán sở thích của chị Hà, từ đây hệ thống tận dụng thông tin để thực hiện gợi ý những sản phẩm mới đến Hà

và có thể được ưng ý

2.2 Định nghĩa Item và User

Hệ thống gợi ý bao gồm 2 đối tượng: Item, user Item và User có mối quan hệ mật thiết với nhau

Item là đối tượng sẽ được gợi ý đến user như: sản phẩm, dịch vụ, bài hát, bài báo, clip… cũng có thể là một user Item có những đặc trưng và metadata như: chủ đề, mô tả, nôi dung, từ khóa, dung lượng, kích thước [2], [3]… Những đặc trưng này sẽ được hệ thống xử lý

dự đoán và gợi ý những item tương tự đến user

User là đối tượng phục vụ của hệ thống như: khách hàng đến mua sản phẩm, người dùng viếng thăm website để xem phim, đọc tin tức, nghe nhạc [3],…

Trang 17

Hình 2.2: Mô tả dữ liệu item và user trong hệ thống gợi ý

2.3 Định nghĩa User profile và Item profile

Hệ thống sẽ gợi ý những items phù hợp nhất dựa trên nội dung đặc trưng và profile của

user

Item profile là tập các nội dung đặc trưng quan trọng mô tả về một item Ví dụ như:

một tập phim ta có thể xây dựng profile như: danh sách viễn viên, danh sách đạo diễn, năm

phát hành, thể loại [2], [3]

User profile là tập các item profile của người dùng thông qua lịch sử mua sắm, yêu

thích… Profile thể hiện sự yêu thích của người dùng quan tâm đến sản phẩm [2], [4]

2.4 Định nghĩa về dữ liệu tường minh và dữ liệu không tường minh

Trong hệ thống gợi ý sẽ có 2 loại dữ liệu được phân tích được tạo ra thông qua các

hàng động của khách hàng tác động lên sản phẩm, dịch vụ [4] Ví dụ như: đánh giá, yêu thích,

mua sắm,…

Dữ liệu tường minh là những dữ liệu sau được tạo bởi người như: dữ liệu log khách

hàng đánh giá sản phẩm, dịch vụ; dữ liệu log yêu thích sản phẩm, dịch vụ; dữ liệu log bình

luận về sản phẩm, dịch vụ; dữ liệu log mua sắm sản phẩm, dịch vụ

Dữ liệu không tường minh là những dữ liệu sau được tạo bởi người dùng như: dữ liệu

log xem trang về sản phẩm, dịch vụ; dữ liệu log tìm kiếm

Trang 18

2.5 Quan hệ giữa Item và User

Hình 2.3: Mô tả quan hệ giữa user và item

Như chúng ta đã biết, hệ thống gợi ý bao gồm hai thành phần chính: user và item Xét một user ta thấy user có thể tác động lên item như: chọn xem item, tìm kiếm item, đánh giá item, yêu thích item, đánh dấu item, chia sẽ item, mua hàng [4]… tùy theo một số hệ thống và nghiệp vụ của hệ thống đó mà user có thể có một số các thao tác riêng khác tác động lên item Những tác động của user lên item thể hiện sự quan tâm của user đến item đó, và chúng ta có thể xây dựng User profile dựa vào sự các hành vi quan tâm này của người dùng [3]

2.6 Đo khoảng cách (Distance Measure)

Như chúng ta đã biết, thuật toán gom cụm phụ thuộc và ảnh hưởng vào phương thức tính khoảng cách Tùy thuộc vào từng bài toán, cấu trúc dữ liệu mà chúng ta quyết định lựa chọn phương pháp tính khoảng cách phù hợp Ví dụ: để gom nhóm tài liệu, bài báo chúng ta chọn phương pháp tính khoảng cách là Cosine

Trang 19

Trong luận văn sử dụng thuật toán gom cụm để phân nhóm các item tương tự có cùng đặc trưng, thuật toán gom cụm sử dụng độ đo khoảng cách là Jaccard

Độ đo khoảng cách: Giả sử chúng ta có tập hợp các điểm trong một không gian Đo

khoảng cách trên không gian đó là hàm d(x,y) , trong đó x, y là hai điểm trong không gian và khoảng cách là một con số thực và phải thõa mãn các điều kiện [7]:

1 Khoảng cách d(x,y) >= 0 (khoảng cách tiêu cực)

2 Khoảng cách d(x, y) = 0 nếu và chỉ nếu x = y (khoảng cách tích cực, ngoại trừ khoảng cách này là 2 điểm cùng là chính nó)

3 Khoảng cách d(x, y) = d(y, x) (khoảng cách đối xứng - symmetric)

4 Khoảng cách d(x, y) <= d(x, z) + d(z, y) (đẳng thức tam giá – the triangle inquality) Trong đó đẳng thức tam giá là điều kiện phức tạp nhất Đo khoảng cách bao gồm các phương thức như:

- Khoảng cách Euclidean

- Khoảng cách Jaccard

- Khoảng cách Cosine

- Khoảng cách Edit

Khoảng cách Euclidean Là khoảng cách giữa hai điểm trong không gian nhiều chiều,

những điểm là các vector số thực Khoảng cách Euclidean được xác định bởi công thức:

Khoảng cách Jaccard Khoảng cách Jaccard của những tập hợp được xác định bởi d(x,y)

= 1 – SIM(x,y) Khoảng cách Jaccard bằng 1 trừ cho tỷ lệ kích thước của các phần tử giao

và các phần tử hợp của các phần tử x,y

Khoảng cách Cosine Khoảng cách cosine giữa hai điểm là góc tạo bởi các điểm Góc

trong phạm vi từ 0 đến 180 độ Khoảng cách cosine(x,y) được xác định bởi công thức sau:

(2.1)

(2.2)

Trang 20

Khoảng cách Edit Khoảng cách Edit được sử dụng khi các điểm được biểu diễn là các

chuỗi Khoảng cách giữa hai chuỗi x = x1, x2, xn và y = y1, y2,…ym là con số nhỏ nhất của việc chèn và xóa các ký tự được chuyển từ chuỗi x sang chuỗi y

2.7.1 Gom cụm (Cluster analysis hoặc Clustering)

Gom cụm có tầm ảnh hưởng trong cuộc sống ngày nay và được ứng dụng rộng rãi vào các lĩnh vực khoa học công nghệ, kinh doanh, chăm sóc sức khỏe, phân loại thị trường, xử lý ảnh y học, rút trích thông tin… Gom cụm đã và đang được triển khai bởi các tổ chức lớn trên thế giới như: Google, Facebook và Amazon…Gom cụm là một lĩnh vực nghiên cứu trong việc khai thác dữ liệu, và là một cơ chế học không giám sát (unsupervised learning) trong máy học (machine learning) [5], [6], [7]

Gom cụm là một xử lý chia nhóm của các đối tượng dữ liệu thành những tập nhỏ Những đối tượng bên trong một nhóm (cluster) thì tương đồng với những đối tượng khác trong nhóm, những đối tượng không tương đồng sẽ được phân bố trong nhóm khác Kết quả của việc gom nhóm là một tập hợp các cluster Clustering có rất nhiều thuật toán [7]

Giả sử ta có một tập dữ liệu D có n đối tượng trong không gian Euclidean Phương thức chia nhóm những đối tượng trong D vào trong k cluster C1,…Ck với điều kiện Ci con của

D và Ci giao Cj bằng rỗng (1<=i, j<=k) Mục đích được sử dụng để đánh giá chất lượng gom nhóm để các đối tượng bên trong một cluster là tương tự với nhau nhưng khác nhau đối với những đối tượng khác trong những cluster khác Mục tiêu để đánh giá mức độ cao cho độ tương tự cluster nội bộ (high intracluster similarity) và mức độ thấp cho độ tương tự cluster bên ngoài (low intercluster similarity) [7]

Kỹ thuật phân nhóm dựa vào phần tử trọng tâm sử dụng phần tử trọng tâm của một cluster Ci để đại diện cho cluster đó Trọng tâm của một cluster nó là điểm trung tâm, trọng tâm có thể được xác định bằng nhiều cách khác nhau phù hợp với bài toán Ta có ci là đại diện của cluster thì sự khác biệt của một đối tượng p thuộc cluster Ci được xác định bởi dist(p,ci), trong trường hợp này dist(x,y) là khoảng cách Euclidean giữa 2 điểm x và y Chất lượng của cluster Ci có thể được xác định bởi sự biến đổi bên trong của một cluster Ta có cách tính tổng phương sai (squared error) giữa tất cả các đối tượng bên trong cluster Ci và trọng tâm ci được định nghĩa như sau [7]:

Trang 21

Trong đó E là tổng phương sai của tất cả các đối tượng trong tập dữ liệu, p là điểm trong không gian thể hiện cho một đối tượng, ci là trọng tâm của cluster Ci

2.7.2 Thuật toán K-mode

Tương tự như mean, thuật toán mode là phiên bản cải tiến của thuật toán means Do việc xử lý gom cụm các sản phẩm, dịch vụ trong bài toán không phù hợp với thuật toán K-means nên chúng ta cải tiến K-means thành K-mode

K-Thuật toán K-mode dùng để phân nhóm, với trung tâm của từng nhóm được xác định bằng giá trị khoảng cách nhỏ nhất của tất cả các đối tượng trong cùng nhóm

Bước 1: Chọn k đối tượng tùy ý từ tập D làm các phần tử trung tâm cho các cluster;

Bước 2: Tìm những đối tượng gần nhất với mỗi phần tử trung tâm và gán phẩn tử đó

vào cluster thuộc về;

Bước 3: Cập nhật lại phần tử trung tâm bằng cách tính khoảng cách và chọn giá trị

nhỏ nhất của tất cả các đối tượng cho mỗi cluster;

Lặp lại các bước cho đến khi thuật toán hội tụ dựa trên tiêu chí dừng và giá trị lặp tối

đa Điều kiện để thuật toán k-mode dừng khi giá trị trung tâm không thay đổi giữa lần lặp lại các bước hoặc các phần tử không thay đổi cluster Trong trường hợp tiêu chí dừng không được cho biết thì thuật toán sẽ dừng sau số vòng lặp nhất định được người dùng thiết lặp trước [5], [6]

Giả sử ta có n phần tử và k nhóm Thuật toán K-Mode sẽ khởi tạo tập k trung tâm Thuật toán sẽ xem xét các phần tử xung quanh và tính lại giá trị trung tâm cho đến khi trạm đến tiêu chí dừng hoặc về hội tụ Mô tả thuật toán K-mode hình bên dưới

(2.3)

Trang 22

Hình 2.4: Sử dụng thuật toán k-mode để gom nhóm Bước đầu, chọn k phần tử trong tập đối tượng

đầu vào làm phần tử trung tâm, tìm các đối tượng gần nhất và gán các đối tượng này và nhóm cluster cụ thể Tính lại phẩn tử trung tâm bằng cách tính

và tìm khoảng cách nhỏ nhất của tất cả các phần tử trong cùng nhóm với nhau [6]

Ví dụ minh họa: Giả sử ta có tập dữ liệu như ma trận bên dưới, thực hiện gom nhóm bằng phương pháp K-mode sử dụng độ đo Jaccard với k=3

Trang 24

Nội dung chương 2 trình bài lý thuyết về hệ thống gợi ý, các khái niệm liên quan đến

hệ thống gợi ý như: user, item, mối quan hệ giữa user với item, khái niệm về dữ liệu tường minh Cơ sở lý thuyết làm nền tảng để giải quyết bài toán gợi ý: độ đo khoảng cách, gom nhóm và cuối cùng là ví dụ minh họa

Trang 25

CHƯƠNG 3 – KỸ THUẬT THỰC HIỆN 3.1 Framework hệ thống gợi ý

Hình 3.1: Framework hệ thống

Hệ thống gợi ý gồm có 5 thành phần xử lý chính:

Xử lý feedback: module sẽ kiểm soát các hành động của người dùng tác động lên sản

phẩm, lưu dữ liệu log khi người dùng thể hiện sự quan tâm đối với sản phẩm qua các thao tác như: yêu thích, chia sẽ, đánh dấu, bình chọn hoặc comment

Trang 26

Rút trích đặc trưng: module phân tích nội dung mô tả item từ dữ liệu thô không cấu

trúc (như text), sau đó rút trích các đặc tính của sản phẩm, dịch vụ và xây dựng thông tin có cấu trúc cho sản phẩm, dịch vụ

Xây dựng User preference: module sẽ tổng hợp dữ liệu về các hành động của người

dùng thể hiện sự yêu thích quan tâm đối với sản phẩm qua lịch sử thao tác của người dùng lên sản phẩm và được xây dựng thông qua kỹ thuật máy học như: gom nhóm, phân lớp

Clustering: module sẽ thực hiện gom nhóm các item dựa vào đặt trưng, phục vụ cho

việc dự đoán các sản phẩm và dịch vụ phù hợp với khách hàng

Xử lý lọc: module sẽ tận dụng dữ liệu user preference để gợi ý những sản phẩm phù

hợp qua việc phân tích, kết hợp với dữ liệu gom nhóm và item profile để đưa ra tập dữ liệu gợi

ý

3.2 Cơ sở dữ liệu lưu trữ

Hệ thống gợi ý sử dụng 3 hệ cơ sở dữ liệu sau:

- Mysql CSDL chính dùng để lưu trữ thông tin quan trọng của hệ thống như sản phẩm,

dịch vụ, khách hàng

- Mongodb CSDL dùng để crawler thu thập dữ liệu, chuẩn bị cho việc xử lý

- Hbase CSDL dùng để xử lý tính toán gom cụm trên môi trường Hadoop

Trang 27

Hình 3.2: Mô hình CSDL hệ thống gợi ý

Trang 28

3.2.1 Thiết kế CSDL

Hình 3.3: Lược đồ quan hệ của hệ thống gợi ý

Bảng 3.1: Mô tả các bảng dữ liệu lưu trữ

khách hàng

3 user_preference

Là bảng sử dụng lưu trữ dữ liệu thể hiên sự yêu thích của khách hàng đối với sản phẩm, dịch vụ

Ngày đăng: 18/12/2016, 00:11

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[4] Pasquale Lops, Marco de Gemmis and Giovanni Semeraro, “Content-based Recommender system: State of the Art and Trends” Sách, tạp chí
Tiêu đề: Content-based Recommender system: State of the Art and Trends
[8] Kohei ARAI, ANIK Nur Handayani. (2014), “Predicting Quality of Answer in Collaborative Question Answer Learning”, International Journal of Advanced Research in Artificial Intelligence - IJARAI , vol. 3, no. 2 Sách, tạp chí
Tiêu đề: Predicting Quality of Answer in Collaborative Question Answer Learning”, "International Journal of Advanced Research in Artificial Intelligence - IJARAI
Tác giả: Kohei ARAI, ANIK Nur Handayani
Năm: 2014
[9] Winarko, Sri Hartati, Retantyo Wardoyo. (2014), “Improving the Prediction Accuracy of Multicriteria Collaborative Filtering by Combination Algorithms”, International Journal of Advanced Computer Science and Applications - IJACSA , vol. 5, no. 4 Sách, tạp chí
Tiêu đề: Improving the Prediction Accuracy of Multicriteria Collaborative Filtering by Combination Algorithms”, "International Journal of Advanced Computer Science and Applications - IJACSA
Tác giả: Winarko, Sri Hartati, Retantyo Wardoyo
Năm: 2014
[10] Edi Winarko, Sri Hartati, Retantyo Wardoyo. (2014), “The Effect of Diversity Implementation on Precision in Multicriteria Collaborative Filtering”, International Journal of Advanced Computer Science and Applications - IJACSA , vol. 5, no. 5 Sách, tạp chí
Tiêu đề: The Effect of Diversity Implementation on Precision in Multicriteria Collaborative Filtering”, "International Journal of Advanced Computer Science and Applications - IJACSA
Tác giả: Edi Winarko, Sri Hartati, Retantyo Wardoyo
Năm: 2014
[11] Kohei Arai, ANIK Nur Handayani. (2013), “Predicting Quality of Answer in Collaborative Q/A Community”, International Journal of Advanced Research in Artificial Intelligence - IJARAI , vol. 2, no. 3 Sách, tạp chí
Tiêu đề: Predicting Quality of Answer in Collaborative Q/A Community”, "International Journal of Advanced Research in Artificial Intelligence - IJARAI
Tác giả: Kohei Arai, ANIK Nur Handayani
Năm: 2013
[12] Ante Odi'c, Marko Tkalčič, Jurij F. Tasic, Andrej Košir. (2013), “Predicting and Detecting the Relevant Contextual Information in a Movie-Recommender System” Sách, tạp chí
Tiêu đề: Predicting and Detecting the Relevant Contextual Information in a Movie-Recommender System
Tác giả: Ante Odi'c, Marko Tkalčič, Jurij F. Tasic, Andrej Košir
Năm: 2013
[13] Saikat Guha, Mudit Jain, Venkata N. Padmanabhan. (2012), “A Location-Privacy Platform for Smartphone Apps” Sách, tạp chí
Tiêu đề: A Location-Privacy Platform for Smartphone Apps
Tác giả: Saikat Guha, Mudit Jain, Venkata N. Padmanabhan
Năm: 2012
[14] W. Zheng, Yu Zheng, Xing Xie, Qiang Yang. (2012), “Towards Mobile Intelligence: Learning from GPS History Data for Collaborative Recommendation” Sách, tạp chí
Tiêu đề: Towards Mobile Intelligence: Learning from GPS History Data for Collaborative Recommendation
Tác giả: W. Zheng, Yu Zheng, Xing Xie, Qiang Yang
Năm: 2012
[15] Shahriar Nirjon, Robert F. Dickerson, Qiang Li, Philip Asare, John A. Stankovic, Dezhi Hong, Ben Zhang, Xiaofan Jiang, Guobin Shen, Feng Zhao. (2012), “MusicalHeart: A Hearty Way of Listening to Music” Sách, tạp chí
Tiêu đề: MusicalHeart: A Hearty Way of Listening to Music
Tác giả: Shahriar Nirjon, Robert F. Dickerson, Qiang Li, Philip Asare, John A. Stankovic, Dezhi Hong, Ben Zhang, Xiaofan Jiang, Guobin Shen, Feng Zhao
Năm: 2012
[16] Shawn O'Banion, Larry Birnbaum, Kristian Hammond. (2012), “Social media-driven news personalization” Sách, tạp chí
Tiêu đề: Social media-driven news personalization
Tác giả: Shawn O'Banion, Larry Birnbaum, Kristian Hammond
Năm: 2012
[17] Andrey Feuerverger, Yu He, Shashi Khatri. (2012), “Statistical Significance of the Netflix Challenge”, Statistical Science - STAT SCI , vol. 27, no. 2012, pp. 202-231 Sách, tạp chí
Tiêu đề: Statistical Significance of the Netflix Challenge”, "Statistical Science - STAT SCI
Tác giả: Andrey Feuerverger, Yu He, Shashi Khatri
Năm: 2012
[18] Brian McFee, Thierry Bertin-Mahieux, Daniel P. W. Ellis, Gert R. G. (2012), “The million song dataset challenge” Sách, tạp chí
Tiêu đề: The million song dataset challenge
Tác giả: Brian McFee, Thierry Bertin-Mahieux, Daniel P. W. Ellis, Gert R. G
Năm: 2012
[19] Nikos Manouselis, Alan Said, Domonkos Tikk, Jannis Hermanns, Benjamin Kille, Hendrik Drachsler, Katrien Verbert, Kris Jack. (2012), “Recommender systems challenge 2012” Sách, tạp chí
Tiêu đề: Recommender systems challenge 2012
Tác giả: Nikos Manouselis, Alan Said, Domonkos Tikk, Jannis Hermanns, Benjamin Kille, Hendrik Drachsler, Katrien Verbert, Kris Jack
Năm: 2012
[20] Thiago Belluf, Leopoldo Xavier, Ricardo Giglio. (2012), “Case study on the business value impact of personalized recommendations on a large online retailer” Sách, tạp chí
Tiêu đề: Case study on the business value impact of personalized recommendations on a large online retailer
Tác giả: Thiago Belluf, Leopoldo Xavier, Ricardo Giglio
Năm: 2012
[1] Francesco Ricci, Lior Rokach, Bracha Shapira, Paul B. Kantor (2011), Recommender Systems Handbook Khác
[2] Jure Leskovec, Anand Rajaraman, Jerey D.Ullman, Jerey D.Ullman (2014), Mining of Massive Datasets Khác
[6] Sea Owen, Robin Anil, Ted Dunning, Ellen Friedman (2011), Mahout in Action Khác
[7] Jiawei Han, Micheline Kamber, Jian Pei (2011), Data Mining Concepts and Techniques Khác

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w