Tải bản đầy đủ (.pdf) (46 trang)

(TIỂU LUẬN) PHÂN TÍCH dữ LIỆU MẠNG xã hội và WEBSITE để xây DỰNG bộ DANH SÁCH NHỮNG địa điểm DU LỊCH TIỀM NĂNG và AN TOÀN

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (3.67 MB, 46 trang )

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC KINH TẾ LUẬT
KHOA HỆ THỐNG THƠNG TIN
____

“PHÂN TÍCH DỮ LIỆU MẠNG XÃ HỘI VÀ WEBSITE
ĐỂ XÂY DỰNG BỘ DANH SÁCH NHỮNG ĐỊA ĐIỂM
DU LỊCH TIỀM NĂNG VÀ AN TOÀN”

GVHD: ThS Đặng Nhân Cách
Nhóm thực hiên: Nhóm A-MEO
Trần Hải Hồng

K164111533

Tơ Nguyễn Nhật Duy

K164111513

Nguyễn Mỹ Kỳ

K164111538

Cao Văn Tâm

K164111567

Nguyễn Thị Linh Tâm

K164111568


TP Hồ Chí Minh, Ngày 24 tháng 05 năm 2019

Tieu luan


MỤC LỤC
CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI
1.1, Lí do chọn đề tài .................................................................................................... 6
1.2, Mục tiêu đề tài ....................................................................................................... 7
1.3, Phạm vi và đối tượng nghiên cứu ........................................................................... 7
1.4, Phương pháp nghiên cứu ........................................................................................ 8
1.5, Ý nghĩa đề tài ......................................................................................................... 8
1.6, Kết cấu đề tài ......................................................................................................... 8

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
2.1, Ngơn ngữ lập trình ............................................................................................... 10
2.1.1, R .................................................................................................................... 10
2.1.1.1, Định nghĩa R .................................................................................................. 10
2.1.1.2, Ứng dụng của R ............................................................................................. 10
2.1.2, Python ............................................................................................................... 11
2.1.2.1, Định nghĩa Python .......................................................................................... 11
2.1.2.2, Tính năng chính của Python ........................................................................... 11
2.1.3, Java ................................................................................................................... 12
2.1.3.1, Định nghĩa Java .............................................................................................. 12
2.1.3.2, Ứng dụng của Java ......................................................................................... 13
2.1.3.3, Đặc điểm của Java .......................................................................................... 13
2.2, New York Times .................................................................................................. 14
2.3, The Guardian ....................................................................................................... 15
2.4, The Travel Magazine ........................................................................................... 15
2.5, Twitter ................................................................................................................. 15

2.6, API – Application Programming Interface............................................................ 17
2.6.1, Định nghĩa API ................................................................................................. 17
2.6.2, Ví dụ về API ..................................................................................................... 17
2.6.3, Những điều cần biết về API ............................................................................... 18
2.6.4, Đặc điểm của API hiện đại ................................................................................ 19

CHƯƠNG 3: TRIỂN KHAI PHÂN TÍCH DỮ LIỆU
3.1, Quy trình phân tích .............................................................................................. 20
3.1.1, Đặt vấn đề ......................................................................................................... 20
3.1.2, Phân tích dữ liệu................................................................................................ 20
a. Lấy dữ liệu từ hai trang web thetravelmagazine.net và theguardian.com thơng qua ngơn
ngữ java trên eclipse và phân tích ................................................................................ 20
b. Phân tích kết quả ..................................................................................................... 24
Page | 1

Nhóm A-Meo

Tieu luan


3.1.3, Thực chứng mức độ đánh giá của 10 địa điểm hàng đầu: ................................... 28
a. Lấy dữ liệu thu thập được trên twitter tiến hành phân độ tích cực tiêu cực từ tweet. . 29
b. Vẽ biểu đồ mức độ đánh giá của top 10 nước được nhắc đến trong bộ dữ liệu ......... 37
c. Chứng minh và đánh giá .......................................................................................... 38
3.2, Kết quả thu được và tạo bộ danh sách các điểm đến: ............................................ 39

CHƯƠNG 4: KẾT LUẬN VÀ ĐÁNH GIÁ
4.1, Tóm tắt nội dung và kết quả của đề tài ................................................................. 40
4.2, Ưu điểm ............................................................................................................... 40
4.3, Nhược điểm ......................................................................................................... 40

4.4, Hướng phát triển của đề tài .................................................................................. 41

BÁO CÁO Q TRÌNH LÀM VIỆC NHĨM
I. Danh sách thành viên: .............................................................................................. 42
II. Quy định làm việc của nhóm: ................................................................................. 42
III. Bảng phân công nhiệm vụ: .................................................................................... 43
IV. Tổng kết: .............................................................................................................. 44

Page | 2

Nhóm A-Meo

Tieu luan


MỤC LỤC HÌNH ẢNH
Hình 2.1 Biểu tượng đặc trưng của Twitter ............................................................... 16
Hình 2.2 API cho phép 2 ứng dụng có thể giao tiếp với nhau .................................... 17
Hình 3.1 Code lấy link trang web.............................................................................. 20
Hình 3.2 Code lấy link dưới dạng file csv ................................................................. 21
Hình 3.3 Source web thetravelmagazine.net.............................................................. 21
Hình 3.4 Source web theguardian.com ...................................................................... 21
Hình 3.5 Code lấy dữ liệu trên eclipse của thetravelmagazine.net ............................. 22
Hình 3.6 Code lấy dữ liệu trên eclipse trên theguardian.com ..................................... 22
Hình 3.7 Nội dung các bài báo trên thetravelmagazine.net ........................................ 23
Hình 3.8 Nội dung các bài báo trên theguardian.com ................................................ 23
Hình 3.9 Kết quả các địa điểm trong bài báo ............................................................. 24
Hình 3.10 Thống kê các địa điểm du lịch trong các bài báo bằng excel ..................... 25
Hình 3.11 Kết quả các địa điểm được lặp lại nhiều nhất ............................................ 25
Hình 3.12 Code R – wordcloud bộ dữ liệu ................................................................ 26

Hình 3.13 Wordcloud bộ dữ liệu ............................................................................... 26
Hình 3.14 Kết quả wordcloud các địa điểm............................................................... 27
Hình 3.15 Biểu đồ top địa điểm được nhắc đến nhiều nhất........................................ 28
Hình 3.16 Biểu đồ độ phủ của 5 quốc gia được nhắc đến nhiều nhất ......................... 28
Hình 3.17 Bước 1 Lấy API Twitter ........................................................................... 29
Hình 3.18 Bước 2 lấy API Twitter ............................................................................ 30
Hình 3.19 Bước 3 lấy API Twitter ............................................................................ 30
Hình 3.20 Code lấy tweet.......................................................................................... 31
Hình 3.21 Bộ dữ liệu thu được từ Twitter ................................................................. 31
Hình 3.22 Dữ liệu thu được ...................................................................................... 31
Page | 3

Nhóm A-Meo

Tieu luan


Hình 3.23 Code làm sạch dữ liệu .............................................................................. 32
Hình 3.24 Dữ liệu sau khi làm sạch........................................................................... 32
Hình 3.25 Code đánh giá và thống kê ....................................................................... 33
Hình 3.26 Kết quả đánh giá America ........................................................................ 33
Hình 3.27 Kết quả đánh giá Australia ....................................................................... 34
Hình 3.28 Kết quả đánh giá Brazil ............................................................................ 34
Hình 3.29 Kết quả đánh giá Canada .......................................................................... 35
Hình 3.30 Kết quả đánh giá France ........................................................................... 35
Hình 3.31 Kết quả đánh giá Iceland .......................................................................... 36
Hình 3.32 Kết quả đánh giá India .............................................................................. 36
Hình 3.33 Kết quả đánh giá Spain ............................................................................. 37
Hình 3.34 Kết quả đánh giá UK ................................................................................ 37
Hình 3.35 Kết quả tổng hợp đánh giá tích cực tiêu cực ............................................. 38

Hình 3.36 Biểu đồ mức độ tích cực, tiêu cực............................................................. 38
Hình 3.37 Danh sách 10 điểm đến ............................................................................ 39

Page | 4

Nhóm A-Meo

Tieu luan


Lời cảm ơn
Trong q trình thực hiện và hồn thiện đồ án môn học, chúng em đã nhận được
sự giúp đỡ, động viên và chỉ dạy hết mình của quý thầy cô, anh chị và các bạn. Bằng
sự biết ơn chân thành và sâu sắc nhất, chúng em xin trân trọng gửi lời cảm ơn đến:
Qúy thầy, quý cô cùng ban giám hiệu trường Đại học Kinh tế Luật đã tạo điều kiện
và môi trường học tập tốt nhất trong suốt thời gian chúng em theo học tại trường. Qúy
thầy, quý cô của khoa Hệ thống thông tin đã hết lòng truyền đạt kiến thức và những kĩ
năng quý báu để chúng em có nền tảng vững chắc và ngày càng hồn thiện bản thân.
Chúng em xin kính chúc thầy cô thật nhiều sức khỏe và gặt hái được nhiều thành công
trong công việc và cuộc sống.
Thầy Đặng Nhân Cách - giảng viên trực tiếp hướng dẫn đã luôn luôn hỗ trợ, theo
sát và định hướng cách triển khai phù hợp với năng lực của chúng em. Đồng thời,thầy
luôn đưa ra những ý kiến xây dựng giúp chúng em hoàn thành đồ án với kết quả tốt nhất.
Chúng em luôn xem những lời động viên, quan tâm của thầy là động lực để phấn đấu.
Chúng em xin chân thành cảm ơn thầy. Chúc thầy thật nhiều sức khỏe đẻ tiếp tục sứ
mệnh trồng người và giúp đỡ cho nhiều thế hệ sinh viên hơn.
Xin cảm ơn gia đình, bạn bè, các anh chị cựu sinh viên đã luôn bên cạnh để động
viên, giúp đỡ về cả tinh thần lẫn kiến thức. Đó là nguồn động viên to lớn cho chúng em
suốt thời gian qua.
Bên cạnh đó, kiến thức chun mơn còn hạn chế và bản thân còn thiếu nhiều kinh

nghiệm thực tiễn nên nội dung của đồ án không tránh khỏi những thiếu xót, chúng em
kính mong sẽ nhận được những ý kiến quan tâm, sự góp ý của thầy cơ và bạn đọc để
bài báo cáo được hồn thiện hơn.
Chúng em xin chân thành cảm ơn!

Page | 5

Nhóm A-Meo

Tieu luan


CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI
1.1, Lí do chọn đề tài
Bước vào kỉ nguyên 4.0, thế giới đang đón chào một thời đại mới với sự phủ sóng
trên diện rộng. Công nghệ đi vào đời sống con người và chiếm giữ những vai trò đặc
biệt quan trọng. Những tiến bộ khoa học kĩ thuật này đang góp phần thay đổi và nâng
cao chất lượng cuộc sống của nhân loại. Từ những nhu cầu cơ bản nhất như: ăn mặc,
nghĩ ngơi… đến nhu cầu cao hơn về giải trí, di chuyển đều được cải thiện một cách đáng
kể. Đặc biệt, con người chú trọng nhiều đến du lịch và nghĩ dưỡng như một cách để cân
bằng cuộc sống. Khoảng cách địa lý khơng cịn là rào cản lớn, bất đồng ngơn ngữ cũng
có thể dễ dàng xóa bỏ những tiến bộ công nghệ.
Du lịch đang trở thành một nghành kinh tế mũi nhọn ở hầu hết các quốc gia và
tiềm năng phát triển lớn trong thời gian tới. Trong một thập kỉ vừa qua, du lịch đã phát
triển vượt bậc về cả quy mô lẫn chất lượng. Người người nhà nhà có xu hướng dịch
chuyển đến nhưng nơi ở khoảng cách xa hơn để có thêm nhiều trải nghiệm và khám phá
mới. Xét theo khu vực, châu Âu là thị trường lớn nhất, đón 619,7 triệu lượt khách quốc
tế đến năm 2016, chiếm hơn một nửa thị phần (50,2%). Tiếp theo là châu Á – Thái Bình
Dương với 302,9 triệu lượt khách (24,5%), châu Mỹ với 200,9 triệu lượt (16,3%), châu
Phi với 58,2 triệu lượt (4,7%) và Trung Đông với 53,6 triệu lượt (4,3%). Về tăng trưởng

khách du lịch quốc tế năm 2016, khu vực châu Á-Thái Bình Dương tiếp tục dẫn đầu với
mức tăng 8,4%, do nhu cầu tăng mạnh của các thị trường nguồn trong và ngoài khu vực.
Sau 2 năm giảm liên tiếp, lượng khách quốc tế đến châu Phi năm 2016 phục hồi tăng
trưởng trở lại (+8,1%). Châu Mỹ duy trì mức tăng trưởng 4,3%. Châu Âu tăng trưởng
khách chậm lại với mức tăng 2% và Trung Đông giảm 4,1%.Theo Hội đồng Du lịch và
Lữ hành thế giới (WTTC), năm 2016, tốp 5 thị trường nguồn có chi tiêu du lịch outbound
cao, chiếm đến gần một nửa (47,5%) tổng chi tiêu du lịch outbound toàn cầu, bao gồm:
Trung Quốc (21,2%), Mỹ (11,1%), Đức (6,4%), Vương quốc Anh (5,3%) và Pháp
(3,5%). Đáng chú ý thị trường Trung Quốc chiếm tới trên 1/5 tổng chi tiêu du lịch
outbound toàn cầu. Năm 2016, đóng góp trực tiếp của du lịch và lữ hành vào GDP đạt
hơn 2,3 nghìn tỷ USD, tăng trưởng 3,1% so với năm 2015. Mức tăng này cao hơn so với
mức tăng trưởng nền kinh tế toàn cầu (2,5%); và cũng cao hơn mức tăng trưởng của các

Page | 6

Nhóm A-Meo

Tieu luan


ngành như xây dựng, dịch vụ tài chính, sản xuất, bán buôn bán lẻ; chỉ thấp hơn mức tăng
trưởng của ngành thông tin và truyền thông.
Tuy nhiên, thực tế cho thấy phần lớn các khách du lịch đều có trải nghiệm khơng
trọn vẹn với lịch trình và chuyến đi của mình. Một vài trường hợp du khách nhận được
các thơng tin sai lệch hoặc quá phô trường về điểm đến khi tham khảo trên các website,
các trang báo… Một vài trường hợp khác gặp khó khăn khi có những phát sinh bất ngờ
tại địa điểm du lịch hư: bạo động, trộm cắp, tình hình chính trị phức tạp. Cá biệt, một và
trường hợp chưa nắm bắt đầy đủ thông tin cần thiết và khơng có nguồn thơng tin đáng
tin cậy để tham khảo trước khi du lịch. Những rào cản này thực sự gây ra sức ép rất lớn
lên thị trường du lịch và tạo ra những tiêu cực lớn, ảnh hưởng đến trải nghiệm du lịch

của mọi người.
Đề tài “Phân tích dữ liệu mạng xã hội và website để xây dựng bộ danh sách những
địa điểm du lịch tiềm năng và an toàn” hy vọng sẽ cung cấp đầy đủ các thơng tin, dữ
liệu chính xác và minh bạch về các điểm đến trên thế giới. Qua đó, giúp người đọc có
cái nhìn tổng qt và có thể tìm hiểu được điểm đến phù hợp.
1.2, Mục tiêu đề tài
Mục tiêu lớn nhất của đề tài là xây dựng thành cơng và hồn thiện bộ danh sách
những địa điểm du lịch tiềm năng và an toàn. Đề tài được thiết kế và phát triển đáp ứng
các yêu cầu dưới đây:
-

Khách du lịch có thể dễ dàng tìm kiếm các thơng tin, tra cứu và tìm hiểu về các
điểm đến.

-

Áp dụng những kiến thức của môn học vào đề tài, vận dụng thành thục và hiểu rõ
về các kĩ thuật được đưa vào đồ án.

-

Bộ dữ liệu đầy đủ, đáng tin cậy từ các nguồn uy tín.

-

Phát triển đề tài có tính thực tiễn cao, có khả năng triển khai và đưa vào ứng dụng
thực tế, giúp người dùng dễ dàng sử dụng và đáp ứng nhu cầu.

1.3, Phạm vi và đối tượng nghiên cứu
-


Phạm vi nghiên cứu: Các trang web uy tín, twitter. Các ứng dụng, phần mềm phân
tích dữ liệu như: Eclipse, Ngôn ngữ R,… Các nguồn thông tin khác về du lịch trên:
báo chí, mạng xã hội…
Page | 7

Nhóm A-Meo

Tieu luan


-

Đối tượng nghiên cứu: Người đọc có nhu cầu về du lịch. Các bài báo về du lịch,
các bài đăng về chủ đề du lịch trên mạng xã hội. Các nguồn dữ liệu phục vụ đề tài
về: sản phẩm, khách hàng, hành vi mua.

1.4, Phương pháp nghiên cứu
-

Phương pháp phỏng vấn, khảo sát: Thực hiện các cuộc khảo sát về nhu cầu thực tế
về du lịch của các đối tượng tiềm năng. Phỏng vấn trực tiếp các du khách về mong
muốn, kì vọng và đề xuất để tối ưu bộ danh sách các điểm đến an toàn và thú vị.

-

Phương pháp thống kê, so sánh: Thống kê những số liệu các bài báo du lịch hiện
nay. So sánh hiệu quả và lợi ích của chung mang lại cho người dùng. Từ đó, rút ra
hướng phân tích phù hợp với xu thế chung.


-

Phương pháp phân tích, tổng hợp: Thu thập những dữ liệu đã khảo sát được và dữ
liệu được thống kê. Tiến hành phân tích và tổng hợp dữ liệu để xây dựng và hoàn
thiện bộ danh sách. Đây là bước đi quan trọng, hình thành hướng đi chính và mục
đích của đề tài.
Bên cạnh đó, nhóm thường xun trao đổi, phản biện cùng với giáo viên hướng

dẫn để tìm ra những giải pháp tối ưu và hoàn thiện đề tài. Áp dụng những kiến thức được
học và tìm tịi những cách phân tích hiệu quả mới.
1.5, Ý nghĩa đề tài
Ý nghĩa lớn nhất của nhóm khi tiến hành xây dựng đề tài “Phân tích dữ liệu mạng
xã hội và website để xây dựng bộ danh sách những địa điểm du lịch tiềm năng và an
toàn” là tạo ra một bộ danh sách phù hợp với nhu cầu du lịch của mọi người. Du khách
khi tham khảo những thông tin bổ ích từ bộ dữ liệu có thể có trải nghiệm tốt nhất tại
điểm đến mà nhóm gợi ý,tiết kiệm được thời gian, công sức tra cứu. Đây cũng là cơ hội
để nhóm áp dụng và thực hành những kiến thức vơ cùng bổ ích của mơn học vào đề tài.
1.6, Kết cấu đề tài
Đề tài được chia làm 04 chương như sau:
Chương 1: Tổng quan về đề tài. Trình bày về tổng quan về đề tài bao gồm lý do
hình thành đề tài, mục tiêu, phương pháp thực hiện, ý nghĩa thực tiễn và bố cục của đề
tài.

Page | 8

Nhóm A-Meo

Tieu luan



Chương 2: Cơ sở lý thuyết. Trình bày cơ sở lý thuyết về ngơn ngữ lập trình R,
Python, Java, về các trang mạng xã hội New York Times, Twitter và API. Đồng thời,
chương cũng đề cập đến nguyên lý 20/80 Pareto.
Chương 3: Triển khai phân tích dữ liệu. Trình bày về quy trình thực hiện bao
gồm: cách lấy dữ liệu, cách phân tích dữ liệu, cách mơ hình hóa dữ liệu.
Chương 4: Kết luận và đánh giá. Tóm tắt lại nội dung, kết quả của đề tài, đánh
giá tính khả thi của đề tài, trình bày những ưu điểm, hạn chế và hướng phát triển của đề
tài.

Page | 9

Nhóm A-Meo

Tieu luan


CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
2.1, Ngơn ngữ lập trình
2.1.1, R
2.1.1.1, Định nghĩa R
R là một ngơn ngữ lập trình và mơi trường phần mềm dành cho tính tốn và đồ
họa thống kê. Đây là một bản hiện thực ngôn ngữ lập trình S với ngữ nghĩa khối từ vựng
lấy cảm hứng từ Scheme. R do Ross Ihaka và Robert Gentleman tạo ra tại Đại học
Auckland, New Zealand. Kể từ khi ra đời, rất nhiều nhà nghiên cứu thống kê và toán
học trên thế giới ủng hộ và tham gia vào việc phát triển R, đến nay do R Development
Core Team chịu trách nhiệm phát triển. Tên của ngôn ngữ một phần lấy từ chữ cái đầu
của hai tác giả (Robert Gentleman và Ross Ihaka), một phần cũng là cách chơi chữ từ
tên S.
Ngôn ngữ R đã trở thành một tiêu chuẩn trên thực tế (de facto) giữa các nhà thống
kê cho thấy sự phát triển của phần mềm thống kê. R hỗ trợ rất nhiều cơng cụ cho phân

tích dữ liệu, khám phá tri thức và khai mỏ dữ liệu nhưng lại là phần mềm miễn phí mã
nguồn mở. Hơn nữa R rất dễ học và có thể phát triển nhanh các ứng dụng tính tốn xác
suất thống kê, phân tích dữ liệu. R cịn là một bộ phận của dự án GNU. Mã nguồn của
nó được cơng bố tự do theo Giấy phép cơng cộng GNU, và có các phiên bản dịch sẵn
cho nhiều hệ điều hành khác nhau. R sử dụng giao diện dòng lệnh, tuy cũng có một
vài giao diện đồ họa người dùng dành cho nó.
Cho đến này nay, R đã phát triển khơng ngừng và ngày càng có nhiều nhà khoa
học, tốn học sử dụng R để phân tích dữ liệu. Trong tương lai, có thể sẽ khơng cần đến
các phần mềm thống kê đắt tiền như SPSS để phân tích thống kê nữa mà thay vào đó sẽ
là R.
2.1.1.2, Ứng dụng của R
-

Bạn có thể chạy code mà khơng cần đến bất cứ compiler nào: R là ngôn ngữ thông
dịch ( interpreted language ). Do đó code có thể chạy mà khơng cần compiler. R
thông dịch code và làm cho việc viết code đơn giản hơn, dễ phát triển hơn.

-

Bất một phép tính nào cũng có thể thực hiện trên vectors: R là một vector-language,
do đó chúng ta có thể dùng bất kỳ function nào trên một vector mà không cần phải
Page | 10

Nhóm A-Meo

Tieu luan


dùng vịng lặp. Ví dụ: bạn có một mảng và phải tăng mỗi phần tử lên +1. Nếu
không sử dụng vector, bạn sẽ cần lặp qua tất cả phần tử và cần n phép +1 cho n

phần tử. Nếu bạn lưu mảng đó vào vector thì chỉ cần 1 phép +1 là xong.
-

Đây là Statistical-Language: R được dùng trong sinh học, di truyền học và thống
kê dữ liệu. R là ngơn ngữ turing-complete có nghĩa nó có thể hồn thành bất kỳ
thuật toán nào.

2.1.2, Python
2.1.2.1, Định nghĩa Python
Python là một ngơn ngữ lập trình bậc cao cho các mục đích lập trình đa năng,
do Guido van Rossum tạo ra và lần đầu ra mắt vào năm 1991. Python được thiết kế với
ưu điểm mạnh là dễ đọc, dễ học và dễ nhớ. Python là ngơn ngữ có hình thức rất sáng
sủa, cấu trúc rõ ràng, thuận tiện cho người mới học lập trình. Cấu trúc của Python cịn
cho phép người sử dụng viết mã lệnh với số lần gõ phím tối thiểu.
Python hoàn toàn tạo kiểu động và dùng cơ chế cấp phát bộ nhớ tự động; do vậy
nó tương tự như Perl, Ruby, Scheme, Smalltalk, và Tcl. Python được phát triển trong
một dự án mã mở, do tổ chức phi lợi nhuận Python Software Foundation quản lý.
Ban đầu, Python được phát triển để chạy trên nền Unix. Nhưng rồi theo thời gian,


đã

"bành

trướng"

sang

mọi hệ


điều

hành từ MS-DOS đến Mac

OS,

OS/2, Windows, Linux và các hệ điều hành khác thuộc họ Unix. Mặc dù sự phát triển
của Python có sự đóng góp của rất nhiều cá nhân, nhưng Guido van Rossum hiện nay
vẫn là tác giả chủ yếu của Python. Ông giữ vai trò chủ chốt trong việc quyết định hướng
phát triển của Python.
2.1.2.2, Tính năng chính của Python
Ngơn ngữ lập trình đơn giản, dễ học: Python có cú pháp rất đơn giản, rõ ràng, dễ
đọc và viết hơn rất nhiều khi so sánh với những ngơn ngữ lập trình khác như C++, Java,
C#. Python tập trung vào những giải pháp chứ không phải cú pháp. Tính tự nhiên của
mã giả trong Python là 1 trong các điểm mạnh nhất của ngôn ngữ này. Điều này giúp
cho lập trình viên tập trung vào giải pháp giải quyết vấn đề hơn là việc tập trung vào
ngơn ngữ.

Page | 11

Nhóm A-Meo

Tieu luan


Miễn phí, mã nguồn mở: Vì là mã nguồn mở, bạn khơng những có thể sử dụng các
phần mềm, chương trình được viết trong Python mà cịn có thể thay đổi mã nguồn của
nó. Một trong những lý do Python là ngơn ngữ mạnh vì nó được cộng đồng thường
xun phát triển và nâng cấp.
Khả năng di chuyển: Các chương trình Python có thể di chuyển từ nền tảng này

sang nền tảng khác và chạy nó mà khơng có bất kỳ thay đổi nào. Nó chạy liền mạch trên
hầu hết tất cả các nền tảng như Windows, macOS, Linux.
Khả năng mở rộng và có thể nhúng: Python cho phép người dùng có thể dễ dàng
kết hợp các phần code bằng C, C++ và những ngơn ngữ khác (có thể gọi được từ C) vào
code Python. Điều này sẽ cung cấp cho ứng dụng của người lập trình những tính năng
tốt hơn cũng như khả năng scripting mà những ngôn ngữ lập trình khác khó có thể làm
được.
Ngơn ngữ thơng dịch cấp cao: Khơng giống như C/C++, với Python, người lập
trình khơng phải lo lắng những nhiệm vụ khó khăn như quản lý bộ nhớ, dọn dẹp những
dữ liệu vô nghĩa... Khi chạy code Python, nó sẽ tự động chuyển đổi code sang ngơn ngữ
máy tính có thể hiểu.
Thư viện tiêu chuẩn lớn để giải quyết những tác vụ phổ biến: Python có một số
lượng lớn thư viện tiêu chuẩn giúp cho cơng việc lập trình của bạn trở nên dễ thở hơn
rất nhiều, đơn giản vì khơng phải tự viết tất cả code.
Hướng đối tượng: Mọi thứ trong Python đều là hướng đối tượng. Lập trình hướng
đối tượng (OOP) giúp giải quyết những vấn đề phức tạp một cách trực quan. Với OOP,
người dùng có thể phân chia những vấn đề phức tạp thành những tập nhỏ hơn bằng cách
tạo ra các đối tượng. Nếu so sánh với C++ hoặc Java, Python rất mạnh nhưng lại cực kỳ
đơn giản để thực hiện lập trình hướng đối tượng.
2.1.3, Java
2.1.3.1, Định nghĩa Java
Java là một Ngơn ngữ lập trình và là một Platform.
Ngơn ngữ lập trình: Java là một ngơn ngữ lập trình có tính bảo mật cao được phát
triển bởi Sun Microsystem vào năm 1995, là ngôn ngữ kế thừa trực tiếp từ C/C++ và là
một ngơn ngữ lập trình hướng đối tượng dựa trên các lớp.
Page | 12

Nhóm A-Meo

Tieu luan



Platform: Bất cứ môi trường phần cứng hoặc phần mềm nào mà trong đó một
chương trình chạy, thì được biết đến như là một Platform. Với môi trường runtime riêng
cho mình là JRE và API, Java được gọi là Platform.
Java Platform: Gồm có 3 thành phần chính:


Java Virtual Machine (Java VM): Máy ảo Java.



Java Application Programming Interface (Java API).



Java Development Kit (JDK) gồm trình biên dịch, thơng dịch, trợ giúp, soạn tài
liệu... và các thư viện chuẩn.

2.1.3.2, Ứng dụng của Java
Phát triển ứng dụng cho các thiết bị điện tử thông minh, các ứng dụng cho doanh
nghiệp với quy mô lớn, cơ sở dữ liệu, mạng, Internet, viễn thông, giải trí.
Ứng dụng web: Tạo các trang web có nội dung động (web applet), nâng cao chức
năng của server.
Ứng dụng trong máy chủ dịch vụ tài chính.
Cơng nghệ Big Data: Java được xem là có tiềm năng lớn để có thể đạt được thị
phần ngày càng cao nếu như Hadoop hoặc ElasticSearch lớn mạnh.
2.1.3.3, Đặc điểm của Java
Tiêu chí hàng đầu của Ngơn ngữ Lập trình Java là "Write Once, Run Anywhere"
(Viết một lần, chạy mọi nơi), nghĩa là Java cho phép chúng ta viết code một lần và thực

thi được trên các hệ điều hành khác nhau. Ví dụ, chúng ta viết code trên Hệ điều hành
Windows và nó có thể thực thi được trên các Hệ điều hành Linux và Mac OS...
Với đặc điểm nổi bật đó, Java có những đặc điểm cơ bản như sau:
-

Đơn giản: Java được thiết kế với mục đích giúp người học dễ dàng hơn trong việc
tiếp thu kiến thức. Vì vậy, nếu bạn đã hiểu cơ bản Java là gì thì khi học, các bạn
có thể nắm bắt ngơn ngữ lập trình này rất nhanh.

-

Kiến trúc trung lập: Trình biên dịch của Java có khả năng tạo ra một định dạng file
object có kiến trúc trung lập. Đồng thời, Java còn làm cho code sau khi biên dịch
có thể hoạt động được trên nhiều bộ vi xử lý cùng với sự có mặt của Java runtime
system.
Page | 13

Nhóm A-Meo

Tieu luan


-

Nền tảng độc lập: Khác với nhiều ngôn ngữ lập trình khác hiện nay như C hay
C++, Java khi được biên dịch, nó khơng trực tiếp biên dịch sang một máy tính cụ
thể trên bất cứ nền tảng nào. Thay vào đó, nó sẽ dùng những bytecode độc lập với
nền tảng. Bytecode này sẽ được phân phối trên các web và được thông dịch bằng
công cụ Virtual Machine.


-

Bảo mật: Khi tìm hiểu Java là gì, chắc chắn các bạn sẽ biết đến tính bảo mật tuyệt
vời của Java. Nhờ tính năng an tồn của mình, Java có khả năng cho phép phát
triển những hệ thống hồn tồn khơng có virus hay giả mạo.

-

Portable: Đây là đặc điểm khá nổi bật của Java bởi nó là kiến thức trung lập và
khơng phụ thuộc vào việc thực hiện bất kỳ những đặc điểm chính nhất khi nói về
Portable của Java. Vì thế, bạn có thể đưa bytecode của Java lên bất cứ nền tảng
nào của mình.

-

Đa luồng: Bạn có thể viết các chương trình với mục đích thực hiện nhiều tác vụ
cùng một lúc nhờ tính năng đa luồng của Java. Tính năng này còn cho phép các
nhà phát triển tự xây dựng những ứng dụng tương tác hoạt động một cách trơn tru.

-

Thông dịch: Bytecode của Java được biên dịch trực tiếp đến các nền tảng gốc và
nó hồn tồn khơng được lưu trữ ở bất cứ nơi đâu.

-

Mạnh mẽ: Java là gì và tại sao Java lại có đặc điểm mạnh mẽ? Câu trả lời là vì Java
ln nỗ lực loại trừ tất cả những tình huống bị lỗi bằng cách nhấn mạnh và chủ yếu
là chỉ ra lỗi thời gian biên dịch cũng như kiểm tra runtime.


-

Hiệu suất cao: Java có đặc điểm này là vì nó sử dụng trình biên dịch Just – In-Time
nên cho hiệu suất cao và phát hiện lỗi nhanh chóng.

-

Linh động: Java được đánh giá là năng động hơn các loại ngôn ngữ lập trình khác
hiện nay như C hay C++ và được thiết kế với khả năng thích nghi dễ dàng trong
mơi trường đang phát triển. Vì thế, các chương trình của Java có thể mang theo
một lượng rất lớn các thơng tin run-time.

2.2, New York Times
New York Time là một trong những tờ báo quan trọng nhất trong lịch sử Hoa Kỳ,
có tuổi đời gần 200 năm, Henry Javis Raymond và George Jones đã thành lập New York
Times vào năm 1851, và trang báo mạng New York Times bắt đầu xuất bản mỗi ngày
trên website từ năm 1996. Họ không chạy theo lợi nhuận từ quảng cáo như các trang
báo mạng khác vẫn làm mà họ tập trung vào nội dung của tờ báo, đưa đến cho người
Page | 14

Nhóm A-Meo

Tieu luan


đọc những thông tin từ khắp nơi trên thế giới với chất lượng cao nhất – con đường mà
CEO của New York Times hướng đến.
Thời báo New York Times là tổ chức cung cấp tin tức tiếng tăm nhất tại Mỹ, với
hơn 94 giải Pulitzer, một giải thưởng uy tín nhất trong nghành báo chí. Thời báo Times
bao gồm tờ nhật báo lớn nhất và tờ báo điện tử hàng đầu tại Mỹ.

Với tuổi đời lâu năm và uy tín nhất trên toàn thế giới như vậy. New York Times
chứa đựng hàng tỷ thông tin giá trị đến từ các lĩnh vực khác nhau. New York Times là
cả một kho dữ liệu và họ cung cấp API cho phép người dùng khai thác thơng tin dữ liệu
đó.
2.3, The Guardian
The Guardian là một nhật báo được phát hành hàng ngày ở Vương quốc Anh thuộc
sở hữu của Guardian Media Group. Thành lập năm 1821, đây là một tờ báo hiếm hoi
trong các tờ báo lớn ở Anh thuộc sở hữu bởi một tổ chức phi lợi nhuận (Scott Trust,
thông qua Guardian Media Group). Đây là tờ báo nổi tiếng với khuynh hướng chính trị
trung tả, trong cuộc bầu cử năm 2010 ở Anh, tờ báo đã ủng hộ đảng Tự do Dân chủ.
The Guardian có lượng lưu hành đạt 283.063 bản tính ở thời điểm tháng 3 năm
2010,

xếp

sau The

Daily

Telegraph và The

Timesnhưng

xếp

trên The

Independent. Trang web guardian.co.uk là một trong những website tin tiếng Anh có
lượng truy cập lớn nhất thế giới. Theo biên tập viên của tờ báo, The Guardian có lượng
độc giả online cao thứ hai trên thế giới trong các website báo tiếng Anh, chỉ sau tờ New

York Times.
2.4, The Travel Magazine
The Travel Magazine là một cổng thông tin du lịch với các bài viết có nhiều thơng
tin, lạc quan và truyền cảm hứng cho những người thích đi du lịch. Mỗi người sử dụng
đều là những người kể chuyện.
Các biên tập viên là những người có niềm đam mê với du lịch và thường xuyên
được phỏng vấn trên TV, đài phát thanh và trên báo chí về xu hướng du lịch, điểm đến
và ngân sách du lịch.
2.5, Twitter
Page | 15

Nhóm A-Meo

Tieu luan


Twitter là một dịch vụ mạng xã hội trực tuyến miễn phí cho phép người sử dụng
đọc, nhắn và cập nhật các mẩu tin nhỏ gọi là tweets, một dạng tiểu blog. Những mẩu
tweet được giới hạn tối đa 280 ký tự được lan truyền nhanh chóng trong phạm vi nhóm
bạn của người nhắn hoặc có thể được trưng rộng rãi cho mọi người. Thành lập từ năm
2006, Twitter đã trở thành một hiện tượng phố biến toàn cầu. Những tweet có thể chỉ là
dịng tin vặt cá nhân cho đến những cập nhật thời sự tại chỗ kịp thời và nhanh chóng
hơn cả truyền thơng chính thống. Twitter Inc. được đặt ở San Francisco và có hơn 35
cơng ty khắp thế giới.[4]
Giới hạn về độ dài của tin nhắn: 280 ký tự, có tính tương thích với tin SMS (Short
Message Service), mang đến cho cộng đồng mạng một hình thức tốc ký đáng chú ý, đã
được sử dụng rộng rãi đối với SMS. Giới hạn về ký tự cũng giúp thúc đẩy các dịch vụ
thu gọn địa chỉ website như tinyurl, bit.ly và tr.im, hoặc các dịch vụ nội dung tên miền
như là Twitpic và NotePub nhằm thu thập các thông tin đa phương tiện và những đoạn
dài hơn 280 ký tự. Hiện nay Twitter đã hỗ trợ người dùng đăng các Tweet dưới dạng

đoạn hội thoại, đăng ảnh, video, ảnh động, và tính năng cập nhật Khoảnh khắc.
Twitter đã được tạo ra tháng 3 năm 2006 bởi Jack Dorsey , Evan Williams , Biz
Stone và Noah Glass và hoạt động vào tháng 7 năm 2006. Twitter có trụ sở chính tại
San Francisco và đã có hơn 25 văn phịng trên tồn thế giới. Tính đến tháng 5 năm 2015,
Twitter đã có hơn 500 triệu người dùng, trong đó có hơn 302 triệu người hoạt động
thường xuyên. Twitter cũng được xem như là SMS của Internet.

Hình 2. 1 Biểu tượng đặc trưng của Twitter

Hiện nay Facebook, Pinterest và Twitter là một trong những mạng xã hội phổ biến
nhất trên thế giới hiện nay. Ngồi ra cịn có những mạng xã hội khác như: LinkedIn,
Google Plus, Tumblr, …. Mình sẽ nói về các mạng xã hội này sau. Mỗi mạng đều có ưu
và nhược điểm khác nhau.
Page | 16

Nhóm A-Meo

Tieu luan


2.6, API – Application Programming Interface
2.6.1, Định nghĩa API
API là từ viết tắt của Application Programming Interface (Giao diện lập trình ứng
dụng), là một trung gian phần mềm cho phép hai ứng dụng nói chuyện với nhau. Mỗi
khi bạn sử dụng một ứng dụng như Facebook, gửi tin nhắn tức thời hoặc kiểm tra thời
tiết trên điện thoại của mình tức là bạn đang sử dụng API. Đây là phần mềm hệ thống
cung cấp đầy đủ các chức năng và các tài ngun mà các lập trình viên có thể rút ra từ
đó để tạo nên các tính năng giao tiếp người- máy như: các trình đơn kéo xuống, tên lệnh,
hộp hội thoại, lệnh bàn phím và các cửa sổ. Một trình ứng dụng có thể sử dụng nó để
u cầu và thi hành các dịch vụ cấp thấp do hệ điều hành của máy tính thực hiện. Hệ

giao tiếp lập trình ứng dụng giúp ích rất nhiều cho người sử dụng vì nó cho phép tiết
kiệm được nhiều thời gian tìm hiểu các chương trình mới, do đó khích lệ mọi người
dùng nhiều ứng dụng hơn.
2.6.2, Ví dụ về API

Hình 2. 2 API cho phép 2 ứng dụng có thể giao tiếp với nhau



Ví dụ thứ nhất về API:
Hãy tưởng tượng, bạn đang ngồi ở một cái bàn tại một quán ăn với một thực đơn

đơn hàng. Nhà bếp chính là 1 phần nằm trong “hệ thống” phục vụ đơn hàng của bạn.
Điều cịn thiếu là một cơng cụ giúp bạn liên hệ với nhà bếp để nói về món ăn mà bạn
cần và cơng cụ này cũng giúp chuyển thức ăn từ nhà bếp đến bàn ăn của bạn. Cơng cụ
cụ này chính là API, trong trường hợp của chúng ta- API chính là người phục vụ.

Page | 17

Nhóm A-Meo

Tieu luan


Những người làm công việc phục vụ nhận yêu cầu từ khách hàng và mang đơn đặt
hàng của bạn chuyển vào nhà bếp để yêu cầu đầu bếp làm những món ăn được u cầu.
Khi món ăn được hồn thành, phục vụ sẽ mang thức ăn chuyển ra cho khách hàng sử
dụng. Ví dụ này rất dễ hiểu phải khơng và nó giúp bạn hiểu được thực sự thì API là gì.



Ví dụ thứ hai về API:
Có thể bạn cũng quen với việc tìm kiếm những chuyến bay thơng qua website.

Tương tự như khi đi ăn ở nhà hàng, đặt các chuyến bay qua mạng cho bạn nhiều tùy
chọn hơn bao gồm những địa điểm khác biệt, ngày chuyến bay khởi hành cùng vị trí mà
bạn ngồi. Hãy cùng tưởng tượng rằng, bạn muốn đặt một chuyến bay trên website của
một hãng hàng không. Bạn đã chọn thành phố bạn cần đến và ngày mà bạn khởi hành
cũng khoang mà bạn muốn ngồi,…
Trong trường hợp này, API chính là giao diện, nó tương tự như người phục vụ.
API nhận yêu cầu của khách, chuyển tới máy chủ để máy chủ lọc những dữ liệu liên
quan nhất và trả lại kết quả gần với những điều mà bạn yêu cầu.
2.6.3, Những điều cần biết về API
Có một số thơng tin quan trọng mà bạn cần biết để có thể thực sự hiểu được API
là gì. Cụ thể như sau:


Tên của API
Một điều cần lưu ý là tên của một số API thường được sử dụng để chỉ cả đặc điểm

kỹ thuật của các tương tác lẫn thành phần phần mềm thực tế mà bạn tương tác. Ví dụ
như cụm từ “API Twitter”, nó khơng chỉ đề cập đến cách mà bạn tương tác với Twitter
mà nó cịn đề cập đến điều mà bạn tương tác, Chẳng hạn: “ Chúng tôi đang phân tích
các tweet mà chúng tơi nhận được từ API Twitter”.


Thiết kế API
Thiết kế API là quá trình mà một API được xây dựng. Giống như quá trình xây

dựng các ứng dụng khác, mỗi ý tưởng thiết kế API khác nhau sẽ cho API có chất lượng
khác nhau. Các API được thiết kế tốt nên có cách làm việc nhất quán, điều đó giúp hiệu

suất làm việc của chúng tăng nhanh, Bên cạnh đó, chúng ta cũng nên xây dựng những
API làm việc dựa trên bối cảnh cũng như nhu cầu của người dùng.


Lớp bảo mật đến từ API
Page | 18

Nhóm A-Meo

Tieu luan


Điện thoại của chúng sẽ không bao giờ nhận được tất cả những dữ liệu có trên máy
chủ; ngược lại, máy chủ cũng khơng thể nào tiếp cận được tồn bộ các dữ liệu nằm trong
máy điện thoại của bạn.
Nhìn chung, các thiết bị điện tử chỉ có thể tiếp cận với lượng dữ liệu hạn chế và
máy chủ chỉ chia sẻ các gói dữ liệu cần thiết, tương tự như cách mà bạn đặt hàng. Bạn
chỉ nói với người bán hàng về cái mà bạn muốn muốn và tất nhiên, người bán hàng cũng
chỉ gửi đến bạn mặt hàng mà bạn mong muốn.
Ngày nay, API được đánh giá rất cao, nó vơ cùng giá trị và chiếm 1 phần doanh
thu rất lớn của nhiều công ty. Các đơn vị lớn như eBay, Google, Amazon,
Salesforce.com và Expedia- những doanh nghiệp lớn này chỉ là 1 vài trong số rất nhiều
công ty kiếm tiền từ API.
2.6.4, Đặc điểm của API hiện đại
Qua nhiều năm, “API” thường mô tả bất kỳ loại giao diện kết nối chung nào cho
một ứng dụng. Tuy nhiên, gần đây, API hiện đại đã đưa ra một số đặc điểm khiến chúng
trở nên có giá trị và hữu ích vơ cùng:
-

Các API hiện đại tn thủ các tiêu chuẩn (thường là HTTP và REST), có tính thân

thiện với nhà phát triển, dễ tiếp cận và được hiểu rộng rãi.

-

Chúng được xử lý giống các sản phẩm hơn là mã. Chúng được thiết kế để tiêu thụ
cho các đối tượng cụ thể (ví dụ, các nhà phát triển di động), chúng được ghi lại và
chúng được phiên bản theo cách mà người dùng có thể có những kỳ vọng nhất định
về bảo trì và vịng đời của nó.

-

Bởi vì chúng được chuẩn hóa nhiều hơn, chúng có kỷ luật mạnh mẽ hơn về an ninh
và quản trị, cũng như được giám sát và quản lý cho hiệu suất và quy mô.

-

Như bất kỳ phần mềm sản xuất nào khác, API hiện đại có vịng đời phát triển phần
mềm riêng (SDLC) về thiết kế, thử nghiệm, xây dựng, quản lý và phiên bản. Ngoài
ra, các API hiện đại cũng được ghi nhận rõ ràng về tiêu thụ và phiên bản.

Page | 19

Nhóm A-Meo

Tieu luan


CHƯƠNG 3: TRIỂN KHAI PHÂN TÍCH DỮ LIỆU
3.1, Quy trình phân tích
3.1.1, Đặt vấn đề

Khi bạn đi du lịch trên khắp thế giới, bạn sẽ ghé thăm những địa điểm được cho là
nổi tiếng dựa trên gợi ý của những trang báo mạng hay từ những kinh nghiệm của người
đi trước. Dù ít hay nhiều cũng sẽ có những rủi ro hoặc những điều không sát với tưởng
tượng? Đề tài này sẽ giúp cho bạn dễ dàng hơn trong việc tìm kiếm những điểm đến an
tồn nổi tiếng cho chuyến du lịch lý thú của mình.
3.1.2, Phân tích dữ liệu
Thu thập dữ liệu và công cụ thu thập dữ liệu:
Nguồn dữ liệu: Mạng xã hội Twitter, hai trang web thetravelmagazine.net và
theguardian.com.
a. Lấy dữ liệu từ hai trang web thetravelmagazine.net và theguardian.com thơng
qua ngơn ngữ java trên eclipse và phân tích
Buớc 1: Mỗi trang web lấy 100 link bài báo liên quan đến du lịch.
Lấy link bằng code python và lưu dưới dạng file csv rồi chuyển sang file txt

Hình 3. 1 Code lấy link trang web

Page | 20

Nhóm A-Meo

Tieu luan


Hình 3. 2 Code lấy link dưới dạng file csv

Bước 2: Truy cập bài báo trên trang => View source

Hình 3. 3 Source web thetravelmagazine.net

Hình 3. 4 Source web theguardian.com


Page | 21

Nhóm A-Meo

Tieu luan


Bước 3: Viết source code lấy dữ liệu trên eclipse, lấy dữ liệu theo 2 class “td-postcontent” và “content__article-body”.

Hình 3. 5 Code lấy dữ liệu trên eclipse của thetravelmagazine.net

Hình 3. 6 Code lấy dữ liệu trên eclipse trên theguardian.com

Dữ liệu sau khi lấy về:

Page | 22

Nhóm A-Meo

Tieu luan


Hình 3. 7 Nội dung các bài báo trên thetravelmagazine.net

Hình 3. 8 Nội dung các bài báo trên theguardian.com

Bước 4: Lọc lấy các địa điểm xuất hiện trong nội dung bài báo

Page | 23


Nhóm A-Meo

Tieu luan


Hình 3. 9 Kết quả các địa điểm trong bài báo

b. Phân tích kết quả
Kết quả thu được bộ dữ liệu 3848 địa điểm.
Nhóm đã sử dụng excel để thống kê các địa điểm và sắp xếp theo thứ tự giảm dần
số lượt nhắc đến.
Chúng tôi thực hiện chỉnh sửa một số sai sót và kết quả tạo ra được bộ dữ liệu các
địa điểm và số lượt được nhắc đến.

Page | 24

Nhóm A-Meo

Tieu luan


×