Đồ án chuyên ngành 2: Hệ thống nhận diện và lọc spam SMS dùng Machine Learning - ĐH Đà Nẵng

Khám phá cách xây dựng hệ thống nhận diện và lọc tin nhắn spam SMS hiệu quả bằng công nghệ Machine Learning. Tìm hiểu các thuật toán và quy trình triển khai

Trường đại học

Đại học Đà Nẵng

Chuyên ngành

Công nghệ Thông tin

Người đăng

Ẩn danh

Thể loại

Đồ án chuyên ngành

2021

53
1
0

Phí lưu trữ

30 Point

Tóm tắt

I. Tổng quan về Hệ thống nhận diện và lọc spam SMS sử dụng Machine Learning hiệu quả

Trong bối cảnh công nghệ thông tin phát triển mạnh mẽ, việc trao đổi thông tin qua tin nhắn SMS vẫn đóng vai trò quan trọng trong đời sống hàng ngày và kinh doanh. Tuy nhiên, sự tiện lợi này cũng kéo theo một vấn đề nhức nhối: tin nhắn rác (spam SMS). Tin nhắn rác SMS không chỉ gây phiền toái, lãng phí thời gian mà còn tiềm ẩn nguy cơ lừa đảo, đánh cắp thông tin cá nhân. Để đối phó với thách thức này, các giải pháp truyền thống thường tỏ ra kém hiệu quả trước sự tinh vi ngày càng tăng của tin nhắn rác. Đó là lý do tại sao một hệ thống nhận diện và lọc spam SMS sử dụng Machine Learning trở thành giải pháp tiên tiến và cần thiết.

Hệ thống này không chỉ đơn thuần chặn các số điện thoại hay từ khóa cố định, mà còn có khả năng "học" từ dữ liệu để phân loại chính xác hơn. Machine Learning lọc spam tận dụng các thuật toán phức tạp để phân tích nội dung, cấu trúc và ngữ cảnh của tin nhắn, từ đó đưa ra quyết định liệu một tin nhắn có phải là rác hay không. Phương pháp này mang lại độ chính xác cao hơn đáng kể so với các quy tắc thủ công, đồng thời có khả năng thích ứng với các hình thức spam mới xuất hiện. Việc áp dụng trí tuệ nhân tạo (AI) trong phân loại tin nhắn SMS không chỉ giúp người dùng tránh được những phiền phức không đáng có mà còn góp phần bảo vệ an toàn thông tin cá nhân trên không gian mạng. Một công nghệ chống spam SMS hiệu quả là yếu tố then chốt để đảm bảo môi trường giao tiếp lành mạnh và an toàn cho mọi người dùng.

1.1. Tầm quan trọng của việc lọc tin nhắn rác SMS trong kỷ nguyên số

Trong kỷ nguyên số, tin nhắn SMS vẫn là kênh liên lạc phổ biến, đặc biệt trong các giao dịch ngân hàng, xác thực hai yếu tố và thông báo dịch vụ. Tuy nhiên, tình trạng spam SMS ngày càng trở nên nghiêm trọng. Theo tài liệu nghiên cứu, "hệ thống nhận diện và lọc Spam sms sử dụng Machine Learning là một trong những vấn đề rất quan trọng trong việc ứng dụng vào cuộc sống của mỗi con người." Việc không có giải pháp lọc tin nhắn rác SMS hiệu quả có thể dẫn đến nhiều hệ lụy, từ việc người dùng bị quấy rối liên tục bởi các tin nhắn quảng cáo không mong muốn, đến việc họ có thể trở thành nạn nhân của các chiêu trò lừa đảo qua tin nhắn (phishing SMS). Các tin nhắn lừa đảo này thường giả mạo các tổ chức uy tín để chiếm đoạt thông tin cá nhân hoặc tài chính. Do đó, việc đầu tư vào một hệ thống nhận diện và lọc spam SMS sử dụng Machine Learning là cấp thiết để bảo vệ người dùng và duy trì niềm tin vào kênh giao tiếp quan trọng này.

1.2. Machine Learning lọc spam Giải pháp tối ưu cho thách thức tin nhắn rác

Machine Learning lọc spam đã nổi lên như một giải pháp mạnh mẽ để đối phó với sự phức tạp của tin nhắn rác. Thay vì dựa vào các quy tắc cứng nhắc, mô hình học máy có khả năng tự động học hỏi từ một lượng lớn dữ liệu tin nhắn, bao gồm cả tin nhắn hợp lệ và tin nhắn rác. Điều này cho phép hệ thống nhận diện các mẫu (patterns) và đặc điểm (features) tinh vi mà con người khó có thể mã hóa thành quy tắc. Khi áp dụng Machine Learning để lọc spam SMS, hệ thống có thể phân loại tin nhắn với độ chính xác cao, giảm thiểu cả tin nhắn hợp lệ bị chặn nhầm (False Positive) và tin nhắn rác lọt qua (False Negative). Sự linh hoạt và khả năng thích ứng của mô hình học máy chống spam giúp nó luôn cập nhật và hiệu quả trước những biến đổi liên tục trong kỹ thuật gửi spam, mang lại một lớp bảo vệ vững chắc cho người dùng.

II. Khám phá thách thức chống spam SMS và sức mạnh của Xử lý ngôn ngữ tự nhiên

Việc chống lại tin nhắn rác (spam SMS) không phải là nhiệm vụ đơn giản. Các phương pháp truyền thống, dù có những ưu điểm ban đầu, nhanh chóng bộc lộ hạn chế khi đối mặt với sự tinh vi và biến đổi không ngừng của các tin nhắn lừa đảo. Thách thức lớn nhất nằm ở việc xác định ranh giới rõ ràng giữa một tin nhắn hợp lệ và một tin nhắn rác, đặc biệt khi kẻ xấu sử dụng các kỹ thuật ngụy trang tinh vi, thay đổi từ ngữ, cấu trúc câu để vượt qua các bộ lọc dựa trên từ khóa. Sự đa dạng về ngôn ngữ, văn phong và cả các ký tự đặc biệt được sử dụng trong tin nhắn rác đòi hỏi một phương pháp tiếp cận thông minh hơn. Đây chính là lúc Xử lý ngôn ngữ tự nhiên (NLP) cho spam SMS phát huy vai trò chủ chốt.

NLP không chỉ giúp máy tính "hiểu" được ngôn ngữ của con người mà còn có thể phân tích sâu sắc các yếu tố ngữ nghĩa, cú pháp và thậm chí là ý đồ ẩn chứa trong tin nhắn. Đối với tiếng Việt, thách thức này còn tăng lên do đặc thù của ngôn ngữ như không phân tách rõ ràng các từ, sử dụng dấu thanh, và sự phong phú của từ đồng âm, dị nghĩa. Một hệ thống nhận diện và lọc spam SMS sử dụng Machine Learning hiệu quả buộc phải tích hợp chặt chẽ NLP để có thể xử lý và phân loại tin nhắn rác tiếng Việt một cách chính xác. Việc khai thác tối đa tiềm năng của NLP là yếu tố quyết định để xây dựng một công nghệ chống spam SMS thực sự mạnh mẽ và bền vững.

2.1. Phân loại tin nhắn SMS Tại sao các phương pháp truyền thống kém hiệu quả

Các phương pháp phân loại tin nhắn SMS truyền thống thường dựa trên danh sách đen (blacklist) các số điện thoại, từ khóa hoặc các quy tắc cụ thể. Mặc dù dễ triển khai, chúng lại có nhiều nhược điểm nghiêm trọng. Danh sách đen các từ khóa hoặc số điện thoại nhanh chóng trở nên lỗi thời khi kẻ gửi spam liên tục thay đổi chiến thuật. Một từ khóa bị chặn có thể dễ dàng bị thay thế bằng một biến thể hoặc từ đồng nghĩa. Hơn nữa, việc xác định các quy tắc thủ công không thể bao phủ hết mọi trường hợp, dẫn đến tỷ lệ False Positive (chặn nhầm tin nhắn hợp lệ) và False Negative (bỏ sót tin nhắn rác) cao. Sự thiếu linh hoạt này khiến các hệ thống truyền thống không thể thích nghi với sự phát triển nhanh chóng của các hình thức tin nhắn rác SMS mới, làm giảm hiệu quả bảo vệ người dùng và yêu cầu sự can thiệp thủ công liên tục.

2.2. Xử lý ngôn ngữ tự nhiên NLP cho spam SMS Chìa khóa hiểu nội dung

Xử lý ngôn ngữ tự nhiên (NLP) cho spam SMS là một thành phần không thể thiếu trong các hệ thống nhận diện và lọc spam SMS sử dụng Machine Learning hiện đại. NLP cho phép máy tính phân tích, hiểu và tạo ra ngôn ngữ của con người. Trong ngữ cảnh lọc spam, NLP giúp trích xuất các đặc trưng quan trọng từ nội dung tin nhắn như tần suất từ, cấu trúc câu, và các yếu tố ngữ nghĩa ẩn. Thay vì chỉ tìm kiếm các từ khóa đơn lẻ, NLP có thể nhận diện các mẫu ngôn ngữ phức tạp thường xuất hiện trong tin nhắn rác. Ví dụ, nó có thể phân biệt giữa một tin nhắn quảng cáo hợp pháp và một tin nhắn lừa đảo dựa trên cách thức sử dụng từ ngữ, sự xuất hiện của các ký tự đặc biệt hoặc các liên kết đáng ngờ. Việc ứng dụng NLP cải thiện đáng kể khả năng phân loại tin nhắn SMS và giúp Machine Learning lọc spam hiệu quả hơn.

2.3. Lọc spam SMS tiếng Việt Đặc thù và giải pháp chuyên biệt

Lọc spam SMS tiếng Việt đặt ra những thách thức riêng biệt do đặc điểm của ngôn ngữ. Tiếng Việt là một ngôn ngữ đơn lập, không biến hình, với hệ thống dấu thanh phức tạp và khả năng ghép từ linh hoạt. Điều này đòi hỏi các công cụ NLP phải được tùy chỉnh và huấn luyện chuyên biệt. Ví dụ, việc chuẩn hóa văn bản, tách từ (word segmentation) chính xác là bước quan trọng đầu tiên. Các nghiên cứu đã tập trung vào "Xử lý ngôn ngữ tự nhiên cho tiếng Việt" để tạo ra các mô hình có khả năng xử lý tốt các sắc thái và biến thể của tiếng Việt. Một hệ thống nhận diện và lọc spam SMS sử dụng Machine Learning hiệu quả cho thị trường Việt Nam cần tích hợp các kỹ thuật NLP tiên tiến, có khả năng xử lý ngữ pháp, từ vựng và ngữ cảnh đặc trưng của ngôn ngữ này, từ đó nâng cao độ chính xác trong việc phân loại tin nhắn SMS và giảm thiểu lỗi.

III. Phương pháp xây dựng Hệ thống nhận diện và lọc spam SMS sử dụng Machine Learning tiên tiến

Để xây dựng một hệ thống nhận diện và lọc spam SMS sử dụng Machine Learning hiệu quả, quá trình này đòi hỏi sự kết hợp giữa việc thu thập dữ liệu chất lượng, lựa chọn thuật toán phù hợp và triển khai một cách có hệ thống. Bước đầu tiên và quan trọng nhất là cung cấp một dataset SMS chất lượng cao, bao gồm cả tin nhắn hợp lệ (ham) và tin nhắn rác (spam) đã được gán nhãn chính xác. Dataset này đóng vai trò "nguyên liệu" để mô hình học máy có thể học hỏi và nhận diện các đặc điểm của từng loại tin nhắn.

Sau khi có dữ liệu, giai đoạn tiền xử lý ngôn ngữ tự nhiên (NLP) là bắt buộc, đặc biệt với tiếng Việt, để chuyển đổi văn bản thô thành định dạng mà thuật toán học máy có thể hiểu và xử lý. Các kỹ thuật như loại bỏ nhiễu, chuẩn hóa văn bản, tách từ, và chuyển đổi từ thành các vector số (feature extraction) là những phần thiết yếu của quá trình này. Tiếp theo là lựa chọn và huấn luyện các thuật toán học máy. Theo tài liệu, "Thuật toán Naïve Bayes" và "Mô hình Bernoulli" đã được sử dụng, cho thấy hiệu quả trong việc Machine Learning lọc spam. Cuối cùng, việc đánh giá hiệu suất của mô hình và triển khai nó vào một ứng dụng thực tế, như trên iOS và xây dựng một máy chủ (Server) hỗ trợ, là các bước để hoàn thiện một hệ thống nhận diện và lọc spam SMS sử dụng Machine Learning hoàn chỉnh. Quá trình này đảm bảo rằng giải pháp không chỉ chính xác mà còn có thể ứng dụng rộng rãi.

3.1. Các bước triển khai mô hình học máy chống spam hiệu quả

Triển khai một mô hình học máy chống spam đòi hỏi quy trình chặt chẽ. "Chương 3: Triển khai xây dựng" của tài liệu gốc đã trình bày chi tiết các bước: "Cung cấp dataset - Thực hiện traning model - Xây dựng ứng dụng trên iOS - Xây dựng Server." Đầu tiên, việc thu thập dataset là quan trọng, sử dụng công cụ như iMazing để xuất các tin nhắn SMS hiện có, kết hợp với các bộ dữ liệu công khai. Sau đó, dữ liệu được tiền xử lý và chia thành tập huấn luyện và tập kiểm thử. Tiếp theo, các thuật toán học máy được huấn luyện trên tập dữ liệu này để "học" cách phân loại tin nhắn SMS. Cuối cùng, mô hình đã huấn luyện được tích hợp vào một ứng dụng thực tế (ví dụ: ứng dụng iOS) và một máy chủ hỗ trợ để cung cấp khả năng nhận diện và lọc tin nhắn rác SMS theo thời gian thực. Mỗi bước đều quan trọng để đảm bảo tính hiệu quả và độ tin cậy của toàn bộ hệ thống.

3.2. Thuật toán Naïve Bayes và Mô hình Bernoulli trong phân loại tin nhắn

Thuật toán Naïve Bayes là một trong những thuật toán học máy phổ biến và hiệu quả cho nhiệm vụ phân loại tin nhắn SMS, đặc biệt trong lĩnh vực Machine Learning lọc spam. Nó hoạt động dựa trên định lý Bayes với giả định độc lập mạnh mẽ giữa các đặc trưng (từ). Mặc dù giả định này đôi khi không hoàn toàn đúng trong thực tế, Naïve Bayes vẫn hoạt động tốt trong nhiều ứng dụng phân loại văn bản. Theo tài liệu, "Thuật toán Naïve Bayes" được sử dụng, kết hợp với "Mô hình Bernoulli". Mô hình Bernoulli là một biến thể của Naïve Bayes, đặc biệt phù hợp khi các đặc trưng là nhị phân (có hoặc không có một từ cụ thể trong tài liệu). Trong ngữ cảnh lọc tin nhắn rác SMS, mô hình Bernoulli có thể hiệu quả trong việc xác định sự hiện diện hoặc vắng mặt của các từ hoặc cụm từ thường liên quan đến spam hoặc tin nhắn hợp lệ, giúp cải thiện đáng kể khả năng nhận diện và phân loại chính xác.

IV. Đánh giá và Ứng dụng thực tiễn của giải pháp lọc spam SMS bằng Machine Learning

Hiệu quả của một hệ thống nhận diện và lọc spam SMS sử dụng Machine Learning không chỉ được đo lường bằng lý thuyết mà còn thông qua các kết quả thực nghiệm và ứng dụng thực tiễn. Tài liệu nghiên cứu đã cung cấp những số liệu cụ thể về độ chính xác của mô hình, minh chứng cho khả năng vượt trội của Machine Learning lọc spam so với các phương pháp truyền thống. Các chỉ số như True Positive, True Negative, False Positive và False Negative đóng vai trò quan trọng trong việc đánh giá hiệu suất tổng thể của hệ thống. Một mô hình tốt sẽ có tỷ lệ True Positive và True Negative cao, đồng thời giảm thiểu tỷ lệ lỗi False Positive và False Negative, đảm bảo rằng tin nhắn rác bị chặn và tin nhắn hợp lệ được gửi đi mà không bị cản trở.

Bên cạnh việc đánh giá mô hình, việc triển khai giải pháp vào các nền tảng thực tế là bước cuối cùng để mang lại giá trị cho người dùng. Tài liệu đã mô tả việc "Xây dựng ứng dụng trên iOS" và "Xây dựng Server", cho thấy một quy trình hoàn chỉnh từ nghiên cứu đến sản phẩm. Ứng dụng iOS cho phép người dùng trực tiếp trải nghiệm khả năng lọc tin nhắn rác SMS ngay trên thiết bị của mình, trong khi máy chủ (Server) đóng vai trò trung tâm trong việc xử lý và đồng bộ hóa dữ liệu. Sự tích hợp này không chỉ chứng minh tính khả thi của giải pháp mà còn mở ra tiềm năng ứng dụng rộng rãi cho công nghệ chống spam SMS trong tương lai.

4.1. Kết quả nghiên cứu Độ chính xác của mô hình học máy chống spam

Kết quả nghiên cứu về hệ thống nhận diện và lọc spam SMS sử dụng Machine Learning đã cho thấy độ chính xác ấn tượng của mô hình. Theo tài liệu, "Model được train có độ chính xác gần 92%." Các chỉ số cụ thể bao gồm: True Positive 90,4% (tỷ lệ tin nhắn hợp lệ được phân loại chính xác), True Negative 91,25% (tỷ lệ tin nhắn rác được phân loại chính xác). Đồng thời, tỷ lệ lỗi cũng được kiểm soát tốt: False Positive 8,75% (tin nhắn hợp lệ bị phân loại sai thành tin nhắn rác) và False Negative 9,6% (tin nhắn rác bị phân loại sai thành tin nhắn hợp pháp). Những con số này khẳng định khả năng mạnh mẽ của Machine Learning lọc spam trong việc phân loại tin nhắn SMS hiệu quả, giảm thiểu đáng kể sự phiền toái và rủi ro từ tin nhắn rác SMS cho người dùng.

4.2. Triển khai hệ thống nhận diện spam SMS trên iOS và xây dựng server

Việc triển khai hệ thống nhận diện spam SMS trên iOS thể hiện tính ứng dụng cao của nghiên cứu. Tài liệu đề cập đến "Xây dựng ứng dụng trên iOS" và "Xây dựng Server", cho thấy một giải pháp toàn diện. Ứng dụng iOS, tận dụng Message Filter App Extension, cho phép kiểm tra tin nhắn ngay trên thiết bị. Quy trình hoạt động bao gồm việc ứng dụng gửi tin nhắn lên máy chủ để được kiểm tra, sau đó server sẽ trả về kết quả xem tin nhắn có hợp lệ hay không. "Hệ thống sẽ luôn đồng bộ dữ liệu lên máy chủ khi được sự đồng ý của người dùng," đảm bảo mô hình luôn được cập nhật và cải thiện. Việc xây dựng một server hỗ trợ (sử dụng Python và WebStorm như các công cụ lập trình) là cần thiết để lưu trữ dataset, huấn luyện mô hình và cung cấp API phân loại tin nhắn, làm nền tảng cho Machine Learning lọc spam hoạt động hiệu quả và linh hoạt.

V. Hướng phát triển tương lai cho công nghệ chống spam SMS với AI

Mặc dù hệ thống nhận diện và lọc spam SMS sử dụng Machine Learning đã đạt được những thành tựu đáng kể, tiềm năng phát triển trong tương lai vẫn còn rất lớn. Sự tiến bộ không ngừng của trí tuệ nhân tạo (AI) và các kỹ thuật học máy mới mở ra nhiều hướng đi để nâng cao hiệu quả và tính linh hoạt của các giải pháp chống spam. Một trong những trọng tâm chính là việc liên tục cải thiện chất lượng dataset, bao gồm cả việc mở rộng kích thước và đảm bảo tính đại diện của dữ liệu, đặc biệt đối với các ngôn ngữ đặc thù như tiếng Việt. Việc thu thập và gán nhãn dữ liệu một cách chính xác là yếu tố then chốt để các thuật toán Machine Learning có thể học hỏi và đưa ra dự đoán ngày càng tốt hơn.

Ngoài ra, việc khám phá và tích hợp các mô hình học sâu (Deep Learning) như mạng nơ-ron hồi quy (RNN) hay Transformer, vốn đã chứng minh hiệu quả vượt trội trong Xử lý ngôn ngữ tự nhiên (NLP) cho spam SMS, có thể mang lại những đột phá mới. Các mô hình này có khả năng nắm bắt các mối quan hệ phức tạp hơn trong văn bản, từ đó tăng cường độ chính xác trong phân loại tin nhắn SMS. Hơn nữa, việc phát triển các tính năng cá nhân hóa, cho phép người dùng tự định nghĩa các quy tắc lọc bổ sung hoặc huấn luyện mô hình dựa trên sở thích cá nhân, cũng là một hướng đi đầy hứa hẹn. Tương lai của công nghệ chống spam SMS chắc chắn sẽ chứng kiến sự kết hợp mạnh mẽ hơn nữa giữa AI, học máy và các công nghệ mới để tạo ra một môi trường giao tiếp an toàn và không rác thải.

5.1. Cải thiện Machine Learning lọc spam Tối ưu dataset và thuật toán

Để Machine Learning lọc spam ngày càng hiệu quả, việc tối ưu hóa dataset và thuật toán là không ngừng. "Hướng phát triển" của dự án nhấn mạnh việc tiếp tục hoàn thiện. Cần mở rộng quy mô dataset, thu thập thêm nhiều mẫu tin nhắn rác và tin nhắn hợp lệ mới, đặc biệt là các biến thể mới của spam. Đồng thời, cân bằng tỷ lệ giữa các loại tin nhắn trong dataset để tránh tình trạng thiên vị (bias) của mô hình. Về mặt thuật toán, việc thử nghiệm và so sánh các mô hình học máy khác nhau như Support Vector Machine (SVM), Random Forest, hoặc thậm chí các mô hình học sâu (Deep Learning) như LSTM hay BERT có thể mang lại hiệu suất tốt hơn. Việc điều chỉnh siêu tham số (hyperparameter tuning) và sử dụng các kỹ thuật như học tăng cường (ensemble learning) cũng sẽ góp phần nâng cao độ chính xác của hệ thống nhận diện và lọc spam SMS sử dụng Machine Learning.

5.2. Tích hợp sâu hơn AI và các công nghệ mới vào phân loại tin nhắn SMS

Tương lai của phân loại tin nhắn SMS nằm ở việc tích hợp sâu hơn trí tuệ nhân tạo (AI) và các công nghệ mới. Điều này không chỉ giới hạn ở việc sử dụng các thuật toán Machine Learning hiện có mà còn mở rộng sang các lĩnh vực như học sâu (Deep Learning), học chuyển đổi (Transfer Learning) và thậm chí là AI giải thích được (Explainable AI - XAI). Việc áp dụng các mô hình học sâu tiên tiến có thể giúp hệ thống nhận diện các mẫu ngữ nghĩa phức tạp và tinh vi hơn trong tin nhắn rác SMS. Ngoài ra, việc tích hợp các công nghệ phân tích hành vi người dùng, nhận diện các mối đe dọa mới nổi một cách chủ động, hoặc thậm chí là sử dụng blockchain để xác minh danh tính người gửi cũng là những hướng đi tiềm năng. Mục tiêu cuối cùng là xây dựng một công nghệ chống spam SMS không chỉ hiệu quả mà còn thông minh, có khả năng tự động thích ứng với mọi chiêu trò mới của kẻ gửi spam.

Tóm tắt và mô tả trên trang này được tạo với sự hỗ trợ của AI từ nội dung tài liệu gốc; tài liệu do người dùng đóng góp và được kiểm duyệt trước khi xuất bản. Báo lỗi nội dung.

14/04/2026
Đồ á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

Trích đoạn nội dung tài liệu

CHƯƠNG 1: NGHIÊN CỨU TỔNG QUAN 1.1 Giới thiệu ngôn ngữ, công cụ 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ôn ngoan 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) 14 - 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.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. 15 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.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 cho iOS 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ủa ngườ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ọn củ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ột phiên bản khái quát của tình huống này trong bước 1. 16 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 trong yê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ển thị 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 iOS Extension và loại bỏ nó.

Đáp lại hành động này, iOS Extension sẽ hoàn thành yêu cầu củ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ảnh trước đó của họ trong ứng dụng lưu trữ. Khi tác vụ của iOS Extension kết thúc, dù ngay lậ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.4 Cách một iOS Extension giao tiếp 17 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ái nhì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ởi chạ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, ứng dụng chứa thậm chí không chạy trong khi tiện ích mở rộng được chứa đang chạy. iOS Extension 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 18 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.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 19 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ân tí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ười gử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 danh sá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 hay khô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ông tin về tin nhắn tới Message Filter App Extension. Nếu extension có thể xác định liệu thô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 20 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ết vớ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ản hồ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 đối tượ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 Ghi chú: - Vì lý do bảo mật, hệ thống sẽ xử lý tất cả các giao tiếp với máy chủ liên kết. Message Filter App Extension không thể truy cập trực tiếp vào mạng. - Cũng vì lý do bảo mật Message Filter App Extension không thể ghi dữ liệu vào vùng chứa được chia sẻ với ứng dụng.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 Directory Extension 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ặn cuộ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 22 trên đĩa, dữ liệu lõi, 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.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ích hợ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 được lư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ệu ngườ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.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ