1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Đồ án chuyên ngành 2 đề tài hệ thống nhận diện và lọc spam sms sử dụng machine learning

53 5 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Hệ Thống Nhận Diện Và Lọc Spam SMS Sử Dụng Machine Learning
Tác giả Trần Thanh Quang, Trần Bình Minh
Người hướng dẫn TS. Nguyễn Sĩ Thìn
Trường học Đại Học Đà Nẵng
Chuyên ngành Hệ Thống Thông Tin
Thể loại Đồ Án Chuyên Ngành
Năm xuất bản 2021
Thành phố Đà Nẵng
Định dạng
Số trang 53
Dung lượng 1,92 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Hình 2 Tiện ích mở rộng trong ứng dụng iOS iOS Extension cho phép bạn mở rộng chức năng và nội dung tùy chỉnh bên ngoài ứng dụng của mình và cung cấp nó cho người dùng trong khi họ tương

Trang 1

ĐẠI HỌC ĐÀ NẴNG KHOA CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

Trang 2

ĐẠI HỌC ĐÀ NẴNG KHOA CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

ĐỒ ÁN CHUYÊN NGÀNH 1

ĐỀ TÀI: HỆ THỐNG NHẬN DIỆN VÀ LỌC SPAM SMS

SỬ DỤNG MACHINE LEARNING

Đà Nẵng, tháng 5 năm 2021

Trang 3

MỞ ĐẦU

Công nghệ thông tin trong giai đoạn hiện nay đang phát triển như vũbáo ở mọi lĩnh vực hoạt động khắp nơi trên thế giới Điều xảy ra trong vòngvài năm qua ở Việt Nam là sự đầu tư ồ ạt vào công nghệ Tin học đã và đang

là một trong các vấn đề không thể thiếu đối với bất kỳ công ty nào Đặc biệttin học ngày càng giữ vai trò quan trọng trong vấn đề quản lý tại các tổ chứcnhất là tại các lĩnh vực thu thập thông tin Tuy ngành công nghệ thông tin ởnước ta mới chỉ phát triển trong vài năm trở lại đây và đang từng bước pháttriển nhưng những bước phát triển đó đã cho thấy tiềm năng lớn lao trong lĩnhvực công nghệ thông tin ở nước ta, trong đó phát triển hệ thống thông tin đang

là thế mạnh của đất nước Hệ thống thông tin giúp công việc quản lý dễ dànghơn, nâng cao hiệu quả sản xuất, tiết kiệm được lượng lớn thời gian và côngsức

Qua thời gian tìm hiểu thực tế để xác định đề tài đồ án, em nhận thấy

hệ thống nhận diện và lọc Spam sms sử dụng Machine Learning là một trongnhững vấn đề rất quan trọng trong việc ứng dụng vào cuộc sống của mỗi conngười Bởi hệ thống nhận diện và lọc Spam sms sử dụng Machine Learning làthành phần không thể thiếu để đời sống có thể hoạt động và phát triển

Trang 4

LỜI CẢM ƠN

Trong thời gian làm đồ án chuyên ngành 2, nhóm em đã nhận được nhiều sựgiúp đỡ, đóng góp ý kiến và chỉ bảo nhiệt tình của thầy cô

Em xin gửi lời cảm ơn chân thành đến T.S Nguyễn Sĩ Thìn, giảng Khoa CNTT

và TT người đã tận tình hướng dẫn, chỉ bảo nhóm em trong suốt quá trình làm báo cáo

Em cũng xin chân thành cảm ơn các thầy cô giáo trong trường nói chung, cácthầy cô trong Bộ môn Lập trình mạng,lập trình di động nói riêng đã dạy dỗ cho emkiến thức về các môn đại cương cũng như các môn chuyên ngành, giúp em có được cơ

sở lý thuyết vững vàng và tạo điều kiện giúp đỡ em trong suốt quá trình học tập

Cuối cùng, em xin chân thành cảm ơn gia đình và bạn bè, đã luôn tạo điều kiện,quan tâm, giúp đỡ, động viên em trong suốt quá trình học tập và hoàn thành bài báocáo này

Trang 5

NHẬN XÉT

………

………

………

………

………

………

………

………

………

………

………

………

………

Trang 6

MỤC LỤC

GIỚI THIỆU 11

1 Tổng quan 11

2 Phương pháp, kết quả 11

3 Cấu trúc đồ án 12

CHƯƠNG 1: NGHIÊN CỨU TỔNG QUAN 13

1.1 Giới thiệu ngôn ngữ, công cụ 13

1.1.1 Ngôn ngữ lập trình Swift 13

1.1.2 iOS Extension 14

1.1.3 Hiểu cách hoạt động của một iOS Extension: 15

1.1.4 Cách một iOS Extension giao tiếp 16

1.1.5 Message Filter App Extension 18

1.1.6 Call Directory Extension 21

1.1.7 CoreML 22

1.1.8 Ngôn ngữ lập trình Python 23

1.1.9 SailsJS 24

1.1.10 Realm database 25

1.1.11 MongoDB 26

1.2 Machine Learning 28

1.2.1 Machine Learning 28

1.2.2 Học máy có giám sát 29

1.2.3 Học không giám sát 31

1.3 Natural language processing 33

1.3.1 Xử lý ngôn ngữ tự nhiên 33

1.3.2 Xử lý ngôn ngữ tự nhiên cho tiếng Việt 33

CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG 35

2.1 Giải pháp nhận diện tin nhắn rác 35

2.1.1 Xử lý ngôn ngữ tự nhiên 35

Trang 7

2.1.3 Mô hình Bernoulli 38

2.2 Phân tích thiết kế hệ thống 42

CHƯƠNG 3: TRIỂN KHAI XÂY DỰNG 44

3.1 Giới thiệu 44

3.2 Dataset 44

3.3 Model 47

3.4 Ứng dụng iOS 48

3.5 Xây dựng Server 49

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 51

1 Kết quả 51

2 Hạn chế 51

3 Hướng phát triển 51

Trang 8

DANH MỤC CÁC BẢNG

Bảng 1: Ví dụ về dữ liệu với tin nhắn 38 Bảng 2: Ví dụ về dữ liệu với tin nhắn rác 38 Bảng 3 : Ví dụ về dữ liệu với tin nhắn không phải tin nhắn rác 39

Trang 9

DANH MỤC HÌNH

Hình 1 Swift logo 13

Hình 2 Tiện ích mở rộng trong ứng dụng iOS 15

Hình 3 Vòng đời cơ bản của tiện ích mở rộng ứng dụng 16

Hình 4 iOS Extension chỉ giao tiếp trực tiếp với ứng dụng chủ 17

Hình 5 Tiện ích mở rộng ứng dụng có thể giao tiếp gián tiếp với ứng dụng chứa nó 18

Hình 6 Tạo 1 App Group trong Xcode 18

Hình 7 Chuyển một truy vấn đến Message Filter App Extension để nhận trạng thái của tin nhắn 19

Hình 8 Mô hình hoạt động của Message Filter App Extension 20

Hình 9 Tiện ích mở rộng danh bạ cuộc gọi 21

Hình 10 Python 24

Hình 11 SailsJs 25

Hình 12 Cơ sở dữ liệu Realm 26

Hình 13 MongoDB 28

Hình 14: Mô hình chung cho các thuật toán học máy có giám sát 30

Hình 15 Mô hình chung cho các thuật toán học máy không giám sát 32

Hình 16 Sơ đồ quá trình 35

Hình 17 Quy trình làm sạch tin nhắn 36

Hình 18 Quy trình chuẩn hóa tin nhắn 36

Hình 19 Quy trình loại bỏ các từ không có nghĩa 37

Hình 20 Quy trình hoạt động của ứng dụng 42

Hình 21 Xuất tin nhắn trong công cụ iMazing 45

Hình 22 Dataset được sử dụng trong dự án 45

Hình 23 Tỷ lệ thư rác - lượng thư trong dự án 46

Hình 24 Top 30 từ được sử dụng nhiều nhất trong tin nhắn rác 46

Hình 25 Top 30 từ được sử dụng nhiều nhất trong tin nhắn không phải là tin rác 47

Hình 26 Màn hình chính 48

Trang 10

Hình 28 Màn hình Bộ lọc thư 48

Hình 29 Thêm keyword 48

Hình 30 Thêm số điện thoại bị chặn 49

Hình 31 Xóa số điện thoại 49

Hình 32 Văn bản có nội dung không phải là thư rác khi được gửi đến máy chủ 49

Hình 33 Văn bản có nội dung spam khi được gửi đến máy chủ 50

Trang 12

GIỚI THIỆU

1 Tổng quan

Trong những năm gần đây, sự bùng nổ của mạng di động tại Việt Nam đã kích thích việc

sử dụng Dịch vụ tin nhắn ngắn (SMS) Thư rác qua SMS đã tăng lên vì chi phí cho ngườigửi thư rác thấp và tỷ lệ phản hồi cao hơn email Spam SMS đang là một vấn đề nghiêmtrọng ở Việt Nam do các gói SMS trả trước không giới hạn và rất rẻ

Theo một báo cáo vào năm 2015 của BKAV, một hãng bảo mật thông tin, có 13,9 triệutin nhắn rác được gửi đến người dùng điện thoại di động mỗi ngày ở Việt Nam và cứ haingười thì có một người nhận được tin nhắn rác Trong khi đó, có ít nhất 120 triệu ngườidùng di động tích cực trên thị trường theo một báo cáo của Bộ Thông tin và Truyềnthông, được công bố vào năm 2015

Spam SMS gây ra nhiều vấn đề cho người dùng di động Họ có thể bị tổn thất tài chính từnhững tin nhắn này bằng cách phản ứng lại chúng Người dùng có thể vô tình gọi đến các

số giá cước cao cấp hoặc đăng ký các dịch vụ đắt tiền bằng cách trả lời các tin nhắn này.Hơn nữa, họ có thể gặp phải một số rủi ro khi truy cập các trang web có hại hoặc tảixuống phần mềm độc hại Các nhà khai thác mạng di động cũng bị thiệt hại về tài chính

vì họ có thể mất người dùng hoặc chi nhiều hơn cho việc ngăn chặn thư rác

Có nhiều phương pháp và hệ thống lọc tin nhắn rác tiếng Anh trên mạng di động nhưngvới người Việt Nam, có một số nghiên cứu về email rác nhưng không tập trung vào SMS

2 Phương pháp, kết quả

Ứng dụng này dành cho những ai muốn bảo vệ quyền riêng tư trước những phiền toái,đồng bộ toàn bộ dữ liệu, số điện thoại rác, từ đó xây dựng cộng đồng chống tin nhắn,cuộc gọi rác trên cả nước

Mục tiêu của dự án là xây dựng một ứng dụng với ba tính năng chính:

- Bảo vệ điện thoại của bạn khỏi các tin nhắn lừa đảo, thư rác và độc hại

- Dễ dàng cài đặt và sử dụng

- Ngăn chặn mọi sự làm phiền riêng tư

Trang 13

3 Cấu trúc đồ án

Hệ thống bao gồm:

- Server hỗ trợ nhận diện và đồng bộ tin nhắn rác

- Ứng dụng di động và tiện ích mở rộng lọc tin nhắn rác cho thiết bị iOS vàAndroid

Trang 14

CHƯƠNG 1: NGHIÊN CỨU TỔNG QUAN

1.1 Giới thiệu ngôn ngữ, công cụ

1.1.1 Ngôn ngữ lập trình Swift

Hình 1 Swift logo

Swift là một ngôn ngữ tuyệt vời để viết phần mềm do chính Apple phát triển, hỗ trợ các nền tảng như điện thoại, máy tính, máy chủ Đó là một ngôn ngữ lập trình an toàn, nhanh chóng và mạnh mẽ, kết hợp những gì tốt nhất trong tư duy ngôn ngữ hiện đại với sự khônngoan từ văn hóa kỹ thuật Apple rộng lớn, cùng với đó là những đóng góp đa dạng từ cộng đồng mã nguồn mở của nó Trình biên dịch được tối ưu hóa cho hiệu suất và ngôn ngữ được tối ưu hóa để phát triển Swift thân thiện với các lập trình viên mới Viết mã Swift trong Playground cho phép bạn thử nghiệm với mã và xem kết quả ngay lập tức màkhông phải tốn công xây dựng và chạy ứng dụng

Ưu điểm:

- Swift miễn phí và là mã nguồn mở

- Code của ngôn ngữ Swift ngắn, gọn và dễ đọc

- Tốc độ thực thi các đoạn mã rất nhanh và an toàn

- Swift dễ tiếp cận và quen thuộc (Mã C và C++ có thể được thêm bởi các lập trình viên Swift vào các ứng dụng Swift)

Trang 15

- Khả năng phát triển ứng dụng di động nhanh và dễ dàng

- Swift dùng được cho cả MacOS và iOS Apps

Nhược điểm:

- Ngôn ngữ còn khá non trẻ và nguồn lực ít

- Khả năng tương tác kém với các công cụ và IDE bên thứ ba

- Thiếu hộ trợ các phiên bản iOS trước đó

1.1.2 iOS Extension

iOS Extension không phải là một ứng dụng Nó thực hiện một nhiệm vụ cụ thể, có phạm

vi, tuân thủ các chính sách được xác định trước bởi ứng dụng chứa nó

Hình 2 Tiện ích mở rộng trong ứng dụng iOS

iOS Extension cho phép bạn mở rộng chức năng và nội dung tùy chỉnh bên ngoài ứng dụng của mình và cung cấp nó cho người dùng trong khi họ tương tác với các ứng dụng khác hoặc hệ thống

Trang 16

Bạn tạo iOS Extension để kích hoạt một tác vụ cụ thể Ví dụ: để cho phép người dùng đăng lên dịch vụ xã hội của bạn từ trình duyệt web, bạn có thể cung cấp tiện ích mở rộng Share Hoặc, để cho phép người dùng theo dõi đội yêu thích của họ, bạn có thể cung cấp tiện ích Today hiển thị điểm số thể thao hiện tại trong Trung tâm thông báo.

Bạn thậm chí có thể tạo iOS Extension cung cấp bàn phím tùy chỉnh mà người dùng có thể sử dụng thay cho bàn phím hệ thống iOS

1.1.3 Hiểu cách hoạt động của một iOS Extension:

Vì iOS Extension không phải là một ứng dụng nên vòng đời và môi trường của nó làkhác nhau Trong hầu hết các trường hợp, iOS Extension khởi chạy khi người dùng chọn

nó từ giao diện người dùng của ứng dụng hoặc từ bộ điều khiển chế độ xem hoạt độngđược trình bày Ứng dụng mà người dùng sử dụng để chọn tiện ích mở rộng ứng dụngđược gọi là ứng dụng lưu trữ Ứng dụng lưu trữ xác định ngữ cảnh được cung cấp choiOS Extension và bắt đầu vòng đời khi nó gửi yêu cầu để phản hồi lại hành động củangười dùng Tiện ích thường chấm dứt ngay sau khi hoàn thành yêu cầu mà nó nhận được

từ ứng dụng lưu trữ

Ví dụ: hãy tưởng tượng rằng người dùng chọn một số văn bản trong Ứng dụng máy chủ

OS X, kích hoạt nút Chia sẻ và chọn tiện ích mở rộng ứng dụng từ danh sách chia sẻ đểgiúp họ đăng văn bản lên trang web chia sẻ xã hội Ứng dụng lưu trữ phản hồi lựa chọncủa người dùng bằng cách gửi tới tiện ích một yêu cầu có chứa văn bản đã chọn Mộtphiên bản khái quát của tình huống này trong bước 1

Trang 17

Hình 3 Vòng đời cơ bản của tiện ích mở rộng ứng dụng

Trong bước 2 của Hình 3, hệ thống khởi tạo iOS Extension được xác định trongyêu cầu của ứng dụng chủ và thiết lập một kênh giao tiếp giữa chúng iOS Extension hiểnthị chế độ xem của nó trong ngữ cảnh của ứng dụng lưu trữ và sau đó sử dụng các mục

mà nó nhận được trong yêu cầu của ứng dụng lưu trữ để thực hiện nhiệm vụ của nó

Trong bước 3 của Hình 3, người dùng thực hiện hoặc hủy tác vụ trong iOSExtension và loại bỏ nó Đáp lại hành động này, iOS Extension sẽ hoàn thành yêu cầucủa ứng dụng lưu trữ bằng cách thực hiện ngay tác vụ của người dùng hoặc nếu cần, bắtđầu quy trình nền để thực hiện tác vụ đó

Ứng dụng lưu trữ loại bỏ chế độ xem của tiện ích và người dùng quay lại ngữ cảnhtrước đó của họ trong ứng dụng lưu trữ Khi tác vụ của iOS Extension kết thúc, dù ngaylập tức hay sau đó, kết quả có thể được trả về ứng dụng lưu trữ

Ngay sau khi iOS Extension thực hiện tác vụ của nó (hoặc bắt đầu phiên nền đểthực hiện nó), hệ thống sẽ kết thúc tiện ích mở rộng, như được hiển thị trong bước 4

1.1.4 Cách một iOS Extension giao tiếp

Trang 18

Tiện ích ứng dụng giao tiếp chủ yếu với ứng dụng lưu trữ của nó và làm như vậy về mặt

xử lý giao dịch: Có yêu cầu từ máy chủ và phản hồi từ tiện ích Hình 10 cho thấy một cáinhìn đơn giản về mối quan hệ giữa tiện ích mở rộng đang chạy, ứng dụng lưu trữ đã khởichạy nó và ứng dụng chứa

Hình 4 iOS Extension chỉ giao tiếp trực tiếp với ứng dụng chủ

Không có giao tiếp trực tiếp giữa iOS Extension và ứng dụng chứa nó; thông thường, ứngdụng chứa thậm chí không chạy trong khi tiện ích mở rộng được chứa đang chạy iOSExtension chứa ứng dụng và ứng dụng lưu trữ hoàn toàn không giao tiếp với nhau

Ứng dụng không thể truy cập dữ liệu bên ngoài vì lý do riêng tư và bảo mật Để hỗ trợiOS Extension, Apple cung cấp tài nguyên được chia sẻ có tên là App Groups

Trang 19

Hình 5 Tiện ích mở rộng ứng dụng có thể giao tiếp gián tiếp với ứng dụng chứa nó

Hình 6 Tạo 1 App Group trong Xcode

1.1.5 Message Filter App Extension

Khi người dùng nhận được tin nhắn SMS hoặc MMS từ một người gửi không xác định,ứng dụng Tin nhắn có thể yêu cầu Message Filter App Extension xác định xem tin nhắn

đó là mong muốn hay không mong muốn Extension của bạn có thể đưa ra quyết định này

Trang 20

bằng cách sử dụng dữ liệu và logic tích hợp của riêng nó hoặc bằng cách trì hoãn phântích được thực hiện bởi máy chủ được liên kết của bạn

Message Filter App Extension chỉ hoạt động với tin nhắn SMS và MMS từ những ngườigửi không xác định , nó không hoạt động với tin nhắn từ những người gửi trong danhsách Liên hệ của người dùng hoặc với tin nhắn iMessage từ bất kỳ nguồn nào

Để tìm hiểu xem liệu tin nhắn từ một người gửi không xác định có mong muốn haykhông, ứng dụng Tin nhắn sẽ khởi chạy Message Filter App Extension hiện được bật vàtruy vấn nó

Hình 7 Chuyển một truy vấn đến Message Filter App Extension để nhận trạng thái của

tin nhắn

Ứng dụng Tin nhắn sử dụng đối tượng ILMessageFilterQueryRequest để chuyển thôngtin về tin nhắn tới Message Filter App Extension Nếu extension có thể xác định liệuthông báo có không mong muốn hay không, nó sẽ trả về quyết định cho Messages trongđối tượng ILMessageFilterQueryResponse Ngược lại, nếu nó không thể tự xác định điều

Trang 21

này, chúng ta sẽ yêu cầu Messages gửi thông tin về tin nhắn đến máy chủ được liên kếtvới ứng dụng Máy chủ sẽ kiểm tra thông tin tin nhắn và gửi phản hồi tới Tin nhắn, phảnhồi này sẽ chuyển phản hồi đến extension Message Filter App Extension sẽ phân tích cúpháp phản hồi của máy chủ và trả về quyết định cuối cùng cho Tin nhắn trong một đốitượng Message Filter Query Response, như thể hiện trong Hình 8

Hình 8 Mô hình hoạt động của Message Filter App Extension

Trang 22

1.1.6 Call Directory Extension

Call Directory là một tiện ích mở rộng ứng dụng đơn giản cho phép ứng dụng của bạn bổsung vào danh mục cuộc gọi hệ thống Bạn là một chỉ làm hai việc với phần mởrộng Bạn có thể chặn số điện thoại và bạn có thể thêm nhãn cho số điện thoại Các nhãn

đó sau đó sẽ được hiển thị trên màn hình cuộc gọi đến

Hình 9 Tiện ích mở rộng danh bạ cuộc gọi

Hệ thống iOS sẽ sử dụng Call Directory Extension làm tùy chọn dự phòng Ví dụ: nếu sốđiện thoại gọi đến không có trong danh bạ của người dùng, thì nhãn do Call DirectoryExtension cung cấp sẽ được hiển thị Hệ thống iOS sẽ luôn được ưu tiên

Một điều cần lưu ý ở đây là phần mở rộng danh bạ cuộc gọi không cho phép bạn chặncuộc gọi Đây là một nguồn dữ liệu đơn giản cho hệ thống iOS sẽ được truy vấn định kỳ

và không có gì khác Bạn phải có tất cả dữ liệu có thể truy cập vào tiện ích mở rộng (tệp

Trang 23

trên đĩa, dữ liệu lõi, v.v ) Ý tưởng là ứng dụng sẽ tải xuống và cập nhật dữ liệu và tiệních mở rộng sẽ chỉ sử dụng dữ liệu đó để chuyển tiếp đến hệ thống.

1.1.7 CoreML

Core ML là khung công tác học máy được sử dụng trên các sản phẩm của Apple (macOS,iOS, watchOS và tvOS ) để thực hiện dự đoán hoặc suy luận nhanh chóng với việc tíchhợp dễ dàng các mô hình học máy được đào tạo trước, cho phép bạn thực hiện các dựđoán theo thời gian thực hình ảnh hoặc video trực tiếp trên thiết bị

Đối với suy luận học máy, các nhà phát triển iOS có ba lựa chọn để truy cập các mô hìnhđược đào tạo để cung cấp suy luận:

- Sử dụng Core ML để truy cập mô hình được đào tạo trước trên thiết bị cục

bộ

- Lưu trữ Mô hình học máy trên đám mây và gửi dữ liệu từ thiết bị đến điểm cuối đượclưu trữ để đưa ra dự đoán

- Gọi các dịch vụ được quản lý trên đám mây API-Driven Machine Learning của bên thứ

ba nơi dịch vụ lưu trữ và quản lý mô hình được đào tạo được xác định trước Dữ liệungười dùng được chuyển qua lệnh gọi API từ thiết bị và dịch vụ trả về các giá trị được dựđoán

Ưu điểm :

- Độ trễ thấp và kết quả gần thời gian thực: Bạn không cần tạo mạng Lệnhgọi API bằng cách gửi dữ liệu và sau đó chờ phản hồi Điều này có thể rấtquan trọng đối với các ứng dụng như xử lý video các khung hình liên tiếp

từ camera trên thiết bị

- Tính khả dụng (Ngoại tuyến), Quyền riêng tư và Chi phí hấp dẫn khi ứngdụng chạy mà không có kết nối mạng, không có lệnh gọi API và dữ liệukhông bao giờ rời khỏi thiết bị Hãy tưởng tượng sử dụng thiết bị di độngcủa bạn để xác định các ô lịch sử khi ở trên tàu điện ngầm, lập danh mục

Trang 24

các bức ảnh kỳ nghỉ riêng tư khi ở chế độ trên máy bay hoặc phát hiện raloại cây độc trên vùng đất lớn

- Đào tạo mô hình : Trong hầu hết các trường hợp, mô hình trên thiết bị phảiđược đào tạo liên tục bên ngoài thiết bị với dữ liệu người dùng mới Sau khi

mô hình được đào tạo lại, ứng dụng sẽ cần được cập nhật với mô hình mới

và tùy thuộc vào kích thước của mô hình, điều này có thể gây khó khăn choviệc truyền mạng cho người dùng Tham khảo lại thử thách về kích thướcứng dụng được liệt kê ở trên và bây giờ chúng tôi có thể gặp sự cố về trảinghiệm người dùng

1.1.8 Ngôn ngữ lập trình Python

Python là một ngôn ngữ lập trình hướng đối tượng, được thông dịch và là một ngôn ngữngữ nghĩa động, cấp cao Python hỗ trợ các mô-đun và gói, khuyến khích mô-đun hóa vàtái sử dụng mã Trình thông dịch Python và thư viện tiêu chuẩn mở rộng có sẵn dướidạng mã nguồn hoặc mã nhị phân miễn phí cho tất cả các nền tảng chính và có thể đượcphân phối tự do

Trang 25

Hình 10 Python

Các đặc điểm của Python:

- Cú pháp đơn giản dễ đọc

- Hướng thủ tục, hướng đối tượng

- Hỗ trợ mo-dun hoặc gói

- Xử lý lỗi với các trường hợp ngoại lệ

- Kiểu dữ liệu động ở mức cao

- Có bộ thư viện chuẩn và các module bên ngoài, đáp ứng mọi nhu cầu lậptrình

- Có khả năng tương tác với các module khác được viết bằng C / C ++ (Hoặc Javacho Jython ,hoặc.Netcho IronPython )

1.1.9 SailsJS

Trang 26

Hình 11 SailsJs

Sails.js là một Node.js Framework MVC (model – view – controller) tuân theo nguyên

tắc “quy ước trên cấu hình” Nó được lấy cảm hứng từ khuôn khổ web Ruby on Rails phổbiến và cho phép bạn nhanh chóng xây dựng các API REST, ứng dụng một trang và ứngdụng thời gian thực ( dựa trên WebSockets ) Nó sử dụng rộng rãi các trình tạo mã chophép bạn xây dựng ứng dụng của mình mà ít phải viết mã hơn - đặc biệt là mã phổ biến

có thể được dựng theo cách khác

Khung được xây dựng dựa trên Express.js, một trong những thư viện Node.js phổ biếnnhất và Socket.io, một thư viện / công cụ JavaScript để thêm giao tiếp theo thời gianthực, hai chiều, dựa trên sự kiện vào các ứng dụng Tại thời điểm viết bài, phiên bản ổnđịnh chính thức của Sails.js là 0.12.14, có sẵn từ npm Sails.js phiên bản 1.0 vẫn chưachính thức được phát hành, nhưng theo những người sáng tạo Sails.js , phiên bản 1.0 đãđược sử dụng trong một số ứng dụng sản xuất và họ thậm chí còn khuyên bạn nên sửdụng nó khi bắt đầu các dự án mới

Sails.js có nhiều tính năng tuyệt vời:

- nó được xây dựng trên Express.js

- nó có hỗ trợ thời gian thực với WebSockets

- cần có cách tiếp cận "quy ước trên cấu hình"

- nó có khả năng tạo mã mạnh mẽ, nhờ Bản thiết kế

- cơ sở dữ liệu bất khả tri nhờ có Waterline mạnh mẽ của nó

Ngày đăng: 06/06/2023, 05:38

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[3] El Naqa I., Murphy M.J. (2015) What Is Machine Learning?. In: El Naqa I., Li R., Murphy M. (eds) Machine Learning in Radiation Oncology. Springer, Cham, accessed 13/10/2020 Sách, tạp chí
Tiêu đề: Machine Learning in Radiation Oncology
Tác giả: El Naqa I., Murphy M.J
Nhà XB: Springer
Năm: 2015
[7] Introduce Swift , https://www.geeksforgeeks.org/introduction-to-swift-programming/,accessed 17/10/2020 Sách, tạp chí
Tiêu đề: Introduce Swift
Năm: 2020
[11] Understand Core ML on iOS in 5 Minutes, https://medium.com/@dmennis/understand-core-ml-on-ios-in-5-minutes-bc8ba5411a2d#:~:text=Core0MListhemachine,orvideoonthedevice., accessed 20/10/2020 [12] Zen of Python, https://en.wikipedia.org/wiki/Zen_of_Python, accessed 20/10/2020 Sách, tạp chí
Tiêu đề: Zen of Python
Tác giả: Tim Peters
Nhà XB: Wikipedia
[4] Turing test, https://en.wikipedia.org/wiki/Natural_language_processing, accessed 14/10/2020 Link
[5] Vietnamese Language, https://en.wikipedia.org/wiki/Vietnamese_language, accessed 14/10/2020 Link
[6] Naive Bayes Classification (NBC) là gì?, https://1upnote.me/post/2018/11/ds-ml-naive-bayes/, accessed 14/10/2020 Link
[8] App Extension Programming Guide , https://developer.apple.com/library/archive/documentation/General/Conceptual/ExtensibilityPG/ExtensionCreation.html, accessed 17/10/2020 [9] SMS and MMS Message Filtering,https://developer.apple.com/documentation/sms_and_call_reporting/sms_and_mms_message_filtering, accessed 20/10/2020 Link
[10] Block and Identify Calls with Call Directory App Extension, https://agostini.tech/2019/07/14/block-and-identify-calls-with-call-directory-app-extension/, accessed 22/10/2020 Link

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w