Nguyễ n Duy Phương Trường Đại học Công nghệ Luận án TS. ngành: Khoa ho ̣ c ma ́ y ti ́ nh; Mã số: 62 48 01 01 Người hướng dẫn: PGS.TS. Tư ̀ Minh Phương , PGS.TS. Đinh Ma ̣ nh Tươ ̀ ng Năm bảo vệ: 2011
n mt s cho h n i h Lu TS. ; : 62 48 01 01 ng dn: PGS.TS. , PGS.TS. o v: 2011 Abstract. Gii thiu tng quan v l , cn ch ng ca v d lia lc cng t hp gia lc c c ni dung da th. Ti nghi kh thi ca xut. Keywords. Khoa h; ; ; H n Content PHẦN MỞ ĐẦU 1. Tính cấp thiết của luận án L b n vi mL n c tip c lc dni dung sn phm lc d quen s dng sn phm ci hay c gc cSo vi lc theo ni dung, lc ci kt qu t lc bt k dc cp phi v d liu , i n phm mi cc tip tc u gii quyt. Kt hp gia lc cc ni dung ng d hin trng d liu ca lc cc tu nhiu trong thi gian gn lc kt hp hin nay vn hn ch trong biu ding m ng ca mi nn dng sn phm c Phát triển một số phương pháp lọc thông tin cho hệ tư vấn 2. Mục tiêu của luận án 3. Các đóng góp của luận án L trong 4. Bố cục của luận án , Chƣơng 1 . Chƣơng 2 . Chƣơng 3 . Phần phụ lục C3. theo. CHƢƠNG 1 TỔNG QUAN VỀ LỌC THÔNG TIN 1.1. GIỚI THIỆU CHUNG L ng b p cho m c gn ph n, trang web, phim nh, dch v, phim hoc bt k dc sn sinh ra t n truy 1.1.1. Kiến trúc tổng quát của hệ thống lọc thông tin Mt h thng l m bn lin l n hc. Hình 1.1. Kiến trúc tổng quát của hệ thống lọc thông tin 1.1.2. Lọc thông tin và truy vấn thông tin Mt s phn ca h thng l thng truy vn t s t gia h thng l thn n , sn ph thc hin. 1.1.3. Học máy và lọc thông tin n lp clọc dựa trên tri thức và lọc dựa trên dữ liệu. i vi lc dc, tc lc b dt. Mi lut biu din nhu cc mt mn lc. Mi quynh lc s c thc hin nu nhu kin ca lu c tha i lc d p cn d lic cho Biểu diễn Thông tin sản phẩm Biểu diễn Thông tin sản phẩm Thông tin các sản phẩm Sản phẩm phù hợp với người dùng Hồ sơ người dùng Cập nhật thông tin huấn luyện Thông tin đặc tả người dùng Phản hồi người dùng Thành phần học Thành phần mô hình người dùng Thành phần lọc Thành phần phân tích dữ liệu Người dùng Nhà cung cấp thông tin n l dng t d li thng thu thc b dng k thut thp cp nht quy tc ln ti tri thng thi chng l tt vp cn dc bing d liu lng. So vi lc dc, lc d liu nhi 1.1.4. Lọc thông tin và các hệ tƣ vấn H c s dng ru ng d nhau ca khoa hm gi thich v n v i dng, bao gmn dc ni n dc cng n dc kt hp. 1.2. PHƢƠNG PHÁP LỌC THEO NỘI DUNG Lc theo nc hin d , ng sn phm t vi nhng gii thiu cho h nhng sn php cn cho lc theo nc ni dung d nh c ni dung dng vn cn tip tu ca lc n chi. 1.3. PHƢƠNG PHÁP LỌC CỘNG TÁC Lc c i s dng sn ph n ph p cn cho lc cc ca nh c cng vn cn tip tu ca lc c d liu , v n phm mi. 1.4. PHƢƠNG PHÁP LỌC KẾT HỢP Lc kt ht hp gia lc cc ni dung, nhm tn dng li th ng hn ch ca mLc kt hc tip cn theo bn xu t hp tuyt ha lc nc ct hp a lc cc np nht cho c lc c c ni dung. V cn tip tu ca lc kt hu qu u di t hp. 1.6. KẾT LUẬN Lc theo ni dung thc hin hiu qu v c biu di i di dung n. Lc ci kt qu ti lc n lc bt k d p phng hp d liu i sn phm mi. Lc kt hp ch u qu nt hp gii quy c nh thun trong d c nc cy, trng tu ca luvn d liu ca lc c kt hp hiu qu gia lc c c ni dung. CHƢƠNG 2 LỌC CỘNG TÁC BẰNG PHƢƠNG PHÁP HỌC ĐA NHIỆM 2.1. ĐẶT VẤN ĐỀ Gi s h gm N U = {u 1 u N }, M sn phm P = {p 1 , p 2 p M } vi ma trR =(r ij ). Nhim v ca lc c n thi u a n php nht vi u a da R = (r ij ). i v thng lc c |U| ng sn phm |P| t ln. Tuy vy, m t s r n pho r ij r ij nh t nhiu ln s r ij =. Lc ci v v d li. V d liu u c c m nh t c bit, v i cu. 2.2. LỌC CỘNG TÁC BẰNG PHÂN LOẠI c c i t ng ca ha nhng sn phi m i s n luyn. Mc s d chia sn phm m phù hợpkhông phù hợp i vai n phng b lo t sn phm c th phù hợpkhông phù hợpi vi 2.2.1. Phát biểu bài toán lọc cộng tác bằng phân loại Cho ma trR = (r ij ca ma trng vi t; t ca ma trng vi tp sn phm; n t r ij ca ma trng va i i vi sn ph ng, m t tp rt nh r ij trng. Nhim v c tr ng cho ma ma tr thc hin d t b i s Mi b i d rng cho ma ma tri b loi thc hin hun luy hun luyn; m hun luyc biu din i dng m; mng vi mi n d c a ma tr. Ni hun luy cn thi. 2.2.2. Phân loại bằng phƣơng pháp Boosting Boo ra b bt hp nhiu b c g loi yu. Da k thut Boosting xu dng. Lu dn Gentle AdaBoost (vit t GentleBoost) xum c n, n t qu i tt trong nhiu ng dng. ng hi hai l sau. Cho tp d liu hun luyn bao gm M (x 1 , y 1 x M , y M ) vi x i c y i i nh y i = +1 hoc y i = ng vthích hợp không thích hợp i mnh F(x c t hp tuy K k k xfxF 1 )()( f k (x i y i x. Kt qu i cuc to ra bF (x)). Thum K lp c th hi Đầu vào: M x 1 , y 1 ), , (x M , y M x i y i y i y i = 1. Đầu ra: Trả lại ])([sign)]([sign 1 K k k xfxF Các bƣớc thực hiện: 1. w i = 1/M, i = 1 M, w i i. F (x) = 0 2. k K a. f k (x b. F (x) F (x) + f k (x) c. )( iki xfy ii eww 3. ])([sign)]([sign 1 K k k xfxF Hình 2.1. Thuật toán GentleBoost. Tc (a) ca mp, thua chn f k (x) sao cho sai s i nht: M i ikii xfywJ 1 2 ))(( (2.1) c b c tinh b i yu f k (xc tii trng s. i yc s dc quynh. Gc quynh n ct nh vi mt. Gc quynh la chn m hun luyn, sau thu c 1 hay nh c biu din bi cc 2.2. txbtxaxf ff k (2.2) (e) = 1 nu e (e) = 0 nc li, t ng, a b , x f f cxng hp d li bao g o chng t i, gc quyc hichi gc ch chn mt. n luy chn ra gc tt nhc thc hin b tt c f c tii m ca f ta a b thui thin ch tham s tng 0. i i f i f ii xw xyw a )0( )0( (2.3) i i f i f ii xw xyw b )0( )0( (2.4) tr f , a b c cho sai s d nht s c ch to ra b i f k (xp th k. B i yu f k (x i F (xc b). T y i f k (x i ) ng s y i f k (x i ) >0 b gim trng s. V khin b i i nh hi i sai. Mệnh đề 2.1. Thuật toán GentleBoost cực tiểu hóa hàm lỗi khi phân loại thông qua các bước của phép khai triển Niutơn. 2.3. PHÂN LOẠI VỚI CÁC ĐẶC TRƢNG CHUNG 2.3.1. Phƣơng pháp học đa nhiệm c hing thi cho nhiu nhim v kt qu d c gi lm. Bng vic suy ding thi gia m v, h c nhng tri thc t nhiu nhim v t qu d i nhim v . Vi nh ng nhim v l v hun luy t qu d i nhim v b nhm v. Lc c c thc hi m bng k thut thc hic ci tin bi mm sai s cho mi, thu gim sai s ng thi cho mt ti. Vi m lp thuc mt đặc trưng chung cho tt c i trong tp con c chn. , chuyn giao t qu d 2.3.2. Boosting đồng thời cho nhiều bài toán phân loại Vi tp N U; M sn phm U r ij t c N n, n N c cho bi M hun luyn (x n 1 , y n 1 x n M , y n M y n j = r nj n cho sn phm jx nj = (r 1j r (n-1)j , r (n+1)j r Nj a tt c n phm j tr i n. Cng, ch nhng cr nj mc s d hun luyn kn li nh r nj = . Nh ng s bng ti kt qu hun luyn. M hun luyn th j s ng vi n trng s w n j , n N. Mi trng s c s d i b i th n; w n j = 0 nu r nj = 0 tc j n luyn b i n. Sai s ng tng sai s cho tt c N b i: M i i n k n i n i N n xfywJ 1 2 1 ))(( (2.13) Ti mi vp n, gi S(tf tt nht cho t phc, thut c c S(tn gc quyng sao cho sai s nh nht. Gnh s )( khi )( khi )0()0( ),( tSnc tSnxbxa txf n f S f S n k (2.14) gnh ph thuc tp con S(tc chp con f k a tu ),( txf n k c hiu i yu tc th n k p con S(ti. thup con S(tn vit li a tham s t M i i n k n i n i N n txfywtJ 1 2 1 )),(()( (2.15) n so vi gc quynh phc quynh (2.15) ng hn thuc tp con S(tng hng hp n c S(tf k (x) s t bng hng s c n tng hp la chn b i m ch s ng gi hun luy1 (chng hng h t Vi mi tp con S(t), gic ti (2.15) ta nhc: , )0( )0( )( )( 1 )( 1 tSn M i f i n i tSn M i f i n i n i S xw xyw fa (2.16) , )0( )0( )( )( 1 )( 1 tSn M i f i n i tSn M i f i n i n i S xw xyw fb (2.17) M i n i M i n i n i n w yw c 1 1 , nk S(t) (2.18) Ti mc lp, thu la chn tp con S(t) tt nht, t i (2.15) nh nhc quynh tt nht cho tu F n (x loi th nc th hi Đầu vào: N n, n M M x n 1 , y n 1 ), , (x n M , y n M ). Đầu ra: F n (x)] Các bƣớc thực hiện: 1. w n j r nj w n j r nj = , i = 1, , M; n = 1, , N F n (x) = 0 2. k K a. S(t) i. a S , b S c n theo (2.16), (2.17), (2.18) ii. M i i n k n i n i N n txfywtJ 1 2 1 )),(()( b. S(t )(minarg * tJt t c. ),()()( * txfxFxF i n k nn d. ),( * txfy n i n i ik n i eww 3. F n (x)] Hình 2.4. Thuật toán MC-Boosting cải tiến sử dụng đặc trưng chung cho nhiều bài toán Mệnh đề 2.2. Thuật toán MC-Boost cực tiểu hóa hàm lỗi khi phân loại thông qua các bước của phép khai triển Niutơn. Mệnh đề 2.3. Số lượng các tập con S(t) cần duyệt của MC-Boost là O(KN 2 ). Trong đó, K là số vòng lặp, N là số lượng người dùng. 2.4. THỬ NGHIỆM VÀ KẾT QUẢ 2.4.1. Phƣơng pháp thử nghiệm n, mt phn U tr c s dng liu hun luyn, phi U te c s d kim tra. D liu hun luyc s d i mc tp d liu kim tra un O u P u . O u P u n d d liu hun luyO u . Sai s d MAE u vi mu thuc tp d liu ki sai s tuyi gi d thi vi tt c sn phm thuc tp P u . 2.4.2. Dữ liệu thử nghiệm Thuc cc th nghi d li d lic s d c c 2.4.3. Kết quả thử nghiệm P vn i nh n nht s d d Mc 2.2.2. ng h d liu, c th c nhi trong tp kit qu ti MC Boost. git qu c tri vi tng i, trong khi MC Boost ch ch i. li th bic 5 hoi MAE nh i GentleBoost ng h yt h nh t vy gic ng ca vic thii. Bảng 2.1. Kết quả thử nghiệm với MovieLens 5 10 20 KPC 0.378 0.337 0.328 GentleBoost 0.350 0.322 0.291 MC Boost 0.329 0.305 0.292 KPC 0.361 0.330 0.318 GentleBoost 0.333 0.314 0.284 MC Boost 0.314 0.299 0.289 KPC 0.348 0.336 0.317 GentleBoost 0.325 0.304 0.279 MC Boost 0.308 0.298 0.283 Bảng 2.5. Kết quả thử nghiệm với EachMovie p 5 10 20 KPC 0.559 0.474 0.449 GentleBoost 0.515 0.455 0.421 MC Boost 0.492 0.460 0.429 KPC 0.528 0.450 0.422 GentleBoost 0.495 0.424 0.393 MC Boost 0.484 0.419 0.393 600 KPC 0.521 0.437 0.378 GentleBoost 0.477 0.408 0.362 MC Boost 0.452 0.397 0.365 2.4.4. Phân tích kết quả th ni tri c a 10 ln kim nghim ngp d liu kim tra tit paired t-test. ni tri thp (Statistical Significance) trong tt c d liu hun luyu nh ng t MAE c MC--Boost cho li kt qu i t 2.5. KẾT LUẬN m cho lc c n dn tng ca k thui Boosting kt hp vn t ci tin ca thu vic la chi b i yc thc hing th nhau. m ch yu cng thi ti s d nh nhau, nh vy ci thi i khi d liu t( n d rn ph). Kt qu th nghi d liEachMovie xut cho kt qu tnhng ng hp d liu . CHƢƠNG 3 LỌC KẾT HỢP DỰA TRÊN MÔ HÌNH ĐỒ THỊ 3.1 . VẤN ĐỀ LỌC KẾT HỢP 3.1.1. Bài toán lọc kết hợp Gi s h N U = {u 1 , u 2 ,…, u N M sn phm P = {p 1 , p 2 , , p M }. Mi u i U i vi sn phm p j P bng mt s r ij . M r ij nh trong mt t ri r n, coi r ij nh +1, -1, 0. Gi C = { c 1 , c 2 , ,c K K hin nn phm P. u ma trn Y = (y ij ) biu th mi quan h gia sn phi dung sn phm c (3.2). 1 1 ij r Nếu người dùng u i đã thích hợp phân bổ sản phẩm p j Nếu người dùng u i không thích hợp phân bổ sản phẩm p j (3.1) Nếu người dùng u i chưa đánh giá sản phẩm p j 0 1 ij y (3.2) Nhim v ca lc kt h n thi u a nhng sn phm p k P c u a r ij i dung C = { c 1 ,c 2 , ,c K }. 3.2. LỌC CỘNG TÁC DỰA TRÊN MÔ HÌNH ĐỒ THỊ 3.2.1. Phƣơng pháp biểu diễn đồ thị th cho lc c ca lc cR = (r ij c (3.1). Gi X=(x ij n cp N M n t h 1 ij x ng vi trng u i n phm p j , 0 ij x ng vi tr n phm p j . otherwise rif x ij ij 0 1 (3.3) th biu dii vn phm (Gi t i - Sn phm) G =(V, Ec biu din theo ma trn Xnh V = U P (U tP p sn phm); tp cnh E bao gm tnh biu dia i vi sn phm. Cnh ni ginh u i U nh p j P c thit lp nu u i n phm p j ( 1 ij x ). Trng s ca mi cc lng r ij y, trong biu di th - Sn ph : C trng s r ij =+1 biu diu i thíchn phm p j , cng s r ij =- 1 biu diu i không thíchn phm p j . 3.2.2. dự đoán trên đồ thị Ngƣời dùng- Sản phẩm - : - 3.2.2.1, 3.2.2.4. 3.2.2.1. Tách đồ thị Ngƣời dùng- Sản phẩm thành các đồ thị con th - Sn phm G =(V, E) X = (x ij ) N×M c 3.2.1. ij xX N×M (3.4). ij xX N×M nh theo (3.5). otherwise rif x ij ij 0 01 (3.4) otherwise rif x ij ij 0 01 (3.5) th G + =(V, E + c biu din theo ma trn X + G, p cnh E + G. nếu sản phẩm p i có đặc trưng nội dung c j nếu sản phẩm p i không có đặc trưng nội dung c j c j . dng sn phm c Phát triển một số phương pháp lọc thông tin cho hệ tư vấn . n hc. Hình 1.1. Kiến trúc tổng quát của hệ thống lọc thông tin 1.1.2. Lọc thông tin và truy vấn thông tin Mt s phn ca h thng l