Đăng ký Đăng nhập
Trang chủ Công nghệ thông tin Quản trị mạng Giới thiệu về apache mahout...

Tài liệu Giới thiệu về apache mahout

.PDF
13
1687
125

Mô tả:

Giới thiệu về Apache Mahout
Gi i thi u v Apache Mahout Page 1 of 13 Gi i thi u v Apache Mahout ! M c " # : Trung bình Grant Ingersoll, K s ph n m m cao c p, Center for Natural Language Processing at Syracuse University 18 12 2009 M t khi l nh v c c quy n c a các vi n nghiên c u và các t ng công ty có ngân sách nghiên c u l n là các ng d ng thông minh h c c t các d li u và u vào c a ng i dùng ang tr nên ph bi n h n. Nhu c u v các k thu t h c máy nh phân c m, l c c ng tác và phân lo i ch a bao gi l n h n bây gi , do nó cho phép th y c s t ng ng gi a các nhóm ông ng i ho c t ng thêm vào kh i l ng l n n i dung Web. D án Apache Mahout làm cho vi c xây d ng các ng d ng thông minh d dàng h n và nhanh h n. Ng i ng sáng l p Mahout Grant Ingersoll gi i thi u các khái ni m c b n v h c máy r i trình di n cách s d ng Mahout phân c m các tài li u, bình lu n và t ch c n i dung. D n d n s thành công c a các công ty và nh ng cá nhân trong th i i thông tin ph thu c vào cách h chuy n s l ng l n d li u sang thông tin hành ng m t cách nhanh và hi u qu nh th nào. Cho dù ó là x lý hàng tr!m ho c hàng ngàn th i n t (e-mail) cá nhân m t ngày ho c oán bi t ý "nh c a ng i dùng t hàng tri u t# byte (petabyte) c a các weblog, s c n thi t có các công c có th t ch c và t!ng c ng d li u ch a bao gi l i l n n nh v y. $i m then ch t c a gi thuy t và tri n v ng c a l nh v c h c máy và d án mà bài vi t này gi i thi u là: Apache Mahout (xem Tài nguyên). H c máy là m t l nh v c c a trí tu nhân t o, c p các k thu t cho phép các máy tính c i thi n k t qu u ra c a chúng d a trên kinh nghi m có tr c. L nh v c này liên quan ch t ch% n vi c khai thác d li u và th ng s d ng các k thu t t th ng kê, lý thuy t xác su t, nh n d ng và m t lo t các l nh v c khác. M c dù h c máy không ph i là m t l nh v c m i, nó phát tri n ch&c ch&n. Nhi u công ty l n, g m c IBM®, Google, Amazon, Yahoo! và Facebook, ã tri n khai th c hi n các thu t toán h c máy trong các ng d ng c a h . Càng ngày càng có nhi u công ty s% c h ng l i t vi c s d ng h c máy trong các ng d ng c a mình tìm hi u v ng i dùng và nh ng tình hu ng quá kh . Sau khi a ra m t t ng quan ng&n v khái ni m h c máy, tôi s% gi i thi u cho b n v các c tính, l"ch s và các m c tiêu c a d án Apache Mahout. Sau ó, tôi s% cho b n th y cách s d ng Mahout th c hi n m t s nhi m v h c máy thú v" b'ng cách s d ng t p d li u Wikipedia có s(n sàng mi n phí. 101 cách h c máy H c máy s d ng m t lo t y t vi c ch i trò ch i phát hi n gian l n n phân tích th" tr ng ch ng khoán. Nó c s d ng xây d ng các h th ng nh các h th ng Netflix và Amazon xu t các s n ph)m cho ng i dùng d a trên các vi c mua hàng tr c ây ho c các h th ng tìm t t c các bài vi t th i s t ng t trong m t ngày c th . Nó c*ng có th c dùng phân lo i t ng các trang Web theo th lo i (th d c th thao, kinh t , chi n tranh và v.v) ho c ánh d u e-mail là th rác. Vi c s d ng h c máy có nhi u th h n là tôi có th trình bày trong bài vi t này. N u b n quan tâm n vi c khám phá l nh v c này sâu h n, tôi khuyên b n nên tham kh o ph n Tài nguyên. M t s cách ti p c n n h c máy th ng s d ng gi i quy t các v n . Tôi s% t p trung vào hai v n cs d ng chung nh t — h c có giám sát và h c không giám sát — vì chúng là nh ng v n chính c Mahout h+ tr . H c có giám sát c giao nhi m v h c m t ch c n!ng t d li u hu n luy n c ghi nhãn d oán giá tr" c a b t k, u vào h p l nào. Các ví d th ng g p c a h c có giám sát g m vi c phân lo i các e-mail là th rác, ghi nhãn các trang Web theo th lo i c a chúng và nh n d ng ch vi t tay. Nhi u thu t toán c s d ng t o nh ng trình h c (learner) có giám sát, ph bi n nh t là các m ng th n kinh, Support Vector Machines (SVMs-Các máy Vect h+ tr ) và các trình phân lo i (classifier) Naive Bayes. H c không giám sát, nh b n có th oán, cái gì là úng hay sai. Nó h u nh th ng c giao nhi m v có ý ngh a v d li u mà không có các ví d b t k, v c s d ng phân c m u vào t ng t thành các nhóm h p lý. Nó Gi i thi u v Apache Mahout c*ng có th dùng phát hi n các xu h b n t t ch c. Page 2 of 13 gi m s l ng chi u trong m t t p d li u ch- t p trung vào các thu c tính có ích nh t ho c ng. Các cách ti p c n ph bi n h c không giám sát g m k-Means, phân c m theo phân c p và $ i v i bài này, tôi s% t p trung vào ba nhi m v h c máy c th mà Mahout hi n nay tri n khai th c hi n. Chúng ng.u nhiên là ba l nh v c th ng c s d ng trong các ng d ng th c t : L c c ng tác Phân c m Phân lo i Tôi s% xem xét sâu h n m+i m t nhi m v này Mahout. m c khái ni m tr c khi kh o sát vi c th c hi n c a chúng trong L c c ng tác L c c ng tác (Collaborative filtering-CF) là m t k thu t, c Amazon và nh ng hãng khác ph bi n, s d ng thông tin c a ng i dùng nh s x p lo i, s nh n chu t và s mua hàng a ra nh ng bình lu n cho ng i dùng c a trang Web khác. CF th ng c s d ng bình lu n các m c cho ng i dùng nh là sách, âm nh c và phim nh, nh ng nó c*ng c s d ng trong các ng d ng khác, n i nhi u di n viên c n ph i c ng tác thu h/p b t d li u. Có th b n ã nhìn th y CF ang ho t ng trên Amazon, nh trong Hình 1: Hình 1. Ví d v l c c ng tác trên Amazon D a vào m t t p nh ng ng i dùng và các m c, các ng d ng CF cung c p các bình lu n cho ng h th ng. B n cách t o các bình lu n i n hình: D a vào-ng i dùng: Bình lu n các m c b'ng cách tìm nh ng ng r ng do c tính ng c a ng i dùng. i dùng t i dùng hi n t i c a ng t . $i u này th D a vào-m c: Tính toán s gi ng nhau gi a các m c và a ra các bình lu n. Các m c th nhi u, do ó, i u này th ng có th c c tính ngo i tuy n (offline). Nghiêng v m t phía: M t cách ti p c n bình lu n d a vào m c r t nhanh chóng và khi ng i dùng ã a ra s x p lo i (và không ch- theo logic úng/sai). D a vào-mô hình: $ a ra các bình lu n d a vào phát tri n mô hình c a nh ng ng chúng. ng khó m ng không thay n gi n có th áp d ng i dùng và s x p lo i c a T t c các cách ti p c n c a CF k t thúc vi c tính toán m t khái ni m t ng ng gi a ng i dùng và các m c ã ánh giá c a h . Có nhi u cách tính toán s t ng ng và h u h t các h th ng CF cho phép b n g&n vào các phép o khác nhau b n có th xác "nh phép o nào ho t ng t t nh t i v i d li u c a b n. Phân c m i Gi i thi u v Apache Mahout Page 3 of 13 D a vào các t p d li u l n, cho dù chúng là v!n b n ho c s , t ng nhóm v i nhau, ho c phân c m, các m c t ng t th ng r t có ích. Ví d , c!n c vào t t c các tin t c trong ngày t t t c các t báo Hoa K,, b n có th mu n t ng nhóm t t c các bài vi t v câu chuy n gi ng nhau cùng v i nhau, sau ó b n có th ch n t p trung vào các nhóm và các câu chuy n c th mà không c n ph i v t v l t qua nhi u vi c không liên quan. M t ví d khác: c!n c vào u ra t b c m bi n trên máy trên toàn b th i gian, b n có th nhóm các k t qu u ra xác "nh ho t ng bình th ng so v i ho t ng có v n , vì các ho t ng bình th ng s% nhóm t t c l i v i nhau và các ho t ng b t th ng s% trong các nhóm khác. Có nhi u cách ti p c n tính toán các c m, m+i c m có s th0a hi p riêng c a mình. M t s cách ti p c n th c hi n t d i lên, xây d ng các c m l n h n t cái nh0 h n, trong khi nh ng cách khác l i chia m t c m l n thành nhi u c m càng nh0 h n càng t t. C hai u có tiêu chu)n thoát ra kh0i quá trình này t i m t s i m tr c khi chúng phân ra thành m t s bi u di n c m t m th ng (t t c các m c trong m t c m ho c t t c các m c trong c m riêng c a chúng). Các cách ti p c n ph bi n g m phân c m k-Means và phân c m theo h th ng phân c p. Nh tôi s% trình bày sau, Mahout i kèm v i m t s cách ti p c n phân c m khác nhau. Phân lo i M c tiêu c a s phân lo i (th ng c g i là phân l p-classification) là ghi nhãn các tài li u vô hình, theo ó nhóm chúng l i v i nhau. Nhi u cách ti p c n phân lo i theo cách h c máy tính toán m t lo t các s li u th ng kê k t h p các c tính c a m t tài li u v i nhãn c th , vì th t o m t mô hình có th c s d ng sau này phân lo i các tài li u vô hình. Ví d , m t cách ti p c n n gi n cho vi c phân lo i có th theo dõi các t có liên k t v i m t nhãn, c*ng nh s l n nh ng t c nhìn th y v i m t nhãn nh t "nh. Sau ó, khi m t tài li u m i c phân lo i, c các t trong tài li u này c tìm ki m trong mô hình này, các kh n!ng x y ra c tính toán và k t qu t t nh t a ra, th ng là cùng v i m t i m s cho th y s tin t ng là k t qu chính xác. Các c tính phân lo i có th g m các t , các tr ng s i v i nh ng t ó (ví d , d a trên t n su t), các ph n c a bài phát bi u, v.v. T t nhiên, các c tính th c s có th là b t c i u gì ó tr giúp liên k t m t tài li u v i m t nhãn và có th c tích h p vào thu t toán. L nh v c h c máy l n và m nh m%. Thay vì t p trung nhi u h n vào lý thuy t, mà nó không th th c hi n hoàn toàn thích h p ây, tôi s% ti n lên và i sâu nghiên c u Mahout và cách s d ng c a nó. Gi i thi u v Mahout Apache Mahout là m t d án mã ngu n m m i c a Apache Software Foundation (ASF-Qu ph n m m Apache) v i m c tiêu chính là t o các thu t toán h c máy có kh n!ng m r ng, các thu t toán này là mi n phí s d ng theo gi y phép Apache. D án này ang b c vào n!m th hai c a mình, v i b n phát hành công khai trong ph m vi c a nó. Mahout bao g m các vi c th c hi n phân c m, phân lo i, CF và l p trình ti n hóa. H n n a, nó khôn khéo s d ng th vi n Apache Hadoop cho phép Mahout m r ng hi u qu trong ám mây này (xem Tài nguyên). L ch s Mahout D án Mahout c b&t u b i m t s ng i tham gia vào c ng ng Lucene Apache (tìm ki m mã ngu n m ) v i m t s quan tâm tích c c trong vi c h c máy và mong mu n v th c hi n m nh m%, có y các tài li u c n thi t, có kh n!ng m r ng c a các thu t toán h c máy ph bi n cho vi c phân c m và phân lo i. C ng ng này ban u c báo "Map-Reduce for Machine Learning on Multicore" (MapReduce cho h c máy theo a lõi) c a Ng và c ng s (xem Tài nguyên) nh ng ã phát tri n trình bày các cách ti p c n h c máy r ng h n. Mahout c*ng nh'm m c ích: Tên có ngh a gì? Mahout (ng i qu n t ng) là m t ng i nuôi và i u khi n m t con voi. Tên Mahout xu t phát t vi c s d ng (tr c ây) d án c a Apache Hadoop — trong ó con voi màu vàng là bi u t ng c a nó — v i kh n!ng m r ng và có kh n!ng ch"u l+i. Xây d ng và h+ tr m t c ng ng nh ng ng i dùng và nh ng ng i óng góp sao cho mã này v k, tác ng nào c a ng i óng góp c th , b t k, công ty, ho c qu tài tr i h c. T p trung vào tr ng h p s d ng th c t , th gi i th c, i l p v i nghiên c u hay các k thu t m i. t trên b t Gi i thi u v Apache Mahout Page 4 of 13 Cung c p các tài li u và ví d có ch t l Các ng. c tính M c dù t ng i m i trong thu t ng mã ngu n m , Mahout ã có m t s l quan n vi c phân c m và CF. Các c tính chính c a Mahout là: Taste CF. Taste là m t d án mã ngu n m cho CF c kh i u b i Sean Owen trên SourceForge và c t ng cho Mahout vào n!m 2008. M t s vi c th c hi n phân c m c a Map-Reduce có s(n, g m k-Means, fuzzy k-Means, Canopy, Dirichlet và Mean-Shift. Các vi c th c hi n phân lo i Naive Bayes phân tán và Naive Bayes ph . Các kh n!ng c a hàm phù h p phân tán hóa. i v i l p trình ti n ng l n các ch c n!ng, c bi t liên M t vài l i v Map-Reduce Map-Reduce là m t API l p trình phân tán c Google phát minh ra và c th c hi n trong d án Apache Hadoop. $ c k t h p v i m t h th ng t p phân tán, th ng nó làm cho các v n song song hóa tr nên d dàng h n b'ng cách cung c p cho các l p trình viên m t API rõ ràng mô t công vi c tính toán song song. (Xem ph n Tài nguyên bi t thêm thông tin.) Các th vi n ma tr n và vect . Các ví d v t t c các thu t toán B t trên. u v i Mahout B&t u và th c hi n v i Mahout là t ây: ng i n gi n. $ kh i ng, b n c n ph i cài t các i u ki n c n tr c sau JDK 1.6 ho c cao h n Ant 1.7 ho c cao h n Maven 2.0.9 ho c 2.0.10, n u b n mu n xây d ng mã ngu n Mahout B n c*ng c n mã m.u c a bài vi t này (xem ph n T i v ), trong ó có m t b n sao c a Mahout và các ph thu c c a nó. Hãy th c hi n theo các b c sau cài t mã m.u: 1. unzip sample.zip 2. cd apache-mahout-examples 3. ant install B c 3 t i v các t p Wikipedia c n thi t và biên d"ch mã. Các t p Wikipedia th gian t i v s% ph thu c vào b!ng thông c a b n. ng dùng x p x- 2,5GB, vì th th i Xây d ng m t máy bình lu n Mahout thi n ang cung c p các công c xây d ng m t máy bình lu n thông qua các th vi n Taste — m t máy nhanh và linh ho t cho CF. Taste h+ tr bình lu n d a vào ng i dùng và d a vào m c và i kèm v i nhi u s l a ch n xây d ng các bình lu n, c*ng nh các giao di n cho b n "nh ngh a riêng c a b n. Taste g m n!m thành ph n chính làm vi c v i User (nh ng ng i dùng), Item (các m c) và Preference (các s thích): DataModel: L u tr cho các User, các Item, và các Preference. UserSimilarity: Giao di n "nh ngh a s t ng ng gi a hai ng i dùng. ItemSimilarity: Giao di n "nh ngh a s t ng ng gi a hai m c. Recommender: Giao di n cung c p các bình lu n. UserNeighborhood: Giao di n tính toán m t vùng lân c n c a nh ng ng i dùng t Recommender (Nh ng ng i bình lu n) s d ng. ng t có th c Các thành ph n này và các vi c th c hi n c a chúng giúp cho nó có th xây d ng các h th ng bình lu n ph c t p cho Gi i thi u v Apache Mahout Page 5 of 13 ho c các bình lu n d a trên th i gian th c ho c các bình lu n ngo i tuy n (offline). Các bình lu n d a trên th i gian th c th ng có th làm vi c v i vài nghìn ng i dùng, trong khi các bình lu n ngo i tuy n có th m r ng l n h n nhi u. Taste th m chí i kèm v i các công c có s d ng Hadoop tính toán các bình lu n ngo i tuy n. Trong nhi u tr ng h p, ây là m t ti p c n h p lý cho phép b n áp ng các yêu c u c a m t h th ng l n có r t nhi u ng i dùng, các m c và các s thích. $ gi i thích vi c xây d ng m t h th ng n gi n, tôi c n m t s ng i dùng, các m c, và các s x p lo i. V i m c ích này, tôi ng.u nhiên ã t o m t t p l n các User và các Preference cho các tài li u Wikipedia (các Item theo cách nói Taste) khi s d ng mã trong cf.wikipedia.GenerateRatings (có trong mã ngu n v i mã m.u) r i b sung i u này b'ng m t t p các s x p lo i th công xung quanh m t ch c th (Abraham Lincoln) t o t p recommendations.txt cu i cùng có trong ví d này. Ý t ng 'ng sau cách ti p c n này là ch- ra cách CF có th h ng d.n nh ng ng i hâm m m t ch c th t i các tài li u quan tâm khác trong ch ó. Trong ví d , d li u là 990 (có nhãn 0-989) ng i dùng ng.u nhiên, nh ng ng i ã ch- "nh các s x p lo i ng.u nhiên cho t t c các bài vi t trong b s u t p và 10 ng i dùng ( c ghi nhãn 990-999), nh ng ng i ã ánh giá m t ho c nhi u bài trong s 17 bài vi t trong b s u t p có ch a c m t Abraham Lincoln. $ b&t u, tôi s% gi i thích cách t o các bình lu n cho m t ng i dùng d a vào t p x p lo i trong t p recommendations.txt. Nh là tr ng h p v i h u h t các l n s d ng Taste, b c u tiên là n p d li u có ch a các bình lu n và l u tr nó trong m t DataModel. Taste i kèm v i m t s vi c th c hi n khác nhau c a DataModel làm vi c v i các t p và các c s d li u. V i ví d này, tôi s% gi cho tình hình n gi n và s d ng l p FileDataModel, nó d ki n m+i dòng ph i có d ng: mã nh n d ng (ID) c a ng i dùng, ID c a m c, s thích — ây c ID ng i dùng l.n ID m c là các chu+i, trong khi s thích có th là m t chu+i kép. C!n c vào m t mô hình, tôi c n ph i cho Taste bi t cách nó nên so sánh nh ng ng i dùng b'ng cách khai báo m t vi c th c hi n UserSimilarity. Tùy thu c vào vi c th c hi n UserSimilarity c s d ng, b n c*ng có th ph i nói cho cho Taste cách suy ra các s thích n u thi u m t giá tr" cài t rõ ràng cho ng i dùng. Li t kê 1 t t t c nh ng t này vào trong mã (cf.wikipedia.WikipediaTasteUserDemo trong mã m.u có ch a li t kê y .) Li t kê 1. T o mô hình và ! nh ngh a s t " # " ng $% ng c a ng & & " Hãy coi ch ng d li u có s n! Ví d c trình bày ây có ch a d li u có s(n hoàn toàn. Tôi ã t th c hi n t t c x p lo i, mô ph0ng 10 ng i dùng th c t , nh ng ng i mu n có thông tin v Abraham Lincoln. Trong khi tôi tin r'ng khái ni m 'ng sau d li u này là áng quan tâm, thì chính d li u và các giá tr" c s d ng l i không áng tin. N u b n mu n d li u th c, tôi khuyên b n nên ki m tra d án GroupLens t i $ i h c Minnesota và tài li u h ng d.n Taste (xem Tài nguyên). Tôi ã ch n ch-nh s a d li u vì mu n s d ng ch- m t t p d li u xuyên su t t t c các ví d . i dùng # " Trong Li t kê 1, tôi s d ng PearsonCorrelationSimilarity, ánh giá s t ng quan gi a hai bi n, nh ng c*ng có các phép o UserSimilarity khác. S l a ch n c a m t phép o s t ng ng ph thu c vào ki u d li u hi n t i và vi c th nghi m c a b n. $ i v i d li u này, tôi ã tìm th y s k t h p này làm vi c t t nh t trong khi v.n gi i thích các v n . B n s% tìm th y nhi u thông tin h n v vi c ch n m t phép o s t ng ng t i trang Web Mahout (xem Tài nguyên). $ hoàn thành ví d này, tôi xây d ng m t UserNeighborhood và m t Recommender. UserNeighborhood nh n bi t nh ng ng i dùng t ng t nh ng i dùng c a tôi và c giao quy n cho Recommender, nó sau ó th c hi n vi c t o m t danh sách x p lo i các m c c bình lu n. Li t kê 2 thu hút c nh ng ý t ng trong mã: Li t kê 2. T o các bình lu n ' & ( ) " & ( & ( ) ) ) ' !& ./////. & ( & ( * + + , ! ! , + # & ( + Gi i thi u v Apache Mahout ! ! . ! " Page 6 of 13 . 0 " 1 ' 3 " + ! 2 4, # 5 ! 1 ! # + 2 + , ! B n có th ch y ví d y trên dòng l nh b'ng cách th c hi n l nh ant user-demo trong th m c ch a m.u. Ch y l nh này in các s thích và các bình lu n cho ng i dùng t ng t ng 995, ng i ng.u nhiên là m t ng i hâm m c a Lincoln. Li t kê 3 cho th y k t qu t vi c ch y l nh ant user-demo: Li t kê 3. K t qu t bình lu n c a ng 6 7 ' & 69 % 7 :8 :; " " 69 % 7 :8 :; 69 % 7 :8 :; 69 % 7 :8 :; 69 % 7 69 % 7 ///// 69 % 7 69 % 7 1 69 % 7 1 69 % 7 1 69 % 7 1 69 % 7 1 69 % 7 1 , 69 % 7 1 69 % 7 1 69 % 7 , 69 % 7 # 69 % 7 # 69 % 7 # 69 % 7 # 69 % 7 # " <: :; => 2= #) i dùng 882 ! " <: :; => 2= #) " <: :; => 2= #) " <: :; => 2= #) " =::: # & ( " 2 & ! ? , ! ! ! & " , <<;@ 882 $ & <= , & >!8>:::::AAB2B<:< $ , & ::::A;AA@22= $ == , & @!<>:::::=8:B>@;A " ' ( & , & 2!: $( 3 , & @!B>8888BB===;=A@ C " 1 " D " 3 & >!@>:::::AAB2B<:< ( , & <2B $ + ' & , & @!@<8888;<;>>;A<> 2:2B2 1 =>@=:=>@; 1 =>>@@2B@; 1 ==8>BA@ 1 <@=B8>B 1 $ =: $ & F / @!8; @!;A:2@= :;AA< @!@:@:AA @!<@=B; D T các k t qu trong Li t kê 3, b n có th th y r'ng h th ng ã bình lu n m t s bài vi t v i các m c tin t ng khác nhau. Trong th c t , m+i m t m c này ã c nh ng ng i hâm m Lincoln ánh giá, nh ng không ph i do ng i dùng 995. N u b n mu n xem k t qu c a nh ng ng i dùng khác, ch- c n dùng tham s -Duser.id=USER-ID trên dòng l nh, ây USER-ID (mã nh n d ng ng i dùng) là m t s n'm gi a 0 và 999. B n c*ng có th thay i quy mô c a vùng lân c n b'ng cách dùng tham s -Dneighbor.size=X, ây X là s nguyên l n h n 0. Trong th c t , vi c thay i quy mô vùng lân c n t i 10 a ra k t qu r t khác nhau, k t qu này ch"u nh h ng b i th c t là m t trong nh ng ng i dùng ng.u nhiên trong vùng lân c n. $ xem các vùng lân c n c a ng i dùng và các m c nói chung, hãy thêm -Dcommon=true vào dòng l nh. Bây gi , n u b n ã tình c nh p m t s không n'm trong ph m vi c a ng i dùng, b n có th th y r'ng ví d này l ra m t NoSuchUserException. Th t v y, ng d ng c a b n s% c n bi t làm gì khi m t ng i dùng m i nh p vào h th ng. Ví d , b n ch- có th hi n th" 10 bài vi t ph bi n nh t, m t s l a ch n ng.u nhiên các bài báo, ho c m t s l a ch n m t c a các bài vi t "khác nhau" — ho c v i v n ó, ch1ng có gì c . Nh tôi ã c p tr c ó, cách ti p c n d a trên ng i dùng th ng không m r ng c. Trong tr ng h p này, t t h n là s d ng m t cách ti p c n d a trên m c-m c. R t may, Taste giúp cho vi c s d ng ti p c n d a trên m c-m c c*ng d dàng. Mã c b n t o và ch y v i s t ng ng c a m c-m c không khác nhau nhi u, nh b n có th th y trong Li t kê 4: Li t kê 4. Ví d v s t ng ng m c-m c (t cf.wikipedia.WikipediaTasteItemItemDemo) # # 3 &3 E # # - - , , ' # - , + ' 3 4, # 5 ! # + 2 Gi i thi u v Apache Mahout 1 ! Page 7 of 13 , + ! C*ng nh trong Li t kê 1, tôi t o m t DataModel t t p các bình lu n, nh ng cùng lúc này, thay cho vi c t o phiên b n m t cá th UserSimilarity, tôi t o m t ItemSimilarity khi s d ng LogLikelihoodSimilarity, giúp x lý các s ki n hi m th y. Sau ó, tôi a ItemSimilarity t i m t ItemBasedRecommender và yêu c u bình lu n. V y ó! B n có th ch y cái này trong mã m.u thông qua l nh ant item-demo. T ây, t t nhiên, b n mu n thi t l p h th ng c a b n th c hi n các tính toán này ngo i tuy n và b n c*ng có th nghiên c u các phép o ItemSimilarity khác. L u ý r'ng, do tính ng.u nhiên c a các d li u trong ví d này, các bình lu n có th không c nh mong i. Trong th c t , i u quan tr ng là ch&c ch&n r'ng b n ánh giá k t qu c a mình trong th i gian th nghi m và th nghi m các s li u thông kê c a s t ng ng khác n a, do nhi u s li u th ng kê chung có tr ng h p c nh ngoài nào ó, nên tr ng h p này ng ng ho t ng khi d li u có s(n không a ra các bình lu n phù h p. Quay l i ví d ng i dùng m i, v n ph i làm gì n u thi u các s thích ng i dùng ã tr nên d dàng ti p c n h n r t nhi u m t khi ng i dùng chuy n h ng n m t m c. Trong tr ng h p ó, b n có th t n d ng l i th c a các tính toán m c-m c và yêu c u các ItemBasedRecommender cho các m c h u gi ng v i m c hi n hành. Li t kê 5 ch ng t0 i u này trong mã: Li t kê 5.Ch ng trình trình di n các m c t ng (t cf.wikipedia.WikipediaTasteItemRecDemo) ng # # 3 &3 E # # - - , , ' # - , ' 3 + " 4, # 5 # # ! 1 ! , # # + # + , ! B n có th ch y Li t kê 5 t dòng l nh b'ng cách th c hi n l nh ant sim-item-demo. S khác bi t th c s duy nh t v i Li t kê 4 là Li t kê 5, thay vì yêu c u các bình lu n, l i yêu c u các m c hoàn toàn gi ng v i m c u vào. T ây, b n c n ph i có các th b&t u v i Taste. $ tìm hi u thêm, hãy tham kh o tài li u h ng d.n Taste và danh sách g i th [email protected] (xem Tài nguyên). Ti p theo, tôi s% xem xét cách tìm các bài vi t t ng t b'ng cách s d ng m t s kh n!ng c a phân c m Mahout. Phân c m v i Mahout Mahout h+ tr m t s vi c th c hi n thu t toán phân c m, t t c t p riêng c a nó v các m c tiêu và tiêu chu)n: Canopy: M t thu t toán phân c m nhanh th phân c m khác. ng u c s d ng c vi t b'ng Map-Reduce, m+i l n th c hi n có t o ra các phôi ban u cho các thu t toán k-Means (và fuzzy k-Means): Phân c m các m c thành k nhóm d a trên kho ng cách các m c t tr ng tâm ho c trung tâm c a l n l p l i tr c. Mean-Shift: Thu t toán không yêu c u b t k, ki n th c c n có tr nhóm có d ng tùy ý. cv s l ng các nhóm và có th t o ra các Dirichlet: Phân c m d a trên s pha tr n c a nhi u mô hình xác su t cung c p cho nó l i th là không c n ph i ghi nh tr c m t khung nhìn c th c a các nhóm. Theo quan i m th c t , các tên và các l n th c hi n không quan tr ng nh các k t qu mà chúng t o nên. V i ý ngh ó, tôi s% hi n th" cách k-Means làm vi c và l i nh ng cái khác cho b n khám phá. Hãy ghi nh r'ng m+i thu t toán Gi i thi u v Apache Mahout có các yêu c u riêng c a mình Page 8 of 13 làm cho nó ho t Theo phác th o (có nhi u chi ti t h n Mahout là: ng hi u qu . ti p t c), các b c có liên quan trong vi c phân c m d li u khi s d ng 1. Chu)n b" u vào. N u phân c m v!n b n, b n c n chuy n i bi u di n v!n b n thành bi u di n s . 2. Ch y thu t toán l a ch n phân c m nh s d ng m t trong nhi u trình i u khi n Hadoop ã có s(n trong Mahout. 3. $ánh giá các k t qu . 4. L p l i n u c n thi t. $ u tiên và tr c h t, các thu t toán phân c m yêu c u d li u theo m t "nh d ng phù h p x lý. Trong vi c h c máy, d li u th ng c bi u di n nh là véc t , ôi khi c g i là m t vect c tính. Trong vi c phân c m, m t vect là m t m ng c a các tr ng s bi u di n d li u. Tôi s% gi i thích vi c phân c m b'ng cách s d ng các vect c t o t các tài li u Wikipedia, nh ng các vect có th n t các l nh v c khác, ch1ng h n nh d li u c m bi n ho c h s ng i dùng. Mahout i kèm v i hai bi u di n Vector: DenseVector và SparseVector. Tùy thu c vào d li u c a b n, b n s% c n ph i ch n vi c th c hi n phù h p t c hi u n!ng t t. Nói chung, các v n d a trên v!n b n th a th t, làm cho SparseVector là s l a ch n úng i v i chúng. M t khác, n u h u h t các giá tr" cho h u h t các vect là khác không, thì m t DenseVector là thích h p h n. N u b n không ch&c ch&n, hãy th c hai và nh n th y cái nào ho t ng nhanh h n trên m t t p con c a d li u c a b n. $ t o ra các vect t n i dung Wikipedia (mà tôi ã làm cho b n): 1. L p ch- m c n i dung trong Lucene, ch&c ch&n l u tr các vect k, h n cho l nh v c mà b n mu n t o các vect t ó. Tôi s% không trình bày các chi ti t v vi c này — nó n'm ngoài ph m vi c a bài vi t — nh ng tôi s% cung c p m t s g i ý ng&n g n cùng v i m t s tài li u tham kh o trên Lucene. Lucene i kèm v i m t l p g i là EnWikiDocMaker (trong gói contrib/benchmark), có th c trong m t kho ch a t m th i t p Wikipedia và a ra các tài li u l p ch- m c trong Lucene. 2. T o vect t ch- m c Lucene b'ng cách s d ng l p org.apache.mahout.utils.vectors.lucene.Driver có trong mô un utils c a Mahout. Ch ng trình i u khi n này i kèm v i r t nhi u tu, ch n t o các vect . Trang wiki Mahout có tên Creating Vectors (T o các Vect ) t Text (V!n b n) có nhi u thông tin (xem Tài nguyên). Các k t qu c a vi c ch y hai b c này là m t t p gi ng nh t p n2.tar.gz mà b n ã t i xu ng trong ph n B&t u v i Mahout. $ có y , t p n2.tar.gz g m các vect c t o t vi c l p ch- m c c a t t c các tài li u trong t p "các kh i d li u" c a Wikipedia ã ct ng t i v b'ng cách ph ng th c ant install trên. Các vect ã c 2 chu)n hoá nh s d ng chu)n 2-clit (ho c chu)n L ; xem Tài nguyên). Khi s d ng Mahout, b n có th s% mu n th t o các vect theo m t s cách xem cách nào mang l i các k t qu t t nh t. D a vào m t t p các vect , b c ti p theo là ch y thu t toán phân c m k-Means. Mahout cung c p các ch ng trình i u khi n cho t t c các thu t toán phân c m, g m c thu t toán k-Means, có tên thích h p là KMeansDriver. Trình i u khi n d s d ng khi là m t m t ch ng trình c l p không có Hadoop, nh ã gi i thích b'ng cách ch y ant k-means. Xin c t nhiên ki m tra ích Ant k-means trong build.xml có thêm thông tin các i s mà KMeansDriver ch p nh n. Sau khi quá trình này hoàn t t, b n có th in ra các k t qu b'ng cách dùng l nh ant dump. ánh giá các k t qu c a b n Có nhi u cách ti p c n ánh giá k t qu phân c m c a b n. Nhi u ng i b&t u chn gi n b'ng cách s d ng ki m tra th công và th nghi m c bi t. Tuy nhiên, th c s hài lòng, i u c n thi t là s d ng các k thu t ánh giá sâu h n nh là vi c phát tri n m t tiêu chu)n vàng khi dùng m t s ng i am hi u k thu t. $ tìm hi u thêm v vi c ánh giá k t qu c a b n, xem Tài nguyên. V i các ví d c a tôi, tôi ã s d ng ki m tra th công xem m t s k t qu ã c c m v i nhau th c s có ý ngh a không. N u tôi c a i u này vào trong s n xu t, tôi s% s d ng m t quy trình nghiêm ng t h n nhi u. Sau khi b n ã ch y thành công trong ch c l p, b n có th ti n hành ch y ch phân tán trên Hadoop. $ làm nh v y, b n c n có Mahout Job JAR, n'm trong th m c hadoop trong mã m.u. M t Job Jar óng gói t t c các mã và các ph thu c vào trong ch- m t t p JAR d dàng n p vào Hadoop. B n c*ng s% c n ph i t i v Hadoop 0.20 và làm theo các ch- d.n trên h ng d.n Hadoop ch y l n u tiên trong ch phân tán gi (có ngh a là t ng c m m t) và sau ó là ch phân tán y . $ bi t thêm thông tin, xem trang Web Hadoop và Tài nguyên, c*ng nh các tài nguyên i n toán ám mây c a IBM (xem Tài nguyên). Gi i thi u v Apache Mahout Page 9 of 13 Phân lo i n i dung v i Mahout Mahout hi n ang h+ tr hai ph ng pháp ti p c n liên quan n vi c phân lo i/s&p x p có h th ng n i dung d a trên s li u th ng kê Bayesian. Cách ti p c n u tiên là m t trình phân lo i Naive Bayes kích ho t Map-Reduce n gi n. Các trình phân lo i Naive Bayes c bi t là nhanh và khá chính xác, m c dù các gi "nh r t n gi n (và th ng không chính xác) c a chúng v các d li u hoàn toàn c l p. Các trình phân lo i Naive Bayes th ng không ho t ng khi kích th c c a các ví d hu n luy n cho m+i l p không c cân b'ng ho c khi d li u c l p. Ph ng pháp th hai, c g i là Naive Bayes ph , c g&ng ch-nh s a m t s v n v i cách ti p c n Naive Bayes trong khi v.n duy trì tính n gi n và t c c a nó. Tuy nhiên, v i bài vi t này, tôi s% ch- hi n th" cách ti p c n Naive Bayes, b i vì nó gi i thích c v n t ng th và các u vào trong Mahout. Tóm l i, m t trình phân lo i Naive Bayes là m t quá trình hai ph n g m vi c theo dõi các c tính (các t ) có liên k t v i m t tài li u và lo i riêng và sau ó s d ng thông tin ó d oán lo i n i dung m i, vô hình. B c u tiên, c g i là hu n luy n, t o m t mô hình b'ng cách xem các ví d ã c phân lo i v n i dung và sau ó theo dõi các kh n!ng mà m+i t c k t h p v i m t ph n n i dung c th . B c th hai, c g i là phân lo i, s d ng mô hình c t o trong hu n luy n và n i dung c a m t tài li u m i, vô hình, cùng v i $"nh lý Bayes, d oán lo i tài li u c thông qua. Vì v y, ch y trình phân lo i Mahout, u tiên b n c n ph i hu n luy n theo mô hình và sau ó s d ng mô hình ó phân lo i n i dung m i. Ph n ti p theo s% gi i thích cách th c hi n i u này b'ng cách s d ng t p d li u Wikipedia. Ch y trình phân lo i Naive Bayes Tr c khi b n có th ch y các trình hu n luy n và trình phân lo i, b n c n th c hi n m t công vi c chu)n b" nh0 thi t l p m t b các tài li u v hu n luy n và m t b các tài li u v th nghi m. B n có th chu)n b" các t p Wikipedia (t nh ng th b n ã t i v thông qua ích install b'ng cách ch y ant prepare-docs. Vi c này chia tách các t p u vào Wikipedia khi s d ng l p WikipediaDatasetCreatorDriver có trong các ví d Mahout. Các tài li u c chia tách d a trên tài li u có m t lo i gi ng v i m t trong các lo i quan tâm hay không. Các lo i quan tâm có th là b t c lo i Wikipedia h p l nào (ho c th m chí là chu+i con b t k, c a m t lo i Wikipedia). Ch1ng h n, trong ví d này, tôi có hai lo i: Khoa h c và L"ch s . Vì v y, b t k, lo i Wikipedia nào có m t lo i ch a t khoa h c ho c l ch s ( ó không ph i là m t s t ng ng chính xác) s% c t vào m t thùng có các tài li u khác cho lo i ó. Ngoài ra, m+i tài li u c g&n th3 (tokenized) và c chu)n hóa lo i b0 d u ch m câu, ánh d u Wikipedia và các c tính khác mà không c n thi t cho công vi c này. Các k t qu cu i cùng s% c l u trong m t t p có ghi nhãn v i tên lo i ó, m t tài li u cho m+i dòng, ó là "nh d ng u vào mà Mahout trông i. C*ng v y, vi c ch y ant prepare-test-docs th c hi n cùng công vi c v i các tài li u th nghi m. $i u quan tr ng là các tài li u th nghi m và hu n luy n không trùng nhau, có th nghiêng v các k t qu . Theo lý thuy t, vi c s d ng các tài li u hu n luy n th nghi m k t qu trong các k t qu hoàn h o, nh ng ngay c i u này không có kh n!ng trong th c hành. Sau khi các b hu n luy n và th nghi m c thi t l p, bây gi là lúc ch y các l p TrainClassifier thông qua ích ant train. $i u này s% c n m t l ng l n l n !ng nh p t c hai Mahout và Hadoop. Sau khi hoàn thành, ant test ch n các tài li u th nghi m m.u và c g&ng phân lo i chúng b'ng cách s d ng mô hình ã c xây d ng trong lúc hu n luy n. K t qu t m t th nghi m nh v y trong Mahout là m t c u trúc d li u g i là m t ma tr n nh m l.n (confusion matrix). M t ma tr n nh m l.n mô t có bao nhiêu k t qu ã c phân lo i úng và có bao nhiêu c phân lo i không úng cho m+i lo i. Tóm l i, b n ch y các b 1. 2. 3. 4. ant ant ant ant c sau t o ra k t qu phân lo i: prepare-docs prepare-test-docs train test Ch y t t c l nh này (classifier-example c a ích Ant b&t gi t t c chúng trong m t cu c g i), tóm t&t và ma tr n nh m l.n c hi n th" trong Li t kê 6: Li t kê 6.Các k t qu t vi c ch y trình phân lo i Bayes cho l ch s và khoa h c 69 % 7 :8 :B << =; =: @2 #) ( !1 " a ra ma tr n Gi i thi u v Apache Mahout Page 10 of 13 69 % 7 :8 :B << =; =: @A #) 69 69 69 69 % % % % 69 % 69 69 69 69 69 69 69 69 69 % % % % % % % % % 82!@2;8;@>B2 >8=: @:8A!: !1 " =2!22@:B<:8A=<;=B< <>> =@8;!: !1 " ( 7 :8 :B << =; =: @A #) ( 7 7 /////////////////////////////////////////////////////// 7 " # @=@> B@!:A=2G 7 # " # =@2= <2!8>;2G 7 1 " # 228@ 7 7 7 " ? 7 /////////////////////////////////////////////////////// 7 ( 4// " 7 >8=: =;A H @:8A 7 => H =@8; ( 7 " & E < Các k t qu c a quá trình trung gian c l u tr trong th m c có tên là wikipedia trong th m c c b n. V i m t t p k t qu trong tay, câu h0i rõ ràng là: "Tôi ã th c hi n nh th nào?" B n tóm t&t nói rõ r'ng i khái tôi ã nh n c kho ng 75 ph n tr!m úng và 25 ph n tr!m không úng. Tho t nhìn i u này có v3 khá h p lý, c bi t là b i vì nó có ngh a là tôi ã làm t t h n so v i cách d oán ng.u nhiên. Tuy nhiên, vi c ki m tra g n ây cho th y r'ng tôi ã th c s làm t t khi d báo v l"ch s (kho ng 95 ph n tr!m úng) và th c s kém lúc d báo v khoa h c (kho ng 15 ph n tr!m). Trong vi c tìm ki m lý do t i sao l i nh v y, vi c xem xét nhanh các t p u vào cho hu n luy n cho th y r'ng tôi có nhi u ví d v l"ch s h n so v i khoa h c (kích th c t p là g n g p ôi), ó có l% là m t v n ti m n!ng. V i th nghi m này, b n có th thêm tùy ch n -Dverbose=true vào ant test, cho phép a ra thông tin v m+i u vào th nghi m và nó ã c ghi nhãn úng hay không. Nghiên c u k k t qu này, b n có th tra c u tài li u và xem xét lý do nó ã c phân lo i không úng. Tôi c*ng có th th các tham s u vào khác nhau và c*ng có nhi u d li u khoa h c và hu n luy n l i mô hình này xem tôi có th c i thi n k t qu này không. $i u c*ng quan tr ng là suy ngh v l a ch n WikipediaTokenizer c a Apache Lucene b0 các thu t ng ph bi n ho c các thu t ng t phân lo i này vào s n xu t, tôi s% ki m tra k h v hi u n!ng. c tính hu n luy n mô hình. $ i v i các ví d này, tôi ã s d ng t g&n th3 các tài li u ban u, nh ng tôi ã không c g&ng nhi u lo i p nham mà có th ã b" g&n th3 sai. N u tôi ang xem xét a trình n các u vào và các giá tr" cài t khác, c g&ng t!ng thêm m t chút Ch- c n xem các k t qu khoa h c ã có m t s may m&n không, tôi ã th m t t p các lo i khác nhau: $ ng C ng hòa và $ ng Dân ch . Trong tr ng h p này, tôi mu n d báo có hay không có m t tài li u m i v $ ng C ng hòa hay Dân ch . $ cho phép b n t mình th nghi m, tôi t o ra repubs-dems.txt in src/test/resources. Sau ó tôi ch y các b c phân lo i thông qua: " / ? / & !" ! ( / ! ? / ! t các k t qu trung gian trong th m c wikipedia. Ma Hai giá tr" -D n gi n tr0 t i t p và tên lo i c a th m c tr n tóm t&t và ma tr n nh m l.n t ho t ng này trông gi ng nh Li t kê 7: Li t kê 7. Các k t qu t vi c ch y trình phân lo i Bayes cho 69 % 7 :8 :B <> =B :A >; #) 69 % 7 :8 :B <> =B :A >; #) ( ( !1 !1 " " 69 % 7 :8 :B <> =B :A >; #) ( !1 " 69 % 7 :8 :B <> =B :A >; #) 69 % 7 :8 :B <> =B :A >; #) ( ( !1 !1 " " 69 % 7 :8 :B <> =B :A >; #) ( !1 " 69 69 69 69 69 69 ( !1 " E E % % % % % % 7 7 7 7 7 7 :8 :B <> =B :A >; #) ng C ng hòa và ng Dân ch ////////////// 1 & / ! ? B:!: <= >:!: ////////////// 1 & / ( ! ? ( ;=!>82>@;;>B<:8> >2 @>!: /////////////////////////////////////////////////////// " # 2A # " # =B 1 " # B> BA!B=<>G <>!<;BBG Gi i thi u v Apache Mahout 69 69 69 69 69 69 69 69 % % % % % % % % Page 11 of 13 7 7 7 " ? 7 /////////////////////////////////////////////////////// 7 ( 4// " 7 <= 8 H >: 7 ; >2 H @> ( ( 7 " & E < M c dù k t qu cu i cùng là v cùng d ng úng, b n có th th y r'ng tôi ã làm m t công vi c t t h n v vi c quy t "nh gi a hai lo i. M t vi c ki m tra nhanh c a th m c wikipedia/rd/prepared ch a các tài li u u vào cho th y r'ng hai t p hu n luy n ã c cân b'ng h n nhi u v m t các ví d hu n luy n. Vi c ki m tra c*ng cho th y tôi có m t vài ví d t ng th so v i ho t ng l"ch s /khoa h c, b i vì m+i t p nh0 h n nhi u so v i b hu n luy n l"ch s ho c khoa h c. Nhìn chung, k t qu ít nh t có v3 cân b'ng h n. Các b hu n luy n l n h n có kh n!ng bù tr s khác bi t gi a ng C ng hòa và ng Dân ch , m c dù n u nó không bù tr , i u ó có th ng ý r'ng m t nhóm là t t h n lúc bám vào thông báo c a nó trên Wikipedia — nh ng tôi s% l i vi c ó cho các h c gi chính tr" quy t "nh. Bây gi tôi ã ch- ra cách ch y phân lo i trong ch c l p, các b c ti p theo là ch n mã cho ám mây và ch y trên m t nhóm Hadoop. C*ng nh v i mã phân l p, b n s% c n có Mahout Job JAR. Ngoài ra, t t c các thu t toán mà tôi ã c p tr c ó là Map-Reduce-s(n sàng và ch- nên làm vi c khi ch y trong quá trình n p Job (công vi c) c nêu ra trong h ng d.n Hadoop. Có gì ti p theo v i Mahout? Apache Mahout ã i m t ch ng ng dài trong h n m t n!m, v i các kh n!ng áng k v phân c m, phân lo i và CF, nh ng nó c*ng có r t nhi u kh n!ng phát tri n. S&p x y ra n n i là th c hi n Map-Reduce c a vô s quy t "nh ng.u nhiên cho vi c phân lo i, các quy t&c k t h p, Latent Dirichlet Allocation nh n bi t các ch trong các tài li u và nhi u tùy ch n phân lo i h n s d ng HBase và các tùy ch n l u tr có s(n khác. Ngoài nh ng l n th c hi n m i này, hãy tìm ki m thêm các ch ng trình trình di n, tài li u h ng d.n và s a l+i. Cu i cùng, úng nh m t ng i qu n t ng th c s s d ng s c m nh và kh n!ng c a con voi, vì th , Apache Mahout c*ng có th giúp b n t n d ng s c m nh và kh n!ng c a con voi màu vàng, ó là Apache Hadoop. Ti p theo khi có nhu c u phân c m, phân lo i ho c bình lu n n i dung, c bi t là quy mô l n, hãy xem Apache Mahout. L ic m n $ c bi t c m n các y viên h i h v bài vi t này. ng Mahout Ted Dunning và Sean Owen v vi c xem l i và s hi u bi t sâu s&c c a T iv Mô t Tên Kích th Sample code j-mahout.zip 90MB Thông tin v ph c Ph ng th c t i HTTP ng th c t i Tài nguyên H ct p H c máy H c máy: Trang Wikipedia ch a m t s thông tin b&t u có ích c*ng nh nhi u tài li u tham kh o t t Gi i thi u v Apache Mahout Page 12 of 13 tìm hi u thêm v h c máy, g m các cách ti p c n nh vi c h c có giám sát. Programming Collective Intelligence (Toby Segaran, O'Reilly, 2007): Cu n sách này là m t i m kh i u tuy t v i cho nhi u nhi m v h c máy. Trí tu nhân t o | H c máy: Hãy tham d l p c a Andrew Ng t i Stanford. $ánh giá v phân c m: Tìm hi u thêm v danh sách g i th c a Mahout. ánh giá vi c phân c m. C*ng xem thêm cu c th o lu n v $"nh lý Bayes: Tìm hi u k $"nh lý Bayes ho t ng nh th nào. Lp space: Hi u các ch- tiêu Lp. Apache Mahout and Apache Lucene Trang ch d án Mahout: Khám phá t t c nh ng gì v Mahout. "Map-Reduce cho vi c h c máy theo a lõi": $ c bài h "MapReduce: làm trên Map-Reduce. ng d.n tr giúp kh i ch y Mahout. n gi n vi c x lý trên các c m l n" (Google Research Publications): $ c b n chính Taste: Khám phá tài li u h ng d.n Taste. Apache Lucene: Tìm hi u thêm v Lucene. Apache Lucene trên developerWorks: Khám phá Lucene trong nh ng bài vi t này. T o các Vect t v!n b n: $ c m c này trong Mahout Wiki c a b n sang l p Vector c a Mahout. Phân c m d li u c a b n: Xem trang Mahout Wiki này b n. tìm hi u thêm v vi c chuy n i d li u tìm hi u thêm v cách phân c m d li u c a Apache Hadoop: Apache Hadoop: Tìm hi u thêm v Hadoop. H ng d.n b&t u nhanh v Hadoop: Tìm hi u cách ch y m t Hadoop Job. HBase: Hi u c s d li u Hadoop. Duy t qua hi u sách công ngh v i các sách v các ch k thu t này và khác. $i n toán ám mây: Truy c p vào vùng $i n toán ám mây c a developerWorks. Vùng công ngh Java c a developerWorks: Tìm hàng tr!m bài vi t v m i khía c nh c a l p trình Java. L y s n ph m và công ngh T i v Hadoop 0.20.0. T i v m t t p con c a Wikipedia. T i v m t t p con c a Wikipedia nh là các vect . Nh n c d li u ánh giá phim th c t d án GroupLens. Gi i thi u v Apache Mahout Th o lu n Tham gia vào c ng Page 13 of 13 ng Mahout t i [email protected]. Dành tâm trí cho c ng ng My developerWorks. ôi nét v tác gi Grant Ingersoll là ng i sáng l p và thành viên c a h i ng k thu t t i Lucid Imagination. Các m i quan tâm l p trình c a Grant g m ph c h i thông tin, h c máy, phân lo i v!n b n và trích xu t. Grant là ng i ng sáng l p c a d án h c máy Apache Mahout, c*ng nh m t y viên h i ng và ng i phát ngôn cho c d án Lucene Apache và Apache Solr. Ông c*ng là ng tác gi c a Taming Text (Cung c p nhân công, s&p t i) g m các công c mã ngu n m x lý ngôn ng t nhiên. Java và t t c các nhãn hi u d a vào Java là th ng hi u c a Sun Microsystems, Inc. t i Hoa k,, các n hai. Tên c a công ty, s n ph)m hay d"ch v có th là nhãn hi u !ng ký ho c nhãn hi u d"ch v c a ng c khác ho c c i khác.
- Xem thêm -

Tài liệu liên quan