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

  • Số trang: 13 |
  • Loại file: PDF |
  • Lượt xem: 1088 |
  • Lượt tải: 4
hoangdieu

Đã đăng 252 tài liệu

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 mahout-user@lucene.apache.org (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 mahout-user@lucene.apache.org. 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 -