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

Phương pháp xây dựng hệ thống gợi ý sản phẩm sử dụng phản hồi tiềm ẩn

12 215 2

Đ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 12
Dung lượng 915,33 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Bài viết Phương pháp xây dựng hệ thống gợi ý sản phẩm sử dụng phản hồi tiềm ẩn đề xuất một giải pháp xây dựng hệ thống gợi ý dành cho bán hàng trực tuyến sử dụng phản hồi tiềm ẩn (Implicit Feedbacks) từ người dùng.

Trang 1

Kỷ yếu Hội nghị Quốc gia lần thứ VIII về Nghiên cứu cơ bản và ứng dụng Công nghệ thông tin (FAIR); Hà Nội, ngày 9-10/7/2015

DOI: 10.15625/vap.2015.000199

PHƯƠNG PHÁP XÂY DỰNG HỆ THỐNG GỢI Ý SẢN PHẨM SỬ DỤNG

PHẢN HỒI TIỀM ẨN

Lưu Nguyễn Anh Thư, Nguyễn Thái Nghe

Khoa Công nghệ Thông tin và Truyền thông, Trường Đại học Cần Thơ

lnathu@cit.ctu.edu.vn, ntnghe@cit.ctu.edu.vn

Tóm tắt: Hệ thống gợi ý (Recommender Systems) đã và đang được ứng dụng trong rất nhiều lĩnh vực như giải trí, giáo dục,

khoa học, và đặc biệt là thương mại điện tử Việc tích hợp kỹ thuật gợi ý vào các hệ thống trực tuyến nhằm tự động phân tích các hành vi trong quá khứ của người dùng để dự đoán nhu cầu/sở thích của họ trong tương lai, từ đó có những đề xuất hợp lý cho người dùng là rất cần thiết trong thực tế

Bài viết này đề xuất một giải pháp xây dựng hệ thống gợi ý dành cho bán hàng trực tuyến sử dụng phản hồi tiềm ẩn (implicit feedbacks) từ người dùng Trước hết chúng tôi đề xuất phương pháp thu thập thông tin phản hồi tiềm ẩn, sau đó tìm hiểu các phương pháp gợi ý phù hợp từ đó đề xuất sử dụng phương pháp tập hợp mô hình để kết hợp các mô hình dự đoán nhằm tăng độ chính xác Kế đến là việc cài đặt, điều chỉnh, kiểm thử và và tích hợp các mô hình đã đề xuất vào hệ thống nhằm gợi ý các sản phẩm phù hợp với sở thích của người dùng Sau cùng, chúng tôi thu thập phản hồi từ người dùng thực nhằm đánh giá hiệu quả của phương pháp đã đề xuất Kết quả cho thấy mô hình đề xuất có khả năng gợi ý tốt cho người dùng và hoàn toàn có thể tích hợp vào các hệ thống bán hàng trực tuyến

Từ khóa: Hệ thống gợi ý, bán hàng trực tuyến, phản hồi tiềm ẩn, kỹ thuật phân rã ma trận

I GIỚI THIỆU

Hệ thống gợi ý (Recommender System - RS) được ứng dụng khá thành công trong thực tiễn giúp người dùng giải quyết vấn đề quá tải thông tin Hiện nay, hệ thống gợi ý đang được nghiên cứu và ứng dụng ở nhiều lĩnh vực khác nhau đặc biệt là thương mại điện tử Trên thế giới, đã có nhiều công ty, tổ chức áp dụng thành công hệ thống gợi ý như là một dịch vụ thương mại của mình nhằm gợi ý các dịch vụ, sản phẩm và các thông tin cần thiết đến người dùng như: website mua sắm trực tuyến Amazon (www.amazon.com) cung cấp cho khách hàng những sản phẩm mà họ có thể quan tâm, cổng video clip YouTube (www.youtube.com), gợi ý phim của MovieLens (www.movielens.org), Việc gợi ý sản phẩm phù hợp sẽ góp phần làm tăng doanh số bán hàng hoặc số lượng truy cập, download của hệ thống Đồng thời giúp cho khách hàng có thể tìm kiếm được những thông tin thú vị hoặc những sản phẩm mà họ muốn tìm dễ dàng hơn

Hệ thống gợi ý giúp người dùng chọn lựa được thông tin phù hợp nhất cho mình dựa trên những hành vi/phản hồi (feedbacks) mà người dùng đã thực hiện trong quá khứ Các phản hồi có thể được xác định một cách tường minh (explicit feedback) như thông qua việc đánh giá/xếp hạng (ví dụ, rating từ 1 đến 5; hay like (1) và dislike (0),…) mà người dùng đã bình chọn trên sản phẩm – trong trường hợp này gọi là dự đoán xếp hạng (rating prediction) [4] hoặc các phản hồi có thể được xác định một cách không tường minh hay còn gọi là tiềm ẩn (implicit feedbacks) như số lần click chuột, số lần chọn mua sản phẩm, thời gian mà người dùng đã duyệt/xem sản phẩm,…

Rất nhiều hệ thống lớn thu thập thông tin phản hồi từ khách hàng một cách tường minh, như Ebay, Amazon, LastFM, NetFlix, ở đó người sẽ trực tiếp đánh giá trên sản phẩm, như bình chọn từ  (không thích) đến  (rất thích); hay Youtube thu thập thông tin qua like(&)/ disklike('), và các hệ thống khác [3] Thông qua việc thu thập phản hồi tường minh, hệ thống dễ dàng xác định mức độ yêu thích của người dùng trên sản phẩm, từ đó dự đoán các

sản phẩm tiếp theo mà người dùng có thể thích để gợi ý cho họ Tuy nhiên, điều này có thể gây bất lợi do không phải

người dùng lúc nào cũng sẳn sàng/vui lòng để lại các phản hồi của họ, vì vậy hệ thống phải nên tự xác định người dùng cần gì thông qua phản hồi tiềm ẩn

Trong bài viết này, chúng tôi đề xuất một giải pháp xây dựng hệ thống gợi ý cho bán hàng trực tuyến, sử dụng phản hồi tiềm ẩn từ người dùng (như số lần duyệt/xem sản phẩm, số lần mua sản phẩm) Trước hết chúng tôi đề xuất phương pháp thu thập và khai thác thông tin phản hồi tiềm ẩn từ người dùng, sau đó lựa chọn và đề xuất kết hợp các

mô hình sử dụng thông tin phản hồi tiềm ẩn Kế đến là việc xây dựng hệ thống và tích hợp các giải thuật gợi ý vào hệ thống Sau khi có hệ thống hoàn chỉnh, chúng tôi thu thập dữ liệu từ người dùng thực nhằm đánh giá hiệu quả của hệ thống gợi ý Kết quả cho thấy khả năng mà hệ thống gợi ý phù hợp với sở thích của từng người dùng là khá tốt

II HỆ THỐNG GỢI Ý (Recommender Systems - RS)

A Hệ thống gợi ý

Mục đích của hệ thống gợi ý là dựa vào sở thích, thói quen, nhu cầu, trong quá khứ của người sử dụng để dự

đoán sở thích trong tương lai của họ Trong hệ thống gợi ý người ta quan tâm đến 3 đối tượng: người dùng (user), sản phẩm (item - item gọi chung là mục tin nhưng trong bài viết này liên quan đến gợi ý sản phẩm nên từ đây về sau chúng tôi tạm gọi item là sản phẩm) và các phản hồi của người dùng trên sản phẩm, thường là các xếp hạng (rating)

Trang 2

c

g

R

n

v

n

t

B

m

s

q

v

c

th

m

m

ti

[

-s

Thông t

ất cả các sản p

các sản phẩm c

gợi ý về sách, p

R là một tập h

người dùng u t

việc đánh giá/x

này gọi là dự đ

tiềm ẩn (impli

Bài viết này qu

Các thô

mỗi dòng là m

số lần click ch

quá khứ Nhữn

vài item trong

Nhiệm

các ô còn trống

heo thứ tự, từ

Một các

một ánh xạ r: U

Mục tiê

một hàm ước l

iểu

Hiện nay,

1][2][7]:

Gợi ý dựa

phát từ nh

li

k

d

m

Gợi ý dựa

dùng đó ư

Gợi ý dựa

Sau đây c

sử dụng phản h

thường người

phẩm (items) s

có thể lên đến

phim ảnh, âm

hợp các giá trị

trên sản phẩm

xếp hạng (ví d

đoán xếp hạng

icit feedback)

uan tâm nhiều

ông tin về user

một người dùng

huột hay chọn

ng ô trống là n

quá khứ, do vậ

Hình 1

vụ chính của R

g (của user hiệ

đó gợi ý chún

ch hình thức, g

U × I→ R (

êu của RS là t

lượng lỗi như M

MAE

RMSE =

có rất nhiều g

a trên lọc cộng

hững người có

Phương pháp l

iệu quá khứ c

khứ của những

Dựa trên mô h

dữ liệu thu thậ

models): trong

a trên nội dung

ưa thích trước

a trên cách tiếp

chúng tôi tóm

hồi tiềm ẩn, từ

ta gọi U là tập

sẽ được gợi ý n hàng trăm, hà nhạc Tương t dùng để ước l

m i Giá trị r ui c

dụ, rating từ 1 (rating predic

) như số lần cl

đến cách xác đ

r, item, feedba

g u, mỗi cột là

n mua sản phẩ

những item chư

ậy có rất nhiều

Ma trận biểu d

RS là dựa vào

ện hành), sau

ng đến người d

gọi D train ⊆ U

(u, i) ↦ r ui

tìm một hàm ̂ Mean Absolut

= | D test

1

r i u test

| 1 giải thuật đã đ

g tác (collabor

ó cùng thị hiếu láng giềng (N của người dùn

g item “tương hình (Model-b

ập được trong

g đó kỹ thuật p g: người dùng đây dựa trên n

p cận kết hợp:

lược lại một t

ừ đó làm cơ sở

p tất cả người như máy tính, àng nghìn hoặc

tự như vậy, tập lượng ‘sở thíc

có thể được x đến 5; hay lik

ction) hoặc r ui

lick chuột, số

định r ui không ack thường đư

à một sản phẩm

ẩm,… Các ô

ưa được xem (

u ô trống trong

diễn xếp hạng củ

o các ô đã có g

đó sắp xếp kế dùng

× I × R là tập

̂: U × I → ℜ

te Error (MAE

(

∈ D test

r) i, (u,

r

|

test

D r

i u

ui r r

)

) (

ˆ được đề xuất

rative filtering

u và sở thích v

Neighborhood-ng “tươNeighborhood-ng tự”

tự” (item-bas based): Nhóm

g quá khứ Nh phân rã ma trậ

g sẽ được gợi nội dung (như : kết hợp hai p trong những k

ở cho việc đề x

dùng (users) v sách, phim ản

c thậm chí là h

p người dùng U

h’ (preference

ác định một c

ke (1)/ dislike

có thể được xá lần chọn mua

g tường minh

ược biểu diễn t

m i, và giao gi

có giá trị là nh (điều đáng lưu

g ma trận này –

ủa người dùng t

giá trị trong ma

ết quả dự đoán

p dữ liệu huấn

sao cho ξ(r

E) hay Root M

)

ui ˆr

)2

cho hệ thống

g): người dùng với mình Nhóm -based, còn gọ – similarity (u

ed approach)

này liên quan

hư mô hình Ba

ận (matrix fact

ý những sản p

ư các thuộc tín phương pháp t

kỹ thuật trong xuất mô hình

và u là một ngư nh, và i là một

hàng triệu sản p

U cũng có thể

e) của người dù

cách tường mi

(0),…) mà u đ

ác định một cá sản phẩm, thờ

thông qua mộ iữa dòng và cộ hững item mà

u ý là mỗi user – còn gọi là m

trên sản phẩm (u

a trận này (dữ

n (ví dụ, từ cao

n luyện, D test

, ̂) thỏa mãn Mean Squared E

gợi ý, chúng

g sẽ nhận gợi ý

m này dựa vào

ọi là Memory-user-based ap

n đến việc xây ayesian, các m torization) là m phẩm tương tự nh) của sàn phẩ iếp cận dựa tr

g nhóm lọc cộn cho hệ thống

ười dùng cụ th

t sản phẩm cụ phẩm trong m rất lớn, lên đế

dùng, và r ui∈R inh (explicit f

đã bình chọn c

ách không tườ

ời gian mà u đ

ột ma trận như

ột là các phản các user đã x chỉ click xem

ma trận thưa – s

(user-item-rating

liệu thu được

o xuống thấp)

⊆ U × I × R là

một điều kiện Error (RMSE)

có thể được g

ý những sản p

o các phương -based), trong pproach), hoặc

y dựng các mô

mô hình nhân một điển hình

ự với những s

ẩm rên nội dung v

ng tác của hệ

hể nào đó (u

ụ thể nào đó (i∈ một số ứng dụn

ến hàng triệu t

R (R ⊂ℜ) là xế

feedback) như

cho i – trong t

ờng minh hay

đã duyệt/xem

ư trong Hình 1 hồi của ngườ xem hoặc chọn

m hoặc chọn mu sparse matrix)

g matrix)

c từ quá khứ),

và chọn ra To

à tập dữ liệu ki

n nào đó Ví d ) thì nó cần ph

gom lại theo 3

phẩm được ưa pháp chủ yếu

g đó hoặc là d

c là dựa trên d

ô hình dự đoá

tố tiềm ẩn (la

sản phẩm đã đ

và lọc cộng tác thống gợi ý v

U) I là tập

∈I) I là tập

g, như việc rường hợp

p hạng của

ư thông qua trường hợp

y còn gọi là

i,… [2][7]

Trong đó

i dùng như mua trong

ua cho một

để dự đoán op-N items iểm thử, và

dụ, nếu ξ là hải được tối

(1)

(2)

3 nhóm sau

a thích xuất u:

dựa trên dữ

dữ liệu quá

án dựa trên atent factor được người

c

và kỹ thuật

Trang 3

B

o

ta

g

g

đ

n

c

Đ

c

n

th

đ

h

h

tr

602

B Kỹ thuật p

Kỹ thuậ

of-the-art) tron

a có thể xây dự

X ~ WH

gồm K nhân tố

gồm K nhân tố

Gọi w uk

được dự đoán b

Như vậ

này có được bằ

của MF hay đư

Một tro

Để tối ưu hóa h

của chúng cho

nên tăng hay n

Sau khi

hức:

Trong đ

đạt được giá trị

Chính t

hình dự đoán c

hàm mục tiêu (

rị trong W và

phân rã ma tr

ật phân rã ma t

ng RS [1][2] M

ựng lại X từ h

H T như minh h

ố tiềm ẩn (late

ố tiềm ẩn mô tả

k và h ik là các p

bởi công thức:

ậy, vấn đề chủ

ằng cách tối ưu

ược sử dụng nh

ong những kỹ t

hàm mục tiêu

đến khi hàm m

ên giảm các g

i tìm đạo hàm

đó β là tốc độ

ị nhỏ nhất

tắc hóa (Regu

cho kết quả tố

(4) bằng cách

H Hàm mục t

PHƯ

rận (matrix fa

trận (MF) là m

MF là việc chi hai ma trận nhỏ họa như trong

nt factors) mô

ả cho item i (lư

phần tử tương :

chốt của kỹ th

u hóa hàm mụ

hư sau:

thuật có thể dù (4), trước tiên mục tiêu hội tụ

iá trị của W và

m, các phần tử

học (learning

ularization): Đ

ốt trên dữ liệu thêm vào một tiêu (4) bây gi

ƯƠNG PHÁP XÂ

actorization –

một trong nhữn

ia một ma trận

ỏ hơn này càng

g Hình 2 Tron

ô tả người dùn

ưu ý: K<<|U| v

Hình 2 Minh

g ứng của hai m

= K

k ui

r

1

ˆ

huật MF là làm

ục tiêu (objecti

=

MF

O

ùng để tối ưu h

n ta khởi tạo cá

ụ về giá trị nhỏ

à H qua mỗi lầ

uk

O w

M ik

O h

của W và H s

new uk

new

rate, 0 < β <1

Để ngăn ngừa huấn luyện, n

t đại lượng gọ

iờ trở thành:

ÂY DỰNG HỆ TH

MF)

ng phương phá

n lớn X thành h

g chính xác càn

ng đó, W∈ℜ|U

g u; và H ∈ℜ

và K<<|I|)

h họa kỹ thuật p

ma trận W và

=

ik

ukh w

1

.h

w

m thế nào để tìm ive function) n

train

D i u

ui

r

,

(

hóa hàm mục

ác giá trị ngẫu

ỏ nhất (conver

ần cập nhật, do

ui

MF = − 2 ( r

ui

MF = − 2 ( r

sẽ được cập nh

old uk

w

w

− β

i

old ik

h

h

− β

1) Quá trình cậ

sự quá khớp h hưng cho kết

i là chính tắc h

HỐNG GỢI Ý SẢ

áp dựa trên mô hai ma trận có

ng tốt [5]

U|×K là một ma

ℜ|I|×K là một ma

phân rã ma trận

H, khi đó xếp

T

h

m được giá trị như RMSE ở c

=

tr

D i u ui

r

,

2

) ˆ

tiêu là dùng S nhiên cho W v rgence) Để làm

o vậy cần phải

ik

ui h

r ) ˆ

uk

ui w

r ) ˆ

hật ngược hướ

MF uk

w O

ol ik MF ik

h

ập nhật sẽ đượ

hay còn gọi là quả kém trên hóa (regulariza

ẢN PHẨM SỬ D

ô hình thành c

ó kích thước n

trận mà mỗi d

a trận mà mỗi

p hạng của ngư

ị của hai tham công thức (2)

∑=

⎛ −

rain

K

k

r

1

SGD (Stochast

và H, sau đó từ

m được điều đ

i tìm đạo hàm

ớng với giá trị

old

w + 2 β ⋅ (

ui

ld + 2 β ⋅ ( r

ợc thực hiện đ

à học vẹt (ove

dữ liệu thử ng ation) để điều

DỤNG PHẢN HỒ

công nhất hiện

nhỏ hơn W và

dòng u là một

dòng i là một

ười dùng u trê

số W và H H

Trong RS, hàm

ik

ukh w

2

tic Gradient De ừng bước cập

đó, ta cần phải từng phần của

ị của đạo hàm

ik ui

r − ˆ )

uk

ui w

r ) ˆ

− đến khi nào hàm

erfitting – xảy ghiệm) người khiển độ lớn

ỒI TIỀM ẨN

nay

(state-H, sao cho

véc tơ bao véc tơ bao

n mục tin i

(3)

Hai tham số

m mục tiêu

escent) [5] nhật giá trị xác định là

a chúng:

(5)

(6)

m, qua công

(7)

(8)

m mục tiêu

y ra khi mô

ta thay đổi của các giá

Trang 4

đ

h

C

S

c

c

m

n

d

th

x

v

N

tậ

d

p

v

A

đ

Trong đ

w uk và h ik được

Quá trìn

định trước

Quá trì

hiện theo công

ui

= 0

Một biế

C Kỹ thuật S

Kỹ thuậ

SVD++ là giải

các thông tin p

cũng thích để l

một đối tượng

này sẽ được gh

dùng, thời gian

hêm các giá tr

xác cao, tỉ lệ lỗ

Quá trìn

Trong c

và item i (user

N(u) là tập cá

ập người dùng

dùng u đã đánh

III ĐỀ X

Trước t

pháp tích hợp v

vấn đề người d

A Phương ph

Đa phần

đánh giá cụ th

đó λ là hệ số c

c cập nhật qua

nh cập nhật gi

ình dự đoán: S

g thức (3) Ví d

.5*0.8 + 0.6*0

ến thể của MF

SVD++

ật SVD++ (Sin

i quyết khá tốt

phản hồi tường

lại đánh giá củ

i mà người dù

hi nhận tự độn

n xem sản phẩ

rị lệch (biases)

ỗi thấp hơn MF

nh dự đoán xếp

công thức này

r bias, item bia

c thông tin ph

g N(u) trên cá

h giá và số K n

XUẤT MÔ H

tiên chúng tôi

và cài đặt các

dùng mới (cold

háp thu thập t

n các hệ thống

hể (thu thập tư

O

chính tắc hóa ( công thức:

new uk

w

new ik

h

iá trị của W v

Sau quá trình h dụ: Dự đoán xế 0.1 = 0.46

dành cho dữ li

ngular Value D

t cho RS với c

g minh (explic

ủa mình trên sả

ùng u đã đánh

ng bởi hệ thốn ẩm,… SVD++

) và các nhân

F do nó sử dụn

p hạng của ng

ui

μ là giá trị tru

as), wu và hi l hản hồi tiềm ẩn

ác items được nhân tố tiềm ẩn

HÌNH GỢI Ý

đề xuất phươn

mô hình dựa d-start problem

thông tin phả

g bán hàng hiệ ường minh) ch

=

train

D i u

MF

O

,

(0 ≤ λ<1) và

old uk w

old ik

và H được lặp

huấn luyện ta

ếp hạng của us

Hình 3 Min

iệu phản hồi tiề

Decomposition các thông tin cit feedback) từ

ản phẩm SVD giá nhưng lại

ng, ví dụ số lần + được xây dự

tố phản hồi ti

ng nhiều yếu tố

gười dùng u trê

b + +

ung bình toàn

là 2 véc tơ nhâ

n của người dù đánh giá Vec

n Bạn đọc có

CHO BÁN H

ng pháp thu th trên phương p

m [2])

ản hồi tiềm ẩn

ện tại thu thập t

ho người dùng

∑=

k u

r

1 2

||

|| ⋅ F là chuẩ ( ruirui

β 2 ( ˆ ( ruirui

p lại cho đến k

được 2 ma trậ ser 2 cho item

nh họa cách dự

ềm ẩn là kỹ thu

n for Implicit F phản hồi tiềm

ừ người dùng D++ hướng đế không quan tâ

n chọn mua sả ựng dựa trên c iềm ẩn [3] Kế

ố phản hồi để

ên sản phẩm i t

u

b + ( w +

cục, bu, bi tươ

ân tố tiềm ẩn ùng u Giá trị

ctor yj là một quan tâm xin

HÀNG TRỰC

hập thông tin p pháp tập hợp m

n

thông tin phản

g chọn mức độ

⋅ +

ik

ukh

2

λ

ẩn Frobenius V

o uk

)

o ik

) khi đạt độ lỗi c

ận W và H đã t

2 trong Hình 3

đoán của MF

uật SVD++ [3]

Feedback) [3]

m ẩn (implicit f đôi khi gặp kh

n việc xác địn

âm đến các giá

ản phẩm, hay

cơ sở của Mat

ết quả dự đoán phân tích dự đ trong SVD++

N j

u

N ) (

(

2 / 1

ơng ứng là độ l của người dùn

yj là vector ch

ma trận có kí xem chi tiết tr

C TUYẾN SỬ

phản hồi tiềm

mô hình (ense

n hồi từ người

ộ yêu thích sản

( W F2 + H

Với hàm mục )

old

k )

ld

k chấp nhận hoặ

tối ưu thì quá 3:

] sẽ được trình

là một biến th feedback) Tro

hó khăn vì khô

nh mối quan tâ

á trị đánh giá đ

số lần duyệt x trix Factorizat

n của SVD++

đoán

được tính theo

i T

u j

h

y )

)

lệch (thiên vị

ng u và item i

hứa các thông ích thước bằng rong tài liệu [3

Ử DỤNG PHẢ

ẩn từ người d emble models

dùng bằng các

n phẩm, như t

)

F

2

c tiêu mới này,

ặc lặp lại đến trình dự đoán

bày trong phầ

hể của MF, đặc ong thực tế việ ông phải ngườ

âm của người d

đó, những giá t xem sản phẩm tion (MF) chu

đã cho thấy c

o công thức:

- bias) của ng

i như trong kỹ

tin phản hồi t

g số sản phẩm 3]

ẢN HỒI TIỀM

dùng, sau đó đ [12]), đề xuất

ch thiết kế sẳn

từ 1 đến 5 sao

(9) giá trị của (10) (11)

số lần quy

n được thực

n tiếp theo

c trưng của

ệc thu thập

ời dùng nào

dùng u đến

trị đánh giá

m của người uẩn kết hợp

có độ chính

(12)

ười dùng u

ỹ thuật MF iềm ẩn của

m mà người

M ẨN

đề xuất giải cách xử lý

n các khung

o, hoặc nút

Trang 5

604 PHƯƠNG PHÁP XÂY DỰNG HỆ THỐNG GỢI Ý SẢN PHẨM SỬ DỤNG PHẢN HỒI TIỀM ẨN

chọn thích/ không thích, khung đánh giá bình luận sản phẩm,… Việc ghi nhận này có thể dẫn đến sự bất tiện cho người

dùng và đa phần người dùng ít khi để lại thông tin phản hồi một cách tường minh như thế Vì thế, chúng tôi đề xuất cách thu thập thông tin phản hồi tiềm ẩn bằng cách cho hệ thống tự ghi nhận lại các đánh giá của người dùng trên các sản phẩm, như dựa trên số lần mua và số lần xem sản phẩm của người dùng hệ thống Ở đó, thông tin số lần mua sản phẩm của người dùng sẽ được ghi nhận và cập nhật dựa trên hóa đơn đặt hàng của họ Nếu một hóa đơn đặt hàng được xét duyệt thì hệ thống cập nhật lại lần mua của khách hàng với các sản phẩm Còn thông tin số lần click xem sản phẩm

cho người dùng được chia ra 2 trường hợp chính: User đăng nhập vào hệ thống ngay khi đến hệ thống hoặc user chưa đăng nhập hoặc chưa đăng ký tài khoản hệ thống

Nếu người dùng đăng nhập vào hệ thống ngay từ đầu thì sau mỗi lần xem sản phẩm hệ thống sẽ tự cập nhật lại số lần xem trong cơ sở dữ liệu Nếu người dùng không đăng nhập hệ thống ngay khi mới đến hệ thống, lúc đó nó sẽ tự động tạo cho người dùng này một account ghi nhận lại số lần xem sản phẩm của họ, cũng như sẽ cập nhật số lần mua cho người dùng này vào tập dữ liệu feedback theo 3 trường hợp:

o Trường hợp 1: nếu user xem xong có đăng nhập vào hệ thống thì số lần xem đó được cập nhật chuyển sang user vừa được đăng nhập đồng thời xóa bỏ account đã tạo tạm

o Trường hợp 2: nếu user xem xong và đăng ký tài khoản mới thì cập nhật thông tin sang cho user vừa đăng ký, xóa

bỏ account đã tạo tạm

o Trường hợp 3: Nếu user xem và rời khỏi hệ thống thì hệ thống sẽ lưu giữ lại thông tin đó cho một user với thông tin user được lấy từ thông tin địa chỉ IP dùng truy cập vào hệ thống Trường hợp này, được ghi nhận để lấy thông

tin dự đoán toàn cục cho các items Giá trị dự đoán toàn cục cho item bằng tổng giá trị trung bình dự đoán của mỗi

item trên các users Hệ thống sử dụng giá trị dự đoán toàn cục này để giải quyết vấn đề gợi ý cho người dùng mới (new user)

B Sử dụng thông tin phản hồi tiềm ẩn và tập hợp mô hình dự đoán

Trong các giải thuật chuẩn của hệ thống gợi ý, thường người ta chỉ chọn một giá trị phản hồi của người dùng (như giá trị rating) Tuy nhiên để tận dụng tối đa các thông tin phản hồi nhằm làm tăng độ tin cậy của mô hình dự đoán, trong

nghiên cứu này, chúng tôi sử dụng 2 thông tin phản hồi, đặc biệt là phản hồi tiềm ẩn, đó là số lần mua sản phẩm và số lần xem sản phẩm của khách hàng để tạo tập dữ liệu feedback Hệ thống sẽ tự động xác định các phản hồi này và dự

đoán đưa ra danh sách các item cần gợi ý mà không cần các đánh giá/xếp hạng tường minh từ người dùng Việc tích hợp 2 thông tin phản hồi này được thực hiện theo phương pháp tập hợp mô hình (ensemble learning [12]) vì vậy nó có thể cho kết quả dự đoán chính xác hơn

Mô hình 1:r1ui là số lần mua của người dùng u trên sản phẩm i, được dự đoán qua công thức

i T u N j j u

i u

) (

2 / 1 1

+ + + +

= μ

(13)

Mô hình 2:r2ui là số lần xem (view/click) của người dùng u trên sản phẩm i, được dự đoán qua công thức

i T u N

u i u

) (

2 / 1 2

+ + + +

= μ

(14) Thực tế thấy rằng, một khi người dùng đã mua sản phẩm, ngầm định rằng họ đã thích/cần sản phẩm đó, do vậy trọng số mức độ yêu thích sản phẩm của người dùng trên số lần mua sản phẩm sẽ cao hơn số lần xem Hơn nữa ở bất kỳ 1 website thương mại điện tử nào, số lần người dùng click/xem sản phẩm là rất lớn trong khi số lần mua nhỏ hơn Để giảm bớt sự chênh lệch này, chúng tôi đề xuất thông tin về số lần mua có trọng số cao hơn số lần xem là θ (trong bài viết này, qua thử nghiệm trên tập dữ liệu ban đầu thu thập được, θ được chọn là 4 Lưu ý rằng đây chỉ là 1 heuristic, và có thể xem

θ như là 1 siêu tham số (hyperparameter) cần phải được xác định trước

Khi đó, giá trị dự đoán sau cùng được xác định qua công thức:

2 ˆ

2 1

θui

ui ui

r r

Chi tiết về giải thuật SVD++ được cài đặt như trong thủ tục SVDPlusPlusSGD Ở đây chúng tôi sử dụng Stochastic gradient descent và các hệ số regularization cũng như tốc độ học được xác định riêng cho từng tham số

Trang 6

1: proce

//λi : Reg

// W[|U|

2: μ =

3: for e

4: b

5: end f

6: for e

7: b

8: end f

9: W :=

10: H :=

11: for

12: C

13:

14: f

15:

16: e

17: e

18: f

19:

20:

21:

22:

23:

24: e

26: end

27: retu

28: end

Sau khi

phẩm cần gợi ý

edure SVDPlu

gularization; βi :

][K] và H[|I|][K

train D r

D

r

train

ach user u do

(

t u

u u

D

r

for

ach item i do

(

tra i

ui i i

D

r

for

= N(0, σ2) /

= N(0, σ2)

(iter:=1; iter <

Chọn ngẫu nh

ui

:= 0

for (k:=1; k<=

ui = μ +

end for

ui ui

for (k:=1; k<=

bu := b

bi := bi

wu := w

hi := hi

∀ N

end for

Break nếu đã

d for

urn {W, H, μ,

d procedure

i dự đoán cho

ý như minh họ

usPlusSGD(D

: Tốc độ học (L

K] là 2 ma trận n

)

train u ui

)

ain

μ

// Initialize wi

<= Iter * |DTrai

hiên một dòng

=K; k++)

i

b + + (

=K; k++)

bu + β1 (eui - λ

i + β2.(eui - λ2

wu + β3(eui.hi

-i + 4.(eui.

yj:= yj +

convergence

bu, bi}

tất cả các item

ọa trong Hình

DTrain, Iter, K, β

LearnRate); Iter

nhân tố tiềm ẩn

// compute t

// compute u

//compute ite

ith normal dist

in|; iter++)

g (u, i, rui) từ D

w + ( )−1

λ1.bu)

2.bi)

- λ3.wu )

5.(eui.| |

m, ta chỉ cần sắ

4

Hìn

β1, β2, β3, β4, β

r: Số lần lặp (Nu

n cần tìm

the global ave

user bias

em bias

tribution

DTrain

T u N

h

y )

) (

2 /

-/ hi - λ5.yj)

ắp xếp lại kết q

h 4 Quy trình g

β5, λ1, λ2,λ3,λ

NumInter); K: Số

erage

i

h

- λ4.hi)

quả giảm dần t

gợi ý

λ4,λ5)

ố nhân tố tiềm ẩ

theo giá trị dự

ẩn (NumFactors

ự đoán và chọn

s);

n top-N sản

Trang 7

606 PHƯƠNG PHÁP XÂY DỰNG HỆ THỐNG GỢI Ý SẢN PHẨM SỬ DỤNG PHẢN HỒI TIỀM ẨN

C Xử lý vấn đề người dùng mới – sản phẩm mới (cold-start problem)

Bất kỳ hệ thống gợi ý nào cũng đều gặp phải khó khăn khi người dùng mới và sản phẩm mới xuất hiện trong hệ thống do ta chưa có thông tin phản hồi trong quá khứ Để khắc phục vấn đề về người dùng mới và sản phẩm mới trong bài viết này, chúng tôi dùng phương pháp gợi ý toàn cục

Đối với người dùng mới khi truy cập vào hệ thống (chưa tạo tài khoản hoặc chưa đăng nhập) chúng tôi sẽ gợi ý toàn cục Top-N sản phẩm có giá trị dự đoán trung bình cao nhất cho họ Đồng thời sẽ tự thêm cho người dùng này một tài khoản để ghi nhận lại thông tin xem sản phẩm của họ, khi người dùng đã click xem đến sản phẩm thứ m (m=3) thì hệ thống sẽ tự động huấn luyện lại mô hình và gợi ý lại các sản phẩm phù hợp với cá nhân người này, quá trình huấn luyện này sẽ được thực hiện lặp lại mỗi 3 lần duyệt xem sản phẩm của người dùng để đáp ứng tính kịp thời của các gợi ý Chúng tôi không chọn huấn luyện lại mô hình gợi ý sau mỗi lần tác động xem hoặc mua sản phẩm vì việc làm này sẽ làm hiệu năng của hệ thống bị giảm xúc; việc chọn 3 hay nhiều hoặc ít hơn số lần tác động này để huấn luyện lại mô hình gợi ý phụ thuộc vào mục đích của từng hệ thống

Đối với sản phẩm mới nhập vào, chúng được hiển thị đầu tiên trên trang web và có biểu tượng 'New' để nhận biết

đây là sản phẩm mới của hệ thống Ngoài ra, khi hiển thị chi tiết mỗi sản phẩm, trang web có một không gian để hiển thị các sản phẩm tương tự với sản phẩm mà người dùng đang xem dựa vào một số thuộc tính tương tự Vì vậy, những sản phẩm mới nhập cũng có thể được gợi ý cho người dùng

IV XÂY DỰNG HỆ THỐNG

Tương tự như những hệ thống thông tin quản lý khác, hệ thống này cũng phải được phân tích, thiết kế các mô hình

và sau đó là tích hợp các giải thuật gợi ý vào hệ thống Do giới hạn về số trang của bài viết, chúng tôi chỉ giới thiệu một vài mô hình cơ bản như bên dưới

Bên cạnh chức năng gợi ý sản phẩm, hệ thống mong đợi sẽ có các chức năng khác như cho khách hàng đặt hàng trực tiếp, ngoài ra hệ thống còn cung cấp các công cụ quản trị như: quản trị sản phẩm, quản trị hóa đơn đặt hàng; quản trị người dùng; quản trị banner cho phép người quản trị thực hiện thêm, sửa và xóa: banner hệ thống chung, slider quảng cáo, banner tin tức, thông tin liên khuyến mãi,…theo từng vị trí; quản trị huấn luyện dữ liệu, kiểm tra mô hình SVD++ Khách hàng muốn thực hiện các chức năng trên chỉ khi khách hàng là thành viên của hệ thống Muốn trở thành thành viên của hệ thống, khách hàng phải đăng ký tài khoản thông qua hệ thống

Một ví dụ về sơ đồ use case của khách hàng được trình bày trong Hình 5 và lược đồ cơ sở dữ liệu của hệ thống được trình bày trong Hình 6

Hệ thống được thiết kế theo mô hình Client –Server Khi người dùng gửi yêu cầu đến Web server thông qua Web Browser được cài đặt tại máy tính người dùng Web server gửi yêu cầu xử lý của người dùng đến Application Server Application Server xử lý yêu cầu và có thể truy xuất dữ liệu từ SQL Database nếu cần Sau khi sử lý xong, Application Server sẽ trả kết quả về cho Web server để chuyển cho người dùng

V KẾT QUẢ MINH HỌA

Để minh họa, mô hình đã đề xuất được áp dụng vào bài toán bán hàng trực tuyến, liên quan đến sản phẩm tin học

và linh kiện máy tính Kết quả minh họa cho các giao diện chính của hệ thống và kết quả đánh giá độ chính xác được trình

bày trong các phần dưới đây

A Một số giao diện minh họa

Hệ thống gợi ý bán hàng trực tuyến được cài đặt theo mô hình ứng dụng web Hệ thống thực hiện ghi nhận thông tin phản hồi từ người dùng (số lần click xem sản phẩm, số lần mua sản phẩm) để làm dữ liệu huấn luyện cho xây dựng mô hình gợi ý Khi mô hình huấn luyện được xây dựng hoàn tất, hệ thống sẽ thực hiện dự đoán mức độ yêu thích của người dùng trên các sản phẩm, đưa ra gợi ý TOP-N các các sản phẩm mới Hệ thống gợi ý sản phẩm này, còn gợi ý cho người dùng mới theo giá trị dự đoán trung bình toàn cục của các sản phẩm, đồng thời liệt kê những sản phẩm tương tự với sản phẩm đang xem, bên cạnh đó còn thể hiện các sản phẩm bán chạy nhất, sản phẩm mới nhất

Gợi ý sản phẩm cho khách hàng: Sau khi người dùng đăng nhập vào hệ thống, sẽ nhận được các sản phẩm gợi ý

dựa trên các phản hồi mà hệ thống ghi nhận được từ người dùng như minh họa trong hình 7

Huấn luyện lại mô hình gợi ý: Chúng tôi cũng xây dựng công cụ hỗ trợ admin huấn luyện lại toàn bộ mô hình gợi ý

sau một thời gian sử dụng như minh họa trong Hình 8 Ngoài ra còn rất nhiều tính năng khác như quản lý khách hàng, giỏ hàng, thanh toán,… tương tự như bất kỳ một hệ thống thương mại điện tử nào khác

Trang 8

Hình 5 Sơ

Hình 6 Lược

đồ use case của

đồ cơ sở dữ liệ

a khách hàng

ệu của hệ thống

Trang 9

B

p

a

T

k

608

B Đánh giá

Chúng

phẩm và 637 đ

a So sánh kế

Kết quả

Thực nghiệm c

kể (chỉ có 0.18

kết quả của c

tôi thu thập th

đánh giá (số lần

ết quả sử dụng

ả kiểm tra dùn

cho thấy rõ ràn

878 trong khi c

Stt l

Tru

PHƯ

các mô hình d

hông tin phản

n mua lớn nhấ

g thông tin ph

ng độ đo MA

ng rằng khi sử chỉ sử dụng mộ

B lần kiểm tra

1

2

3

4

5

6

7

8

9

10

ng bình

ƯƠNG PHÁP XÂ

dự đoán

n hồi từ người

ất là 4, số lần x

hản hồi tiềm ẩn

E cho các mô

ử dụng kết hợp

ột thông tin ph

Bảng 1 So sánh

ui

r ˆ1

0.43 0.43 0.43 0.42 0.43 0.43 0.43 0.43 0.43 0.44

0.40

Hình 7 Gợi

ÂY DỰNG HỆ TH

i dùng thực, tậ xem sản phẩm

n

ô hình ở công

p cả 2 thông tin

ản hồi độ lỗi l

h tỉ lệ lỗi MAE

ý sản phẩm ch

HỐNG GỢI Ý SẢ

ập dữ liệu thu lớn nhất là 12

thức (13), (14

n phản hồi từ lần lượt là 0.40

của các mô hìn

ui

r ˆ2

0.3533 0.3365 0.3466 0.3416 0.3424 0.3431 0.3553 0.3519 0.3486 0.3453

0.3464

o khách hàng

ẢN PHẨM SỬ D

u được gồm 1 2.25)

4), (15) được

người dùng, đ

087 và 0.3464)

nh

ui

0.1848 0.1922 0.1873 0.1917 0.1942 0.1883 0.1864 0.1837 0.1829 0.1869

0.1878

DỤNG PHẢN HỒ

186 người dùn

trình bày tron

độ lỗi MAE giả 4)

ỒI TIỀM ẨN

ng, 174 sản

ng Bảng 1

ảm đi đáng

Trang 10

p

[

li

h

đ

tr

lỗ

1

b So sánh kết

Kết quả

phản hồi tiềm

2][7] như min

Bên cạn

iệu benchmark

http://www.rec

được thu thập

rên độ đo lỗi M

ỗi thấp hơn cá

http://stackov

t quả với các g

ả so sánh trên

ẩn, tỷ lệ lỗi cũ

nh họa trong H

Hình 9 Độ lỗi

nh đó, chúng t

k cung cấp bở

csyswiki.com/w

dữ liệu bán hà

MAE và RMS

ác phương pháp

verflow.com/q

Hìn

giải thuật nền

độ đo chuẩn M ũng thấp hơn

Hình 9

i MAE của các

tôi cũng so sán

ởi cộng đồng wiki/Grocery_

àng trong thán

SE được trình b

áp baseline khá

Hình 10 Độ lỗ

questions/250

nh 8 Giao diện

(baseline) khá

Mean Absolut các phương p

giải thuật dự đo

nh phương phá người dùng n _shopping_dat

ng 12 năm 20

bày trong Hìn

ác

ỗi MAE và RM

14904/downlo

n hỗ trợ huấn luy

ác

te Error (MAE pháp nền khác

oán trên tập dữ

áp sử dụng phả nghiên cứu về tasets Chúng

00, bao gồm 1

h 10 Kết quả

SE của các giải

oad-link-for-ta

yện lại các mô h

E) cho khi sử d như: Global A

liệu thu thập từ

ản hồi tiềm ẩn

ề hệ thống gợi tôi sử dụng tậ

15447 users, 1 này cũng cho

i thuật trên tập d

a-feng-grocery

hình

dụng phương Average, User

ừ người dùng thự

n với các phươ

i ý, các tập dữ

ập dữ liệu

Ta-780 items, và

o thấy sử dụng

dữ liệu Ta-Feng

y-dataset

pháp dành ch

r Average, Item

ực của hệ thống

ơng pháp khác

ữ liệu này có -Feng1 có tên

à 178216 rating

g phản hồi tiềm

g

o thông tin

m Average

g

trên tập dữ tại địa chỉ

là D12, đã

gs Kết quả

m ẩn cho độ

Ngày đăng: 19/01/2020, 00:35

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w