Tiểu Luận Về Xây Dựng Ứng Dụng Website Tổng Hợp Và Tóm Tắt Tin Tức

Tiểu luận trình bày quy trình xây dựng ứng dụng website tổng hợp và tóm tắt tin tức, giúp người dùng tiếp cận thông tin nhanh chóng và hiệu quả.

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

tiểu luận

2021

53
2
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI NÓI ĐẦU

1. CHƯƠNG 1: TỔNG QUAN VỀ NGÔN NGỮ, CÁC CÔNG CỤ HỖ TRỢ VÀ TỔNG QUAN VỀ ĐỀ TÀI

1.1. Tổng quan về ngôn ngữ và các công cụ hỗ trợ

1.1.1. Tổng quan về lập trình Python và Laravel

1.1.2. Các công cụ hỗ trợ

1.2. Tổng quan về các nội dung thông tin được sử dụng

1.3. Tổng quan về học máy

1.3.1. Giới thiệu học máy

1.3.2. Giới thiệu về NLP

1.3.3. Giới thiệu về NLTK

1.3.4. Quy trình xử lý và tóm tắt văn bản

1.4. Tổng quan về thuật toán sử dụng tóm tắt văn bản

1.4.1. Thuật toán K-Means Clustering

1.4.2. Thuật toán LSA (Latent Semantic Analysis)

1.4.3. Thuật toán Text Rank

2. CHƯƠNG 2: THIẾT KẾ VÀ XÂY DỰNG HỆ THỐNG

2.1. Phân tích hệ thống

2.1.1. Biểu đồ phân rã chức năng

2.1.2. Biểu đồ Use Case tổng quát

2.1.3. Xác định actor và chức năng

2.1.4. Biểu đồ Use case chi tiết

2.1.5. Đặc tả các ca sử dụng

LỜI CAM ĐOAN

TÀI LIỆU THAM KHẢO

Tóm tắt

I. Xây Dựng Ứng Dụng Website Tóm Tắt Tin Tức

Việc xây dựng ứng dụng web cho phép tóm tắt tin tức hiệu quả là một thách thức trong bối cảnh nền tảng tin tức trực tuyến ngày càng phát triển. Người dùng cần ứng dụng website tin tức có khả năng lọc tin tức từ đườngtrích xuất thông tin từ đường, giúp họ tương tác để đọc tin tức một cách nhanh chóng và hiệu quả.

1.1. Vai Trò Của Xử Lý Ngôn Ngữ Tự Nhiên NLP

Xử lý ngôn ngữ tự nhiên đóng vai trò then chốt trong việc tóm tắt văn bản bằng AI. Các ứng dụng đọc báo hiệu quả hiện nay đều ứng dụng các kỹ thuật NLP tiên tiến như machine learning để hiểu và tóm tắt nội dung một cách chính xác.

1.2. Từ Website Tổng Hợp Tin Tức Đến Ứng Dụng Cá Nhân Hóa

Xu hướng phát triển của website tổng hợp tin tức là cá nhân hóa trải nghiệm người dùng. Ứng dụng tóm tắt nội dung dựa trên sở thích và thói quen đọc của từng người dùng sẽ là yếu tố quan trọng để thu hút và giữ chân người dùng.

II. Công Cụ Và Thuật Toán

Để xây dựng ứng dụng web tóm tắt tin tức, cần kết hợp nhiều công nghệ và thuật toán khác nhau.

2.1. Python và Laravel Nền Tảng Phát Triển

Python, với các thư viện như NLTK, cung cấp công cụ tóm tắt văn bản mạnh mẽ. Laravel, một PHP framework phổ biến, là lựa chọn phù hợp cho việc phát triển ứng dụng web đọc báo.

2.2. Thuật Toán Tóm Tắt Văn Bản

Các thuật toán như K-Means Clustering, LSA (Latent Semantic Analysis) và TextRank được sử dụng để phân tích và xác định các phần quan trọng nhất của văn bản, từ đó tạo ra bản tóm tắt tin tức.

III. Thực Nghiệm Và Đánh Giá

Kết quả thực nghiệm cho thấy ứng dụng tóm tắt nội dung đạt hiệu quả cao trong việc rút ngắn độ dài văn bản mà vẫn giữ được nội dung chính.

3.1. Đo Lường Hiệu Quả

Các chỉ số như độ chính xác, độ bao phủ và độ trôi chảy được sử dụng để đánh giá chất lượng của bản tóm tắt tin tức được tạo ra.

3.2. Hướng Phát Triển

Nghiên cứu tiếp theo có thể tập trung vào việc nâng cao khả năng hiểu ngôn ngữ tự nhiên của ứng dụng tóm tắt nội dung, cũng như mở rộng ứng dụng sang các ngôn ngữ khác.

01/02/2025

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

Chương 1 được trình bày tại đây, dài khoảng từ 5 đến 10 dòng.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 Học máy là một tập con của trí tuệ nhân tạo. Theo định nghĩa của Wikipedia thì, học máy là một lĩnh vực nhỏ của khoa học máy tính, nó có khả năng tự học hỏi dựa trên dữ liệu đưa vào mà không cần phải lập trình cụ thể.

Ý tưởng cơ bản của mọi quy trình học máy là xây dựng mô hình dựa trên một số thuật toán để thực hiện một nhiệm vụ cụ thể như phân loại, phân lớp, hồi quy. Giai đoạn huấn luyện được thực hiện dựa trên dữ liệu đầu vào và mô hình được xây dựng để dự đoán đầu ra. Kết quả đầu ra phụ thuộc mục tiêu ban đầu và việc thực hiện. Chi tiết quy trình học máy gồm các bước như sau: Hình 1.1: Sơ đồ học máy Quy trình học máy cơ bản được chia làm các giai đoạn sau: − Thu thập dữ liệu (gathering data): Quá trình thu thập dữ liệu phụ thuộc vào loại dự án mà chúng ta mong muốn xây dựng, ví dụ nếu chúng ta muốn xây dựng dự án học máy mà sử dụng dữ liệu thực để chúng ta có thể xây dựng một hệ thống IoT từ các dữ liệu cảm biến khác nhau.

Dữ liệu chúng ta có thể thu thập từ các nguồn dữ liệu khác nhau như một tập tin, cơ sở dữ liệu, cảm biến. − Tiền xử lý dữ liệu (data pre-processing): Tiền xử lý dữ liệu là một trong những giai đoạn quan trọng trong học máy, nó giúp xây dựng mô hình học máy chính xác. Tiền xử lý dữ liệu là một quá trình làm sạch dữ liệu thô, dữ liệu được thu thập từ nhiều nguồn trong thế giới thực và được chuyển thành một tập dữ liệu sạch. Dữ liệu 2 Tieu luan thô ban đầu có một số đặc điểm như dữ liệu bị thiếu sót, không nhất quán, nhiễu vì vậy dữ liệu này phải được xử lý trước khi đưa vào học máy.

− Xây dựng mô hình phù hợp cho loại dữ liệu (researching model): Mục tiêu chính của chúng ta là xây dựng mô hình thực hiện tốt nhất dựa trên một số thuật toán phân loại và phân lớp. − Huấn luyện và kiểm thử mô hình trên dữ liệu (training and testing model): để huấn luyện một mô hình, ban đầu chúng ta chia mô hình thành 03 giai đoạn bao gồm: dữ liệu huấn luyện (training data), dữ liệu xác nhận (validation data) và dữ liệu kiểm thử (testing data). Để huấn luyện bộ phân lớp ta sử dụng tập hợp dữ liệu huấn luyện (training data set), để tinh chỉnh các tham số ta sử dụng tập hợp xác nhận (validation set) và sau đó kiểm tra hiệu suất của bộ phân loại chưa biết sử dụng tập hợp dữ liệu kiểm thử (test data set). Một lưu ý quan trọng là trong quá trình huấn luyện bộ phân lớp là dữ liệu kiểm thử không được sử dụng để huấn luyện.

− Đánh giá (evaluation): Đánh giá mô hình là một phần quan trọng trong quy trình phát triển mô hình, nó giúp tìm ra mô hình tốt nhất để đại diện cho dữ liệu của chúng ta và mô hình được chọn sẽ hoạt động tốt như thế nào trong tương 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, 3 Tieu luan 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. − Xử lý văn bản: Sử dụng các thuật toán K-Means Clustering, LSA và Text Rank 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.Danh mục ký hiệu và chữ viết tắt 1.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. 4 Tieu luan 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.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.1 Cơ sở thuật toán LSA là một trong những kỹ thuật Xử lý Ngôn ngữ Tự nhiên (NLP) phổ biến nhất, nó sẽ cố gắng xác định các chủ đề trong văn bản bằng cách phân tích các thành phần trong văn bản bằng toán học.

LSA là một kỹ thuật học tập không giám sát dựa trên hai yếu tố chính: - Giả thuyết phân bố, cho rằng các từ có nghĩa giống nhau thường xuyên xuất hiện cùng nhau. - Phân rã giá trị đơn lẻ.

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

Bài viết "Xây Dựng Ứng Dụng Website Tóm Tắt Tin Tức Hiệu Quả" cung cấp cái nhìn tổng quan về cách xây dựng một ứng dụng web có khả năng tóm tắt tin tức một cách hiệu quả. Tác giả nhấn mạnh tầm quan trọng của việc tối ưu hóa nội dung để thu hút người đọc, cũng như các công nghệ và công cụ cần thiết để phát triển ứng dụng này. Độc giả sẽ được hướng dẫn về cách tích hợp các API và sử dụng các phương pháp phân tích dữ liệu để cải thiện trải nghiệm người dùng.

Nếu bạn muốn tìm hiểu thêm về các ứng dụng web khác, hãy tham khảo bài viết Đồ án hcmute xây dựng web bán hàng sử dụng net core và reactjs, nơi bạn có thể khám phá cách xây dựng một trang web thương mại điện tử. Ngoài ra, bài viết Đồ án hcmute xây dựng website bán hàng với angular asp net core sẽ giúp bạn hiểu rõ hơn về việc phát triển ứng dụng bán hàng bằng Angular. Cuối cùng, bài viết Nghiên cứu kiểm thử phần mềm và sử dụng công cụ postman để test api cho website sẽ cung cấp kiến thức về kiểm thử phần mềm, một phần quan trọng trong quá trình phát triển ứng dụng web. Những liên kết này sẽ mở ra cho bạn nhiều cơ hội để mở rộng kiến thức và kỹ năng trong lĩnh vực phát triển web.