Đồ án môn học: Xây dựng ứng dụng website tổng hợp tin tức sử dụng Python, NLP - Học viện Kỹ thuật Mật mã

Đồ án môn học thực tập cơ sở xây dựng ứng dụng website tổng hợp và tóm tắt tin tức bằng Python NLP. Phân tích quy trình xử lý ngôn ngữ tự nhiên và các thuật

Trường đại học

Học viện Kỹ thuật Mật mã

Chuyên ngành

Công nghệ Thông tin

Người đăng

Ẩn danh

Thể loại

Đồ án

2021

117
1
0

Phí lưu trữ

35 Point

Tóm tắt

I. Tổng quan về website tổng hợp và tóm tắt tin tức bằng Python NLP

Website tổng hợp và tóm tắt tin tức là ứng dụng web có khả năng thu thập bài báo từ nhiều nguồn khác nhau, sau đó sử dụng các kỹ thuật xử lý ngôn ngữ tự nhiên NLP để tạo ra bản tóm tắt ngắn gọn. Hệ thống được xây dựng chủ yếu bằng ngôn ngữ Python kết hợp với PHP và cơ sở dữ liệu MySQL. Python đóng vai trò trung tâm trong việc xử lý văn bản, phân tích nội dung và sinh bản tóm tắt tự động. NLP cho phép máy tính hiểu được cấu trúc ngữ nghĩa của văn bản tiếng Việt, từ đó trích xuất thông tin quan trọng. Website giúp người dùng tiết kiệm thời gian đáng kể khi cập nhật tin tức hàng ngày. Thay vì đọc toàn bộ bài báo gốc dài hàng nghìn từ, người dùng chỉ cần xem bản tóm tắt từ ba đến năm câu. Hệ thống hoạt động theo mô hình Client Server với ba loại người dùng chính gồm khách, thành viên và quản trị viên. Giao diện được phát triển bằng framework Laravel đảm bảo tính thân thiện và dễ sử dụng.

1.1. Định nghĩa và mục tiêu của hệ thống tổng hợp tin tức

Hệ thống tổng hợp và tóm tắt tin tức là nền tảng công nghệ tự động hóa quy trình thu thập, phân loại và trình bày nội dung báo chí. Mục tiêu chính là giải quyết vấn đề quá tải thông tin mà người đọc thường gặp phải trong thời đại số. Khi lượng tin tức xuất hiện mỗi ngày quá lớn, người dùng không có đủ thời gian để đọc hết tất cả bài báo. Hệ thống giúp rút gọn nội dung nhưng vẫn giữ được ý nghĩa cốt lõi của bản tin gốc. Đồng thời, tính năng chuyển văn bản thành giọng nói text to speech hỗ trợ người dùng tiếp cận thông tin thuận tiện hơn trong nhiều tình huống khác nhau.

1.2. Các công nghệ và thư viện Python sử dụng trong dự án

Dự án sử dụng nhiều thư viện Python mạnh mẽ phục vụ cho xử lý ngôn ngữ tự nhiên. Thư viện NLTK hỗ trợ tokenize, stemming và loại bỏ stop words trong văn bản tiếng Việt. Scikit learn cung cấp thuật toán K Means Clustering để phân nhóm câu có ý nghĩa tương đồng. Gensim được sử dụng để triển khai mô hình LSA Latent Semantic Analysis nhằm phân tích ngữ nghĩa ẩn. Mạng nơ ron từ thư viện PyTorch hoặc TensorFlow hỗ trợ huấn luyện mô hình học sâu. Bên cạnh đó, Beautiful Soup và Scrapy đảm nhận vai trò crawl dữ liệu tin tức từ các trang báo điện tử một cách tự động và hiệu quả.

II. Phân tích thách thức trong xử lý và tóm tắt tin tức tự động

Xử lý văn bản tiếng Việt đặt ra nhiều thách thức đặc biệt so với các ngôn ngữ khác. Tiếng Việt sử dụng dấu thanh và từ ghép phức tạp, khiến quá trình tokenize gặp nhiều khó khăn. Một từ trong tiếng Việt có thể có nhiều nghĩa tùy theo ngữ cảnh, yêu cầu thuật toán phải hiểu được mối quan hệ ngữ nghĩa giữa các câu. Bài toán tóm tắt văn bản được chia thành hai phương pháp chính gồm tóm tắt trích xuất và tóm tắt sinh sinh. Phương pháp trích xuất chọn lọc trực tiếp các câu quan trọng từ văn bản gốc. Phương pháp sinh tạo ra câu mới dựa trên nội dung đã được phân tích. Thách thức lớn nhất là đảm bảo bản tóm tắt giữ được đầy đủ ý nghĩa mà không bỏ sót thông tin quan trọng. Độ chính xác của thuật toán phụ thuộc vào chất lượng tiền xử lý dữ liệu đầu vào. Việc xử lý nhiễu, ký tự đặc biệt và định dạng văn bản không đồng nhất đòi hỏi nhiều bước làm sạch dữ liệu phức tạp.

2.1. Bài toán xử lý ngôn ngữ tự nhiên NLP với văn bản tiếng Việt

Văn bản tiếng Việt có cấu trúc ngữ pháp phức tạp với hệ thống thanh điệu và từ loại đa dạng. Quá trình tiền xử lý bao gồm nhiều bước như loại bỏ HTML tags, ký tự đặc biệt, stop words và chuẩn hóa Unicode. Việc phân đoạn câu sentence segmentation và phân đoạn từ word segmentation cần xử lý chính xác vì tiếng Việt dùng khoảng trắng để phân tách từ. Mỗi câu văn bản cần được chuyển đổi thành vector số học để máy tính có thể tính toán. Kỹ thuật TF IDF thường được sử dụng để biểu diễn tầm quan trọng của từng từ trong văn bản. Quá trình này ảnh hưởng trực tiếp đến chất lượng của bản tóm tắt đầu ra.

2.2. Vấn đề lựa chọn thuật toán tóm tắt văn bản phù hợp

Hiện nay có nhiều thuật toán tóm tắt văn bản được áp dụng, mỗi thuật toán có ưu nhược điểm riêng. Thuật toán TextRank hoạt động theo nguyên lý tương tự Google PageRank, đánh giá tầm quan trọng của câu dựa trên mối liên kết giữa các câu. K Means Clustering phân nhóm câu theo ý nghĩa, sau đó chọn câu đại diện từ mỗi cụm. LSA khai phá cấu trúc ngữ nghĩa ẩn trong tập văn bản để xác định chủ đề chính. Việc lựa chọn thuật toán phù hợp phụ thuộc vào đặc điểm dữ liệu đầu vào và yêu cầu về tốc độ xử lý. Kết hợp nhiều thuật toán có thể cải thiện chất lượng tóm tắt đáng kể so với việc sử dụng đơn lẻ.

III. Giải pháp xây dựng website bằng Python và các thuật toán NLP

Giải pháp xây dựng hệ thống chia thành ba giai đoạn chính gồm thu thập dữ liệu, xử lý ngôn ngữ tự nhiên và hiển thị kết quả. Ở giai đoạn thu thập, công cụ Scrapy và Beautiful Soup được sử dụng để crawl bài báo từ các trang tin tức điện tử phổ biến. Dữ liệu thô được lưu vào cơ sở dữ liệu MySQL thông qua framework Laravel. Giai đoạn xử lý ngôn ngữ tự nhiên sử dụng Python với pipeline bao gồm tiền xử lý, vector hóa văn bản, phân cụm câu và trích chọn câu tóm tắt. Thuật toán K Means Clustering nhóm các câu có ý nghĩa tương đồng lại với nhau. Trong mỗi cụm, câu có trọng số TF IDF cao nhất được chọn làm câu đại diện. TextRank bổ sung thêm cơ chế đánh giá tầm quan trọng của câu dựa trên đồ thị. Giao diện người dùng được thiết kế bằng Laravel với Bootstrap, hiển thị tiêu đề, ảnh đại diện và nội dung tóm tắt. Tính năng text to speech tích hợp API cho phép nghe bản tin trực tiếp trên trình duyệt.

3.1. Pipeline xử lý văn bản với K Means LSA và TextRank

Pipeline xử lý văn bản bắt đầu bằng bước tiền xử lý gồm loại bỏ ký tự đặc biệt, chuyển về chữ thường và tách câu. Tiếp theo, mỗi câu được chuyển thành vector số học bằng kỹ thuật TF IDF hoặc word embedding. Thuật toán K Means Clustering phân nhóm câu thành K cụm dựa trên khoảng cách Euclid giữa các vector. LSA thực hiện phân tích thành phần ẩn để phát hiện cấu trúc ngữ nghĩa sâu trong văn bản. TextRank xây dựng đồ thị câu, tính điểm PageRank cho từng câu. Câu có điểm cao nhất trong mỗi cụm được chọn để ghép thành bản tóm tắt hoàn chỉnh.

3.2. Thiết kế kiến trúc hệ thống và giao diện người dùng

Kiến trúc hệ thống sử dụng mô hình Client Server với ba tầng rõ ràng gồm trình bày, xử lý và dữ liệu. Tầng trình bày sử dụng Laravel Framework kết hợp Bootstrap để xây dựng giao diện responsive. Tầng xử lý bao gồm module Python đảm nhận vai trò NLP và module PHP xử lý logic nghiệp vụ. Tầng dữ liệu sử dụng MySQL lưu trữ bài báo, bản tóm tắt và thông tin người dùng. Hệ thống phân quyền gồm ba cấp gồm khách, thành viên và quản trị viên. Quản trị viên có quyền xem, sửa và xóa bài báo. Người dùng thông thường chỉ có thể xem và tìm kiếm nội dung tin tức đã được tóm tắt.

IV. Kết luận và hướng ứng dụng mở rộng của hệ thống tóm tắt tin tức

Hệ thống website tổng hợp và tóm tắt tin tức đã chứng minh tính khả thi khi áp dụng Python và NLP vào xử lý văn bản tiếng Việt. Kết quả cho thấy thuật toán K Means kết hợp TextRank cho chất lượng tóm tắt tốt, giữ được nội dung cốt lõi của bài báo gốc. Bản tóm tắt trung bình từ ba đến năm câu, đủ ngắn gọn nhưng vẫn truyền tải đầy đủ thông tin chính. Tính năng text to speech nhận được phản hồi tích cực từ người dùng thử nghiệm. Hệ thống hoạt động ổn định với thời gian xử lý nhanh, đáp ứng nhu cầu sử dụng thực tế. Hướng phát triển trong tương lai bao gồm áp dụng mô hình học sâu transformer để cải thiện chất lượng tóm tắt. Mở rộng khả năng xử lý dữ liệu văn bản lớn hơn như sách, tài liệu nghiên cứu và tiểu thuyết. Tích hợp thêm tính năng phân tích cảm xúc và phân loại chủ đề tự động. Phát triển ứng dụng di động để tăng khả năng tiếp cận người dùng ở mọi lúc mọi nơi.

4.1. Kết quả đạt được và ưu điểm của mô hình tóm tắt tự động

Mô hình tóm tắt tự động đạt được nhiều kết quả đáng khích lệ trong quá trình thử nghiệm. Bản tóm tắt giữ được trên tám mươi phần trăm nội dung quan trọng của bài báo gốc. Thời gian xử lý trung bình cho mỗi bài báo chỉ mất vài giây, phù hợp với yêu cầu thực tế. Hệ thống hoạt động ổn định với tỷ lệ lỗi thấp trong quá trình crawl và xử lý dữ liệu. Giao diện web thân thiện giúp người dùng dễ dàng tìm kiếm và đọc tin tức. Ưu điểm nổi bật nhất là khả năng mở rộng dễ dàng khi cần thêm nguồn tin mới hoặc thay đổi thuật toán xử lý.

4.2. Hướng phát triển và tiềm năng ứng dụng trong thực tế

Hệ thống có tiềm năng ứng dụng rộng rãi trong nhiều lĩnh vực khác nhau. Trong giáo dục, công cụ hỗ trợ sinh viên nghiên cứu tài liệu nhanh chóng bằng cách tóm tắt sách và luận văn. Trong báo chí, hệ thống giúp tòa soạn sàng lọc và phân loại tin tức tự động theo chủ đề. Áp dụng mô hình học sâu BERT hoặc GPT cho tiếng Việt sẽ cải thiện đáng kể chất lượng bản tóm tắt. Phát triển API mở cho phép tích hợp vào ứng dụng bên thứ ba. Mở rộng khả năng đa ngôn ngữ để xử lý tin tức từ nhiều quốc gia khác nhau. Tích hợp phân tích xu hướng và dự đoán chủ đề hot trên mạng xã hội.

29/05/2026

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

Chương 1 miêu tả tổng quan nhất về các ngôn ngữ, công cụ hỗ trợ, nêu ra các quy trình để xử lý cho học máy. Cùng với đó là vấn đề chính của đồ án này, đó là quy trình thu xử lý văn bản cho trước, từ đó áp dụng các thuật toán để từ đó tạo ra các văn bản tóm tắt có độ dài ngắn hơn đáng kể, nhưng vẫn giữ được nội dung phù hợp với văn bản gốc. Bên cạnh đó là các thuật toán sẽ được sử dụng trong quá trình xử lý văn bản, để thu được một văn bản tóm tắt hoàn chỉnh.1 Tổng quan về ngôn ngữ và cá́c công cụ hỗ trợ 1.1 Tổng quan về lập trình Python và Laravel Python là ngôn ngữ lập trình hướng đối tượng, cấp cao, mạnh mẽ, được tạo ra bởi Guido van Rossum. Nó dễ dàng để tìm hiểu, Python hoàn toàn tạo kiểu động và sử dụng cơ chế cấp phát bộ nhớ tự động.

Python có cấu trúc dữ liệu cấp cao mạnh mẽ và cách tiếp cận đơn giản nhưng hiệu quả đối với lập trình hướng đối tượng. Cú pháp lệnh của Python là điểm cộng vô cùng lớn vì sự rõ ràng, dễ hiểu và cách gõ linh động làm cho nó nhanh chóng trở thành một ngôn ngữ lý tưởng để viết script và phát triển ứng dụng trong nhiều lĩnh vực, ở hầu hết các nền tảng. Laravel là một PHP framework mã nguồn mở hoàn toàn miễn phí, được phát triển bởi Taylor Otwell, phiên bản đầu tiên được cho ra mắt vào năm 2011. Laravel ra đời với mục đích hỗ trợ phát triển các ứng dụng web dựa trên mô hình Model – View – Controller (MVC).2 Các công cụ hỗ trợ Hiện tại có rất nhiều các trình hỗ trợ soạn thảo mã nguồn, cho phép mọi người lập trình và chạy các mã nguồn.

Visual Studio Code là một trong số đó. Với những extention có thể tích hợp dễ dàng, giúp cho việc lập trình và thực thi mã nguồn tiện lợi, hiệu quả. Đó là công cụ mạnh mẽ mà chúng em sẽ sử dụng xuyên suốt đề tài.2 Tổng quan về cá́c nội dung thông tin được sử dụng Với các thông tin hiện tại, chúng ta đang có quá nhiều thông tin để phải chọn lọc. Bên cạnh đó là nguồn thông tin cần phải được xác thực từ các bên chính thống.

Vì vậy, để phát triển bước đầu cho hệ thống, các nguồn thông tin được cung cấp đầu vào sẵn từ trước, đến từ các báo có độ uy tín cao, thông tin xác thực từ các cơ quan có thẩm quyền như: VnExpress.3 Tổng quan về học má́y 1.1 Giới thiệu học máy Hoc may la mọt tạp con cua tri tuẹ nhan tao. Theo đinh nghia cua Wikipedia thi, hoc may la mọt linh vưc nho cua khoa hoc may tinh, no co kha nang tư hoc hoi dưa tren dư liẹu đua vao ma khong cân phai lạp trinh cu thê. Ý tuơng co ban cua moi quy trinh hoc may la xay dưng mo hinh dưa tren mọt sô thuạt toan đê thưc hiẹn mọt nhiẹm vu cu thê nhu phan loai, phan lơp, hôi quy. Giai đoan huân luyẹn đuơc thưc hiẹn dưa tren dư liẹu đâu vao va mo hinh đuơc xay dưng đê dư đoan đâu ra.

Kêt qua đâu ra phu thuọc muc tieu ban đâu va viẹc thưc hiẹn. Chi tiêt quy trinh hoc may gôm cac buơc nhu sau: Hình 1: Sơ đồ học má́y Quy trinh hoc may co ban đuơc chia lam cac giai đoan sau: − Thu thạp dư liẹu (gathering data): Qua trinh thu thạp dư liẹu phu thuọc vao loai dư an ma chung ta mong muôn xay dưng, vi du nêu chung ta muôn xay dưng dư an hoc may ma sư dung dư liẹu thưc đê chung ta co thê xay dưng mọt hẹ thông IoT tư cac dư liẹu cam biên khac nhau. Dư liẹu chung ta co thê thu thạp tư cac nguôn dư liẹu khac nhau nhu mọt tạp tin, co sơ dư liẹu, cam biên. − Tiên xư ly dư liẹu (data pre-processing): Tiên xư ly dư liẹu la mọt trong nhưng giai đoan quan trong trong hoc may, no giup xay dưng mo hinh hoc may chinh xac.

Tiên xư ly dư liẹu la mọt qua trinh lam sach dư liẹu tho, dư liẹu đuơc thu thạp tư nhiêu nguôn trong thê giơi thưc va đuơc chuyên thanh mọt tạp dư liẹu sach. Dư liẹu tho ban đâu co mọt sô đặc điêm nhu dư liẹu bi thiêu sot, khong nhât quan, nhiêu vi vạy dư liẹu nay phai đuơc xư ly truơc khi đua vao hoc may. − Xay dưng mo hinh phu hơp cho loai dư liẹu (researching model): Muc tieu chinh cua chung ta la xay dưng mo hinh thưc hiẹn tôt nhât dưa tren mọt sô thuạt toan phan loai va phan lơp. − Huân luyẹn va kiêm thư mo hinh tren dư liẹu (training and testing model): đê huân luyẹn mọt mo hinh, ban đâu chung ta chia mo hinh thanh 03 giai đoan bao gôm: dư liẹu huân luyẹn (training data), dư liẹu xac nhạn (validation data) va dư liẹu kiêm thư (testing 2 data).

Đê huân luyẹn bọ phan lơp ta sư dung tạp hơp dư liẹu huân luyẹn (training data set), đê tinh chinh cac tham sô ta sư dung tạp hơp xac nhạn (validation set) va sau đo kiêm tra hiẹu suât cua bọ phan loai chua biêt sư dung tạp hơp dư liẹu kiêm thư (test data set). Mọt luu y quan trong la trong qua trinh huân luyẹn bọ phan lơp la dư liẹu kiêm thư khong đuơc sư dung đê huân luyẹn. − Đanh gia (evaluation): Đanh gia mo hinh la mọt phân quan trong trong quy trinh phat triên mo hinh, no giup tim ra mo hinh tôt nhât đê đai diẹn cho dư liẹu cua chung ta va mo hinh đuơc chon se hoat đọng tôt nhu thê nao trong tuong lai.2 Giới thiệu về NLP Natural Language Processing (NLP) – Xử lý ngôn ngữ tự nhiên là lĩnh vực Khoa học máy tính kết hợp giữa Trí tuệ nhân tạo (Artificial Intelligence) và Ngôn ngữ học tính toán (Computational Linguistics) nhằm tập trung xử lý tương tác giữa con người và máy tính sao cho máy tính có thể hiểu hay bắt chước được ngôn ngữ của con người. Các ứng dụng thường thấy như hiện nay là Siri, Cortana và Google Now.3 Giới thiệu về NLTK NLTK hay Natural Language Toolkit - Bộ công cụ ngôn ngữ tự nhiên, là một thư viện được viết bằng Python hỗ trợ xử lý ngôn ngữ tự nhiên.

Bằng cách cung cấp các cơ chế và kỹ thuật xử lý ngôn ngữ phổ biến, nó giúp cho việc xử lý ngôn ngữ tự nhiên trở lên dễ dàng và nhanh chóng hơn. Được viết bởi Steven Bird và Edward Loper, làm việc tại Khoa Máy Tính, Đại Học Pennsylvania, Hoa Kỳ và năm 2001. Ngoài việc hỗ trợ xử lý ngôn ngữ, NLTK còn có các mô phỏng đồ hoạ và dữ liệu mẫu hữu ích. NLTK cung cấp các xử lý như classification, tokenization, stemming, tagging, parsing, và semantic reasoning.

Những ứng dụng này chúng ta sẽ dần được tìm hiểu ở những bài viết sau. Ngoài việc phục vụ xử lý ngôn ngữ tự nhiên, NLTK còn được sử dụng trong Machine Learning với tác dụng làm sạch dữ liệu, xử lý dữ liệu đầu vào cho các thuật toán Machine Learning.4 Quy trình xử lý và tóm tắt văn bản − Tiền xử lý văn bản: Văn bản đầu vào của có thể chứa nhiều ký tự thừa, dấu câu thừa, khoảng trắng thừa, các từ viết tắt, viết hoa,. điều này có thể làm ảnh hưởng tới các bước ở sau, nên cần biến đổi hết về các chữ cái thường và loại bỏ các khoảng trắng thừa, các từ không mang ý nghĩa hay không ảnh hương ý nghĩa trong câu nếu loại bỏ. − Tá́ch câu trong văn bản: Ở bước này, sẽ tách 1 đoạn văn bản cần tóm tắt đã qua xử lý thành 1 danh sách các câu của văn bản.

− Chuyển cá́c câu sang dạng vector số thực: Để phục vụ cho phương pháp tóm tắt ở bước tiếp theo, cần chuyển các câu văn (độ dài ngắn khác nhau) thành các vector số thực có độ dài cố định, sao cho vẫn phải đảm bảo được "độ khác nhau" về ý nghĩa giữa 2 câu cũng tương tự như độ sai khác giữa 2 vector tạo ra. 3 − Xử lý văn bản: Sử dụng các thuật toán K-Means Clustering, LSA và TextRank sẽ giúp phân tích ra những cụm câu có ý nghĩa giống nhau, để từ đó chọn lọc và loại bỏ bớt các câu có cùng ý nghĩa. − Xây dựng đoạn văn bản tóm tắt: Sau khi đã có các cụm, trong mỗi cụm (phân loại theo ý nghĩa), sẽ chọn ra 1 câu duy nhất trong cụm đó để tạo nên văn bản được tóm tắt.5 Tổng quan về thuật toá́n sử dụng tóm tắt văn bản 1.1 Thuật toán K-Means Clustering 1.1 Cơ sở thuật toán Kmeans là một thuật toán học máy không giám sát – Unsupervised Learning. Đầu vào của thuật toán phân cụm nói chung là các điểm dữ liệu và đầu ra là các điểm với cụm tương ứng của nó sao cho các điểm thuộc cùng một cụm có nhiều mối quan hệ, liên kết với nhau hơn nhiều so với các điểm khác cụm.

Với thuật toán Kmeans ta cần truyền thêm tham số là số cụm. Kmeans sử dụng Euclid để xác định sự giống nhau giữa hai điểm dữ liệu, hai điểm càng gần nhau thì độ tương tự giữa hai điểm này càng cao. Dựa trên ý tưởng như vậy, Kmeans sử dụng hàm để tính tổng khoảng cách từ 1 điểm tới tâm cụm tương ứng của nó và tối ưu dựa trên thuật toán lặ̆p. Với ý tưởng đơn giản, dễ triển khai nhưng lại đem lại kết quả tốt trên nhiều bài toán.

Hiện tại Kmeans vẫn luôn nằm trong top những thuật toán Machine Learning phổ biến nhất. Hình 2: K-Means Clustering 4 1.2 Ý tưởng áp dụng thuật toán Sau khi xử lý và chuẩn hoá dữ liệu đầu vào, việc chọn số cụm là việc khó khăn. Với khả năng xử lý và tối ưu nhất cho một bài báo, thì số cụm được sử dụng trong hệ thống là 5 cụm tương đương với bài báo sau khi được tóm tắt có độ dài là 5 câu. Các bước thực hiện: Bước 1: Khởi tạo 5 điểm dữ liệu trong bộ dữ liệu và tạm thời coi nó là tâm của các cụm dữ liệu của chúng ta.

Bước 2: Với mỗi điểm dữ liệu trong bộ dữ liệu, tâm cụm của nó sẽ được xác định là 1 trong 5 tâm cụm gần nó nhất. Bước 3: Sau khi tất cả các điểm dữ liệu đã có tâm, tính toán lại vị trí của tâm cụm để đảm bảo tâm của cụm nằm ở chính giữa cụm. Bước 4: Bước 2 và bước 3 sẽ được lặ̆p đi lặ̆p lại cho tới khi vị trí của tâm cụm không thay đổi hoặ̆c tâm của tất cả các điểm dữ liệu không thay đổi.2 Thuật toán LSA (Latent Semantic Analysis) 1.

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