Thông tin vătuynădngăvicălƠm cũngăphiălƠăngoiăl ằngăngƠyăcóărtănhiuătinăđĕngătuyn,ă, hngă tuynăchoăcácă vă tríăcôngă vic tiă nhiuăcôngă tyă đcă đaălên trên các website
Trang 1TRNG ĐI HC BÁCH KHOA HÀ NI
-
LU ĐC PHONG
PHỂN TệCH XU HNG NGH NGHIP DA TRểN THỌNG TIN
LUNăVĔN THCăSƾăKHOAăHC KHOAăHCăVĨăKăTHUTăTệNHăTOỄN
HƠăN ậ i 2019
Trang 2TRNG ĐI HC BÁCH KHOA HÀ NI
-
LU ĐC PHONG
PHỂN TệCH XU HNG NGH NGHIP DA TRểN THỌNG TIN
TUYN DNG TRểN INTERNET Chuyên ngành: CỌNGăNGHăTHỌNGăTIN
LUNăVĔN THCăSƾăKHOAăHC KHOAăHCăVĨăKăTHUTăTệNHăTOỄN
NGIăHNGăDNăKHOAăHC:
TS NGUYNăHUăĐC
HƠăN ậ i 2019
Trang 3LI CAM ĐOAN
Tôi, LuăĐcăPhong,ăxinăcamăđoan lunăán là công trình nghiên cuăcaăbnăthơnătôiădiăsăhngădnăcaăTS.ăNguynăHuăĐc
CácăktăquănêuătrongăbáoăcáoălunăánălƠătrungăthc,ăkhôngăsaoăchépăcaăbtăkỳăcông trình nào khác
Hà Nội, ngày tháng năm 2019
H C VIÊN
LUăĐC PHONG
Trang 4LI CM N
ĐăhoƠnăthƠnhălunăánănƠy,ătrcăhtătôiăxinăbƠyătălòngăkínhătrngăvƠăbitănătiăTS.ăNguynăHuăĐc,ăngiăthyăđƣătrcătipăhngădn,ăgiúpăđỡătôiătrongăquáătrìnhăhcătpăvƠăthcăhinălunăán
CuiăcùngătôiăxinăcmănăgiaăđìnhăvƠănhngăngiăbnăvìăsăđngăviênătrongăsutăthiăgianăthcăhinălunăvĕn
Trang 5MC LC
LIăCAMăĐOAN 1
LI MăNC 2
DANH MC BNG 5
DANH MC HÌNH V , BI UăĐ 6
M ĐU 8
CHNGă1:ăTNG QUAN V BÀI TOÁN 9
1.1.ăĐng b vƠăluătr d li u nhiuăđnh d ng 9
1.2 T ng h p th ng kê, tr c quan s li u 9
1.3 Phân tích d đoánăxuăhng 9
1.4 Các công c,ămôăhìnhăđápăng cho bài toán 10
1.4.1 H thng qu n tr vƠăluătr căs d u NOSQL 10li 1.4.2 Các công c trc quan hóa s li u 13
1.4.3 Mngăn-ron nhân t o và mô hình d đoán 14
Kt lunăchngă1 22
CHNG 2: XÂY DNGăCHNGăTRÌNHăTHUăTHP VÀ PHÂN TÍCH XU HNG NGH NGHI P 24
2.1 Phân tích m c tiêu 24
2.2 Gi i quy t bài toán 25
2.2.1.ăCăs d li u 25
2.2.2 Các công c gi i quy t yêu c u 25
Kt lunăchngă2 32
CHNGă3:ăMỌăPHNG TH C NGHI MăCHNGăTRÌNH 33
3.1.ăMôiătrngăcƠiăđặt và công c l p trình 33
3.1.1.ăCƠiăđặt, thi t l p CSDL MongoDB Sharded Cluster 34
3.1.2.ăCƠiăđặt Task-Scheduler l p l chăđ ng b 39
3.1.3.ăCƠiăđặt công c hi n th và phân tích d li u TableAU 43
3.1.4.ăCƠiăđặtăcácăthăvin Python và tri n khai mã code cho mô hình d đoánă LSTM 44
3.2.ăDemoăchngătrình 47
Trang 63.2.1.ăĐng b vƠăluătr d li u 48
3.2.2 Trình di n d u 51 li 3.2.3 Phân tích d đoánăxuăhng vi c làm 55
Kt lunăchngă3: 59
CHNGă4:ăKT LUNăVĨăPHNGăHNG NGHIÊN CU, PHÁT TRIN 60
4.1 Kt lun 60
4.2 Các mcătiêuăđƣăvƠăchaăđ tăđ c 60
4.3 Nghiên cuătrongătngălai 61
TÀI LIU THAM KH O 62
Trang 7DANH M C B NG
Bngă1.1.ăCácădngădăliuăNoSQL 10
Bngă1.2.ăăN ronănhơnătoă- 14
Bngă1.3.ăCácăhƠmătruynă 15
Bngă1.4.ăMngănhiuătngătruynăthẳngă 16
Bngă1.5.ăHcăgiámăsát 17
Bngă1.6.ăHcăkhôngăgiámăsát 17
Bngă1.7.ăHcătĕngăcng 18
Bngă1.8.ăMôăhìnhăLSTMăbcă1 21
Bngă1.9.ăMôăhìnhăLSTMăbcă2 21
Bngă1.10.ăMôăhìnhăLSTMăbcă3 22
Bngă1.11.ăMôăhìnhăLSTMăbcă4 22
Bngă2.1.ăBngăcuătrúcădăliuătuynădng 25
Bngă2.2.ăModuleăPhơnătíchădăbáo 30
Bngă2.3.ăMôăhìnhăCSDLăluătrăcuăhìnhăphơnătích 31
Bngă2.4.ăMôăhìnhămngăn ronădăđoán- 31
Bngă3.1.ăBngăđánhăhiuănĕngătruyăvnăcácămôăhìnhăluătrădăliu 51
Bngă3.2.ăThngăkêăcácănhuăcuătuynădngăcaăcácăCôngăty 54
Bngă3.3.ăĐánhăgiáătỉălădăđoánănhơnăsătuynădngăngƠnhăIT 58
Bngă3.4.ăĐánhăgiáătỉălădăđoánăđătuiătuynădngătrungăbình 58
Trang 8DANH MC HÌNH V , BI U Đ Ẽ
Hìnhă1.1.ăDăliuădngăKey-Value 11
Hìnhă1.2.ăDăliuădngăDocument 11
Hình 1.3.ăDăliuădngăColoumn 12
Hìnhă1.4.ăDăliuădngăGraphă 12
Hìnhă1.5.ăĐánhăgiáăcácăcôngăcătrìnhădinădăliuă 13
Hình 1.8 Mô hìnhămngăn ronăhiăquyăRNNă- 20
Hìnhă1.9.ăMôăhìnhămngăLSTMă 21
Hìnhă2.1.ăKinătrúcătngăthăhăthng 24
Hìnhă2.2.ăLungăthuăthpădăliu 25
Hìnhă2.3.ăCácăbcăthuăthpăd liu 26
Hìnhă2.4.ăKinătrúcăAPIăGateway 27
Hình 2.5.ăKinătrúcăCSDLăMongoDBă 28
Hìnhă2.6.ăKinătrúcăcôngăcăphơnătích,ătrìnhăbƠyădăliuăTableAUă 29
Hìnhă2.7.ăLuăđăhotăđngăcaăhƠmăhunăluyn 32
Hìnhă3.1.ăCƠiăđặtăhăđiuăhƠnh 33
Hìnhă3.2.ăThitălpămngăNetwork 34
Hình 3.3ăHăthngăsauăcƠiăđặt 34
Hìnhă3.4.ăMôăhìnhătrinăkhaiăcmăCSDLăShardedăclusteră 35
Hìnhă3.5.ăHăthngăMongoăOpsăManagerăsauăkhiăcƠiăđặt 36
Hình 3.6.ăToămiăProjectătrênăOpsăMangager 36
Hìnhă3.7.ăCuăhìnhăShardedăCluster 37
Hìnhă3.8.ăThitălpăkeyăvƠăgroupăchoăCSDL 37
Hìnhă3.9.ăThitălpăshared clusterăviăcácămáy 38
Hìnhă3.10.ăThitălpăcuăhìnhăCSDLăchoăcácănode 38
Hìnhă3.11.ăThitălpăSharding 39
Hìnhă3.12.ăMôăhìnhăCSDLăsauăcƠiăđặt 39
Hìnhă3.13.ăLpălchăthuăthpădăliu 40
Hình 3.14 Mô hìnhătrinăkhaiăcôngăcăBIă 44
Hìnhă3.15.ăThitălpăBIăConnector 44
Hìnhă3.16.ăDăliuăthuăthpăđcătừăcácăCrawler 48
Trang 9Hìnhă3.17.ăTăchcăluătrădăliuădiădngăfile 48
Hìnhă3.18.ăTinătrìnhăđngăbădăliu 49
Hìnhă3.19.ăKtăquăthuăthpăvƠăphơnăchiaăluătrădăliu 50
Hìnhă3.20.ăBáoăcáoăthngăkêănhuăcuătuynădngăvicălƠmăcaăVităNamătừănĕmă2014ă đnă2018 52
Hìnhă3.21.ăBáoăcáoăphơnăbănhómăngƠnhănghătuynădngănĕmă2018 52
Hìnhă3.22.ăPhơnăbăsălngătuynădngătheoăcácăTỉnh 53
Hìnhă3.23.ăPhơnăbănhuăcuătuynădngăhinăthătrênăbnăđ 53
Hình 3.24.ăNhuăcuătuynădngăngƠnhăCNTTătiăcácăTỉnhătừănĕm 2014ăđn 2018 54
Hìnhă3.26.ăThngăkêăcácănhuăcuătuynădngătheoăngƠnhăngh 54
Hìnhă3.27.ăThngăkêăđătuiătrungăbìnhăcácăngƠnh 55
Hìnhă3.28.ăThngăkêăsănĕmăkinhănghimăchoăcácăngƠnhăngh 55
Hìnhă3.29.ăMƠnăhìnhăthitălpăloiădanhămcăbáoăcáoăphơnătíchădăđoán 55
Hìnhă3.30.ăMƠnăhìnhăchyăktăquăphơnătích 56
Hìnhă3.31.ăKtăquăphơnătíchăxuăhngătuynădngăngƠnhăITătiăHƠăNiă03ăthángăcuiă nĕmă2018 57
Hìnhă3.32.ăKtăquădăbáoăđătuiătuynădngălaoăđôngătrungăbìnhă05ăthángăcuiănĕmă 2018 57
Trang 10M ĐU Chúngătaăđangăsngătrongăthiăđiăcôngăngh,ăthiăđiăbùngănăthôngătinăviăsăgiúpăscăvƠălanătaăcaămngăInternetăđƣăgiúpăchoăconăngiăcóăthădădƠngătipăcnăviăcácăngunăthôngătinămƠăkhôngăgặpătrăngiăvăkhôngăgianăvƠăthiăgian Thông tin vătuynădngăvicălƠm cũngăphiălƠăngoiăl ằngăngƠyăcóărtănhiuătinăđĕngătuyn,ă, h
ngă tuynăchoăcácă vă tríăcôngă vic tiă nhiuăcôngă tyă đcă đaălên trên các website tuynădng.ăBênăcnhăđó,ăvicătipăcnăvƠătngăhpăcác thông tin trên đƣăđcăhătrărtănhiuătừ cácăcôngăcăthuăthpădăliuă(Crawler)ăđcăphátătrinăsẵnăcóănh: Scrapy, Splash,ầTháchăthcăđặtăraăsauăkhiăthuăthpăđcădăliuălƠăphiătăchcăluătr,ăphơnătíchăvƠăkhaiăthácăthôngătinăcóăhiuăquăđăphcăvăcácămc đíchăxaăhnănh:ăthngăkê,ădăđoánăxuăhng,
XutăphátătừănhuăcuănƠy,ătrongăkhuônăkhălunăvĕnăthcăs,ăhcăviênăđăxută
thcăhinăđătƠiă"Phân tích xu hướng nghề nghiệp dựa trên thông tin tuyển dụng trên
Internet ", viămcătiêuăchínhălƠăxơyădngăhăthng đngăb,ătăchcăluătrădăliu,ătngăhpăphơnătíchăcũngănhădăbáoăxuăhngăvicălƠm
ĐiătngănghiênăcuăcaăđătƠiălƠăcácăcôngăcăhătrăđngăb,ăluătrăvƠăphơnătíchădăliuăcũngănhămôăhìnhădăđoánăxuăhngătheoăchuiăthiăgian
Phmăviănghiên cu:ăCácădăliuăđcăthuăthpătừăcácăwebsiteătuynădngăvicălàm đƣăđcăthuăthpătừăcácăchngătrìnhăCrawler
Trongălunăvĕn,ătácăgiănghiênăcuălýălunăvƠăđƣ xơyădngămtăhăthngăhoàn chỉnhătừăvicăthuăthpăthôngătinătuynădngăđnăbáoăcáoăvƠăphơnătíchăxuăhng
Trang 11CHNG 1: T NG QUAN V BÀI TOÁN 1.1 Đng b vƠ lu tr liu nhi d u đnh dng
Viăsăphátă trină vƠă bùngă nă CNTTă vƠă truynăthông,ă cácă tină tcă tuynă dngăđcăđĕngătiăvƠăcpănhtăthngăxuyênătrênăcácăwebsiteătuynădngăcũngănhămngăxƣă hi,ầă cácăthông tin thngă cóă cácă đnhă dngă khôngă đngă nhtă vă cuă trúc,ă tùyăthucăvƠoămiăngunăđĕngătiăsăcóăcuătrúcădăliuăkhácănhau.ăBênăcnhăđó,ăcácătrìnhăthuăthpădăliuămiăbcăđuăgiúpăchúngătaăthuăthpăthƠnhăcác fileădăliuănguyênăgcă(raw) chaă đcăđngăbăvƠătăchcăluătrătpătrungăđăphcăvăcácăbƠiătoánătngăhp,ăphơnătíchăvƠădăđoánăxuăhng
CĕnăcăvƠoăyuătănhătrên,ăvicăcnăgiiăquytăđuătiênălƠătăchcăđngăbăvƠăluătrădăliuăvƠoăcăsădăliuătpătrung đăđmăboăvicătruyăvnăvƠăthcăhinăcácănghipăvămtăcáchăthunătinăvƠănhanhănht
1.2 T ng hp th ng kê, tr c quan s u li
Khiădăliuăđƣăđcă thuăthpăvƠăluătr chúngătaăcnăcóăcácă côngăcă đ hpăthngăkêăvƠătrcă quanăhóaăsăliuăthƠnhăcácădngă bng,ăbiu Tuyănhiên,ăviăngună thông tin dăliu rt ln,ă thêm vƠoăđóălƠănhuăcuăthngăkê,ăbáoăcáoărt da dng,ăxoayătheo nhiuăgócănhìn VicănƠyăđòiăhiăchúngătaăcnăcácăcôngăhătrăbáoăcáoăchuyênă bit.ă rongăbƠiătoánănƠy,ătácăgiăđặtămcătiêuăcnătheoădõiăđcămtăsăcácăbáoăcáoăTthngăkêănhăsau:
Trang 12lýăđăgimăthiuăđcăriăroănhtăcóăth TrongăbƠiătoánănƠy,ătácăgiăđặtămcătiêuăcnăđaăraăđcăcácădăđoánănhăsau:
DăđoánănhuăcuătuynădngăngƠnhăITăcaăHƠăNi
Dăđoánăđătuiătuynădngălaoăđngătrungăbình
1.4.Các công c, mô hình đáp ng cho bài toán
1.4.1 H thng qu n tr vƠ lu tr c s d li u NOSQL
Dăliuăphiăcuătrúcă(NOSQL)ăchiaăraăthƠnhă04ăloiăphăbin: Key-value, Document database, Graph database và Wide column stores
Key-value:ălƠăkiuădăliuăchung choăcácăhăqunătrăcăsădăliuăphiăcuătrúcăNoSQLăvƠălƠăkiuădăliuăđnăgi nht.ăDăliuăcaăkiuăKey valueăluătrădiădngăn -khóa (key - lƠămtăchuiăduyănht)ăliênăktăviăgiáătră(value)ăcóăthăădngăchuiăvĕnăbnăđnăginăhoặcăcácătp,ădanhăsáchădăliuăphcătpăhn.ăQuáătrìnhătìmăkimădăliuăthngăsăđcăthcăhinăthôngăquaăkey,ăđiuănƠyădnăđnăsăhnăchăvăđăchính xác Cácăcôngăcăsẵnăcó:ăRedis,ầ
Trang 13Hình 1.1 Dữ liệu dạng Key-ValueDocument: lƠă hă că să dă liuă qună lýă vƠă luă cácă dă liuă ă dngă vĕnă bnă(Document).ăCácăvĕnăbnă(document)ăsăđcăchunăhóaăvăcácădngăchunănhăJSON (Javascript Object Notation),ă XMLă hoặcă BSONă (Binaryă JSON).ă Giáă tră caă cácă ctătrongăcácăcăsădăliuăvĕnăbnăchaădăliuăbánăcuătrúcă(Semi StructuredăData),ăđặcă-bitălƠăcặpăthucătínhăkey-value.ăCácăctăcóăthăchaănhiuăthucătính,ăsălngăvƠăloiăthucătínhăđcăluătrăcóăthăkhácănhauăgiaăcácădòng.ăThêmăvƠoăđóăcácăkiuăluătrădăliuădngăKey valueăđnăginălƠăcăkeyăvƠăvalueăđuăcóăthătìmăkimătrongăCSDLă-Document.ăCácăcôngăcăsẵnăcó:ăCouchDBă(JSON),ăMongoDBă(BSON),ầ
Hình 1.2 Dữ liệu dạng Document
Trang 14Column-oriented databases (column-family):ă Nhìnă bă ngoƠi,ă chúngă kháăgingăviăCSDLăquanăhănhngăthcătălƠăhoƠnătoƠnăkhác.ăMtăsăsăkhácăbitădăthyănhtălƠăvicăluătrădăliuătheoădòngăđiăviăcácăHQTăCSDLăquanăhăviăvicăluătrădăliuătheoăctăcaăcácăHQTăCSDLăConlumnăFamily.ăVƠăcácătătngăcaăcăhaiăloiăCSDLănƠyăcũngăhoƠnătoƠnăkhácănhau.ăChúngătaăkhôngăthăápădngăcùngămtăgiiăphápămƠă chúngă taă đƣă să dngă trongă CSDLă quană hă vƠoă CSDLă Conlumnă Family.ă Biă vì,ăCSDLăColumnăFamilyălƠăcácăCSDLăphiăquanăhă[1].ăCácăcôngăcăsẵnăcó:ăBigTable,ầ
Hình 1.3 Dữ liệu dạng Coloumn
Graph databases:ăLƠătpăhpăcăsădăliuăcóădngăđăthătrongăđóăcóăcácănút,ăgiaăcácănútă(nodes)ăcóăquanăhă(relationships),ăthucătínhă(attributes)ăđămôătăvƠăluătră dă liu.ă Cácă côngă că sẵnă có:ă Neo4J,ă Sones,ă AllegroGraph,ă Coreă Data,ă DEX,ăFlockDB,ăInfoGrid,ăOpenLinkăVirtuoso,ầ
Hình 1.4 Dữ liệu dạng Graph [1]
Trang 151.4.2 Các công c trc quan hóa s u li
Trongăthiăgianătrăliăđơy giiăphápăv báo cáo thngăkê trăquaănhiuăthayăđi,ăhină nayă vică ápă dngă cácă báoă cáoă BIă (Business Intelligence) ktă hpă phơnă tíchă(Analytic) đangătrănênăphăbin.ăĐángăchúăýănhtălƠălƠăxuăhngăself-service, nó cung cpăchoăngiădùngăthôngăthngăkhănĕngătăxălýăvƠăphơnătíchăsăliuămƠăkhôngăcnănhiuăkinăthcăchuyênămônăvălpătrìnhăhayăphơnătích
TheoăbáoăcáoăđánhăgiáăcaăGartnerăvăMagicăQuadrantă2017,ăănhómădnădắtă(leaders)ăcácăcôngăcăcaăTableAUăvƠăMicrosoftă(PowerBI)ălƠănhngăhƣngăđngăđuăvăkhănĕngăđápăng,ăcungăcpădchăv
Hình 1.5 Đánh giá các công cụ trình diễn dữ liệu [2]
Power BI: LƠăphnămmăđóngăgóiăcaăMicrosoft,ăngiădùngăcóăthăcƠiăđặtătiăcácămáyăcáănhơn,ăktăniăviănhiuăloiăCSDL.ăĐimămnhăcaăsnăphmălƠăchiăphíăcƠiăđặtăthp.ăTuyănhiênăhnăchăcaăcôngăcălƠăkhănĕngăxălýădăliuăln.ăBênăcnhăđóăcácăbáoăcáoăxoayăchiuă(tngătănhăPivotăTableătrongăexcel)ăvnăchaăđcăhătr
TableAU: LƠămtătrongănhngăphnămmămnhănhtăvătíchăhpăvƠătrìnhădinădăliuă(visualization)ăcũngănhăphơnătíchătrcăquană(visualăanalysis).ăCôngăcăhătrătiăđaăchoăngiădùngă(end-user), giúp ngiădùngăcóăthăchăđngăđnhănghƿaăvƠăđiuăchỉnhăcácăbáoăcáoătrongăthiăgianăngắn.ăĐimămnhăcaăcôngăcălƠăkhănĕngăxălýădăliuăln,ăvicăthayăđi/cpănhtănhanhăchóngăviăcácăgiaoădinăkéoăthă(dragă&ădrop)
Trang 161.4.3 M ng n-ron nhân t o và mô hình d án đo
1.4.3.1 Đnh nghĩa và c u trúc
Đnh nghĩa: lƠămt môăhìnhătoánăhc hay mô hình tính toán đcăxơyădngădaătrên các mngăn-ron sinhăhc.ăNóăgmăcóămtănhómăcác n ronănhơnă to (nút)ăniă -viănhau,ăvƠăxălýăthôngătinăbằngăcáchătruynătheoăcácăktăniăvƠătínhăgiáătrămiătiăcác nút
Trongăthcătăsădng,ănhiuămngăn ronălƠăcácăcôngăc môăhìnhăhóaădăliu thngăkêăphiătuyn.ăChúngăcóăthăđcădùngăđămôăhìnhăhóaăcácămiăquanăhăphcătpăgiaădăliuăvƠoăvƠăktăquăhoặcăđ tìmăkimăcácădng/mu trongădăliu [3]
-Trongăđó,ă mtăn ronălƠă mtăthƠnhăphnă caă mngăn ronă nóăgiúpăxălýă cácă- thôngătin,ăcuătrúcănhăsau:
CácăthƠnhăphnăcăbnăcaămtăn-ron nhơnătoăbaoăgm:ăđuăvƠo,ătrngăsăliênăkt,ăhƠmătng,ăngỡngăvƠăđuăra Căth:
- Đu vƠo (Input): Là các giáătrăđuăvƠo caăn ron,ăcácătínăhiuănƠyăthngăđcăđaăvƠoădiădngămtăvectorăNăchiu.ă
Trng s liên kt (weight): MiăliênăktăđuăđcăgắnăviăcácătrngăsătaăthngăgiălƠătrngăsăliênăkt.ăTrngăsăliênăktăthngăđcăkhiătoănguănhiênăvƠăđcăcpănhtăliătrongăquáătrìnhăhcămng
- Hàm tng (Summing function): bằngătíchăcaăđu vƠoăvi trngăsăliênă kt
Trang 17- Ngỡng (bias): lƠă mtă thƠnhăphnăcaăhƠmătruyn,ăvƠă đcă coiă nhămtăinputăbăsungăviătrngăsăluônăbằngă1
- HƠm truyn (Transfer function) : lƠă hƠmădùngăgiiă hnă đuăraă caă miăn-ron.ăNóănhnăđuăvƠoălƠăktăquăcaăhƠmătngăvƠăngỡngăđƣăcho.ăThôngăthng,ă phmă viă đuă raă caă miă n-ron đcă giiă hnă trongă đonăcác khongă[0,1] hoặcă[-1 ,1] CácăhƠmătruynăcóăthălƠăhƠmătuynătínhăhoặcăphiătuyn
Symmetrical Hard Limit
Trang 18- Đu ra: LƠătínăhiuăđuăraăcaămtăn-ron,ăviămiăn-ron săcóătiăđaălƠămtăđuăra.ă
1.4.3.2 M ng nhi u tng truy n th ẳng
Cóărtănhiuăloiămngăn-ron khác nhau [10], [12], [13], [17]ătrongăđóămngăn-ron truynă thẳngă nhiuă lpă đcă să dngă phă bină nhtă (MLPă- Multi Layer Perceptron).ă Đƣă cóă nhiuă nghiênă cuă să dngă mngăn-ron truynă thẳngă nhiuă lpătrongăbƠiătoánădăbáoă[14], [15], [16], [18]ăvƠăđƣ chngătăđơyălƠăhngătipăcnărtăhiuăqu
Mtămngăn ronănhiuătngătruynăthẳngăthngăsăcóănhiuăhnă2ătngă(nă>=2ătng),ătrongăđóăsătngănăbằngăn 1ăvƠă1ătngăoutput.ăRiêngătngăđuăvƠoă(input)ăkhôngă-đcătính
Kinătrúc ca mng truynăthẳng MLPăbaoăgmăcácăthƠnhăphn:
- ĐuăvƠo vƠăđuăra là các vector trong không gian nhiuăchiu
- Miăn-ronăcaăcácătngăsauăliênăktăviăttăcăcácăn ronătngălinătrcănó-
- Đuăraăcaăn-ron tngătrcălƠăđuăvƠoăcaăn ronăthucătngălinăsauănó.1.4.3.3 Hun luyn mng n-ron
Trang 19khác gi a giá tr th c t và giá tr đuăraălƠăcăs cho vi c hi u ch nh ỉtrng s ccuar m ng Quá trình hu n luy n liên t c và d ng l i khi ừ
mngăđtăđc giá tr sai s nhămongămu Đin n hình cho k thu t này là m ng n -ron lan truy năngc
o H c không giám sát (unsupervised learning): M ng ki u này ph i
t tìmăraăcácăđặcătínhăcũngănhăquyălutătngăquanăgia d liuăđu vƠoăđ t o ra d li uăđu ra Trong quá trình t tìmăraăcácăđặcăđim,
m ng tr i qua quá trình t t ch căđ thayăđi tham s
o Hc tăng cng (Reinforcement learning): Đ i v i h c có giám sát, các giá tr đuăraăđc bi t chính xác v i m iăđu vào Tuy nhiên,
Trang 20trong th c t có m t s trng h p ch bi t ít thông tin chi ti t, ch ng ỉ ẳ
h n m ng ch bi t r ng giá tr u ra th c s quá cao hay có th m ỉ ằ đ ng chỉ cóăđc thông tin ph n h i báo r ằngăđu ra đúngăhayăsai.ăThut
h c d aătrênăthôngătinăđánhăgiáănƠyăđc g i là thu t h c c ng c , thông tin phn hiăđc gi là tín hiuătĕngăcng
Bc 1:ăKhiătoătrngăsăbiăcácă giáă tră nguă nhiênănh.ă
Bc 2:ă Lặpă liă choă tiăkhiăthaămƣnăđiuăkinăktăthúc
Viă miă mu,ă thcă hinăcácăbcăsau:ă
2.1ăTínhăđuăraăoj choămi nút j:
- wji:ătrngăsătrênăxji
- bj:ăngỡngătiănútăthăjă
- oj:ăđuăraăcaănútăthăjă
- tj:ăđuăraămongămunăcaănútăthăjă
Trang 21Đu vào Đu ra Ký hiu
Σxjiwji
2.2ă Viă miă nútă kă thucătngă ra,ă tínhă δk theo công thc:ă
δk = (tk oậ k)(1 ậ ok)ok2.3ă Viă miă nútă hă thucătngăn,ă tínhăδh theo công thc:ă
δh = oh(1 ậ oh) Σδkwkh vi
k Downstream(j)
2.4ă Cpă nht:ăwji = wji +
Δwji TrongăđóăΔwji = ηδkxji
- Downstream(j):ă Tpă ttăcăcácănútănhnăđuăraăcaănútă thă jă lƠmă mtă giáă trăđuăvƠo.ă
- η:ătcăđăhcă
- f:ăhƠmătruynăviăf(x)ă=ă
1 / (1 + e-x)
1.4.3.4 M ng n-ron h i quy (RNN - Recurrent Neural Network)
Đ i v i mngăn ronăthôngăthngăcácăđuăvƠoăvƠăđuăraălƠăđ - c l p và không liên
k t thành chu i M t s bài toán s không phù h p khi áp d ng mô hình này, ví d đoánătừ ti p theo c a m tăcơu,ătrongăđóăđ đoánăđc ta c n bi t l ch s xu t hi n các
t ng ừ đ trcăđóă cácăvĕnăb đ n d y thi t l p cho m ng ,ầăNhngăbƠiătoánănhătrênăphù h p v i m ng h i quy RNN, do mô hình s thc hi n cùng m t tác v cho t t c các ph n t c a m t chu i v iăđ u ra ph thuc vào c cácăphépătínhătrcăđó:
Trang 22Hình 1.6 Mô hình mạng nơ ron hồi quy RNN- [5]
Tuyămng RNN giúpăgiiăquytăcácăbƠiătoánăcóădăliuătunătănhngăkinătrúcăcaămngăkháăđnăginănênăkhănĕngăliênăktăcácăthƠnhăphnăcóăkhongăcáchăxaătrongăcơuăkhôngătt Nguyên nhân do mngăhiăquyăRNNăchuănhăhngăbiăgradientă(đădc) băthpădnătrongăquáătrìnhăhc (vanishingăgradient).ăGradientăliălƠăthƠnhăphnăquanătrngăbcănhtătrongăvicăhunăluynăcácămodel.ăVìăthăkhiăgiáătrăcaăgradientăđcătoăbiăcácăthƠnhăphnăphíaăđuăđonăvĕnătrănênăquáănh,ănóăsăkhôngăđóng góp gìăchoăvicăhcăcaămodel.ăTừăhnăchănƠyătaănhnăthyăkinătrúcăcaămngăhiăquyăRNNăkhôngăcóăcăchălcă(filter)ăvƠăbăđiăcácăthôngătinăkhôngăcnăthit,ăđiuăđóădnăđnăbănhăsăđnăngỡngăvƠăsăbăđiănhngădăliuătrcăđóăăxaătrongăquáăkh
Đ kh c ph c các h n ch c a m ng RNN nêu trên, m t phiên bắ năđặc bi t c a
m ng RNN là m ng LS™ (Long Short Term Memory) đƣăđcăraăđi:
Mng LSTM là mtădngăđặcăbităcaămôăhìnhămngăRNN Đimăchínhătrongăkină trúcă mngă caă LSTMăchínhălƠăcác memory cell viăcácăcngăchoă phépăluătrăhoặcătruyăxutăthôngătin.ăCácăcngănƠyăchoăphépăghiăđèă(inputăgate),ăloiăbădăthừaă(forgetă gate)ă vƠă truyă xută (outpută gate)ă cácă thôngă tină đcă luă tră bênă trong các memory cell
Trang 24- Bc 3: C p nh tăcellstateăcũă ứ1 vào cell state m i
- Bcă4:ăQuytăđnhăđuăraălƠăgì.ăChyătínăhiuăquaătngăsigmoidăđăquytăđnhăphnătănƠoăsătácăđngăđnăđuăra.ăSauăđóăđaăcellstateăđiăquaămtăhàm tanh (đyăgiáătrăvƠoăkhongă 1ăvƠă1)ăvƠănhơnăviămtăoutputăsigmoidă-gate,ăđăgiăliănhngăphnătaămunăoutputăraăngoƠi
Kt lun chng 1:
SăphátătrinăkhôngăngừngăcaăCNTT,ăcácădăliu,ăthôngătinăhinăđƣăvƠăđangăđcăsăhóaătừngăngƠy.ăVicăkhaiăthácăcácăthôngătinăvƠăngădngăvƠoăcácănhuăcuăcaăxƣăhiălƠăđiuăttăyu.ăTuyănhiên,ădoăthôngătinăthuăthpăđcătừăinternetărtăđaădngăvăcuătrúcăluătr,ăthêmăvƠoăđóăvicăphơnătíchăxuăhngăviătpădăliuălnălƠăđiuăkhôngăđnăgin
Sauăkhiănghiênăcuăthcăt,ătácăgiăđăxutăxơyădngămtăhăthngăhoƠnăchỉnhăbaoăgmăcác Mô-đunăđápăngăvicăđngăb,ăluătr,ăphân tích vƠădăbáoăxuăhngădaătrênăcácădăliuăthuăthpăđc.ăĐiăviăhăthngăCSDLăphiăđmăboătínhălinhăhot,ăcóăkhănĕngămărngănhanhăchóngăđngăthiăcóăthătruyăsutăhiuănĕngăcao.ăĐiăviăMô-đunătngăhpăthôngătinăvƠăphơnătíchădăliuăphiăđápăngăđcăcácăbƠiătoánăvăbáoăcáoăthngăkê,ăphơnătíchăxuăthăvƠădăbáoăxuăhngătrongătngălai.ăQuaăphơnătíchăđƣănêuăăcácă phnă trên,ă tácă giă đă xută să dngă hă CSDLă Non Sqlă mƠă că thă lƠă hă thngă-MongoDB (trinăkhaiătheoămôăhìnhăshardedăcluster),ăhăthngătrìnhăbƠy,ăhinăthădăliuăsăsădngălƠăTableAU.ăRiêngăđiăviăMô đunăphơnătíchătácăgiăđƣătrìnhăbƠyătngă-
Trang 25quátăvămngăN ron,ăcáchăthcăhotăđngăvƠăđaăraăcácămôăhìnhăRNNăđăphcăvăttăchoăcôngătácădăbá trongăđóămôăhìnhăo, LS™ (Long Short Term Memory) đcăđánhăgiáălƠăcóănhiuăuăđim vƠăphùăhpăviăbƠiătoánăhinăti.ăMôăhìnhănƠyăsăđcănghiênăcuăvƠătrinăkhaiălênăhăthngădăbáoăxuăhngăăChngă2
Trang 26-CHNG 2: XÂY DNG CHNG TRÌNH THU THP VÀ PHÂN TÍCH XU
HNG NGH NGHI P TrongăchngănƠyătácăgiăsăphơnătíchăvƠăxơyădngăhăthng đngăbăthôngătin,ătăchcăluătrădăliuăvƠăphơnătíchăxuăthătừăcác thôngătinătuynădngătrênăinternetătừăcácămcătiêuăđƣăđcălaăchnătrcăbaoăgmăcácăbcăchínhănhăphơnătíchămcătiêuăcũngănhăthităkăhăthngăcăsădăliu;ăkinătrúcătngăquát,ầ
Trang 272.2 Gii quyt bài toán
2.2.2 Các công c gi i quy t yêu c u
2.2.2.1 Mô đun thu thp d li- u
MôăđunăthuăthpădăliuăđcăxơyădngătrênăngônăngăPythonăviăcácăthƠnhăphnăđcămôătănhătrongăHìnhă3.2
Hình 2.2 Luồng thu thập dữ liệu
HăthngăbaoăgmăcácăthƠnhăphn:
- CuăhìnhăvƠălpălchăquétăcácădăliu:
o Thitălpăcácăđngădn/folder/DBăđătinătrìnhăđnhăkỳăquét
o Đnhănghƿaăcácălută(rules)ăđăphơnăbităcácădăliuămiăsinhăđăthuăthpăv
- Chuynăđiădăliuărawăvădngăchunăhóa
o ThcăhinămappingădăliuăgiaădăliuărawăvƠădngădăliuămongă
Trang 28- Lưu đồ các bước xử lý
Hình 2.3 Các bước thu thập dữ liệu
-Bcă1:ăLoadăcuăhìnhăvƠoăchngătrìnhăscanădăliuăbaoăgmăcácăthôngătin:ăđngădn,ăruleăphátăhinăraăcácăloiăfileămi
Bcă2:ăThitălpăchuăkỳăchyăcaătinătrìnhătheoăđnăvăthiăgianămongămună(thngăđălƠăphút).ăSauăkhiăthitălpăăsauămiăkhongăthiăgianăđcăthitălp sau khi ktăthúcăvicăquétădăliuăcaălnătrcăđó,ătinătrìnhăquétădăliuăsăđcăactiveăli
Bcă3ă&ă4:ăTừăcácăcuăhìnhăđƣăđcăđnhănghƿaătrongăfileăconfiguration,ătinătrìnhăsătruyăcpăvƠoăcácăfolder/databaseătheoăcácăđngădn
Bcă 5:ă Daă vƠoă lută phátă hină dă liuă mi,ă tină trìnhă să lyă đcă cácăfiles/recordămiăcnăđcăxălý.ăThcăhinăchuynăđiădăliuătừădngăRawăvădngămongămunăthôngăquaăcuăhìnhămappingădăliu.ăSauăkhiăthuăthpăvƠămappingădăliuăxongăsăgiăvƠăcpănhtăvƠoăcăsădăliu thông qua GatewayAPI, tinătrìnhăsăsleepătheoăcuăhình
2.2.2.2 API Gateway
Phơnă hă APIă Gatewayă đcă phátă trină trênă ngônă ngă C#ă viă cácă thƠnhă phnăđcămôătătrongăHìnhă3.4
Trang 29Hình 2.4 Kiến trúc API Gateway
- Query №des:
o LƠăcácănodeăgnăviătngăCSDLănht,ăđcăphátătrinăđcăphátătrinăphcăvăcácămcăđíchăđặcăthùăcaănghipăv,ăcácănodeăcóăthătrinăkhaiă đcă lpă trênă cácă hă tngă khácă nhauă viă chcă nĕngă nhăInsert/Update/Delete :
NhnăThcăhină ktă niă vƠătruyăvnălyăcácădă liuă theoăcácăđiuăkinăđcătruynăvƠo.ă
ChunăhóaăcácănghipăvăthƠnhăcácăhƠmă(function)ăvƠăcácăbinăs.ă
Trang 302.2.2.3 H thng lu tr li d u
DăliuătuynădngăđcăluătrătrênăcăsădăliuăMongoDBăvƠăđcăqunălýăbằngăMongoDBăOpsăManager
Kin trúc tng quát
Hình 2.5 Kiến trúc CSDL MongoDB [6]
H thng bao gm các thƠnh phn nh sau:
Trang 312.2.2.4 Công c trình din d li u
LunăvĕnăsădngăcôngăcăTableAUăchoămcăđíchătrìnhădinăcácăthôngătinăphơnătíchătuynădng
Hình 2.6 Kiến trúc công cụ phân tích, trình bày dữ liệu TableAU [7]
H thng bao gm các thƠnh phn nh sau:
- Dataă Connector:ă LƠă thƠnhă phnă choă phépă ngiă dùngă đnhă nghƿaă cácăDatasource
- Mainăcomponents:ăToăraăcácăviewănhìnădăliuăbaoăgmăcácăbiuăđăvƠădăliuăchiătit
Trang 322.2.2.5 Mô đun phơn tích, d đoán xu hng
đ tài lunăvĕnănƠy,ătácăgi khôngăđiătrin khai l i các thu tătoánăcũngănhăphát tri n l i các ch cănĕngăd báo vnăđƣăcóărt nhiuăthăvin cung c p s d ng trên ngôn ng l p trình Python nh:ăKeras, Tensorflow, Sklearn Tác gi s v n d ng các thă vi n s n có nêu trên k t h p v i vi c xây d ng m t chẵ cănĕngăcuăhìnhăđng cho phépă ngi dùng có th thi t l p b t c m t phân tích nào v i các tham s mong mun
Mô-đun s g m 03 chcănĕngăchính: C u hình tham s , thu th p d u và th li c
d ng, l c theo công ty tuy n d ng, l c theo ngành ngh ,ầ
o Thi gian l y d liuăđ hu n luy n