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

XÂY DỰNG ỨNG DỤNG WEBSITE TỔNG HỢP VÀ TÓM TẮT TIN TỨC

68 21 0

Đ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 đề Xây Dựng Ứng Dụng Website Tổng Hợp Và Tóm Tắt Tin Tức
Tác giả Trần Cao Minh Bách, Vũ Thị Ánh, Trần Thị Dung
Người hướng dẫn ThS. Lê Đức Thuận
Trường học Học viện Kỹ thuật Mật mã
Chuyên ngành Công nghệ thông tin
Thể loại đồ án môn học
Năm xuất bản 2021
Thành phố Hà Nội
Định dạng
Số trang 68
Dung lượng 4,67 MB

Cấu trúc

  • DANH MỤC HÌNH VẼ

  • DANH MỤC BẢNG BIỂU

  • CHƯƠNG 1. CƠ SỞ LÝ THUYẾT

    • 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.4 Quy trình xử lý và tóm tắt văn bản

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

      • 1.5.1 Thuật toán K-Means Clustering

        • 1.5.1.1 Cơ sở thuật toán

        • 1.5.1.2 Ý tưởng áp dụng thuật toán

      • 1.5.2 Thuật toán LSA (Latent Semantic Analysis)

        • 1.5.2.1 Cơ sở thuật toán

        • 1.5.2.2 Ý tưởng áp dụng thuật toán

      • 1.5.3 Thuật toán TextRank

        • 1.5.3.1 Cơ sở thuật toán

  • 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.4.1 Biểu đồ UC User

        • 2.1.4.2 Biểu đồ UC Guest

        • 2.1.4.3 Biểu đồ UC quản lý tin tức

        • 2.1.4.4 Biểu đồ UC quản lý User

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

    • 2.2 Thiết kế giao diện người dùng

      • 2.2.1 Các chức năng chính

      • 2.2.2 Phân quyền cho User

      • 2.2.3 Nội dung trên trang

      • 2.2.4 Cấu trúc website thử nghiệm

        • 2.2.4.1 Trang chủ

        • 2.2.4.2 Trang tin tức theo nhãn

        • 2.2.4.3 Trang thông tin chi tiết từ bài

    • 2.3 Thiết kế hệ thống thu thập tin tức

      • 2.3.1 Thu thập dữ liệu

        • 2.3.1.1 Phân tích dữ liệu từ website:

        • 2.3.1.2 Bóc tách dữ liệu từ mã nguồn của web:

          • a) Xác định thành phần cần thu thập

          • b) Phân tích và bóc tách dữ liệu từ mã nguồn

          • c) Đối với Link bài viết

          • d) Đối với các thành phần khác

      • 2.3.2 Bóc tách & Lọc dữ liệu về dạng chuẩn

        • 2.2.1.1 Bóc tách dữ liệu

    • 2.4 Thiết kế hệ thống xử lý và tóm tắt tin tức

      • 2.4.1 Tách câu trong văn bản

      • 2.4.2 Tách từ trong câu

      • 2.4.3 Sử dụng kỹ thuật chuyển từ thành vector số thực

      • 2.4.4 Xây dựng đoạn văn bản tóm tắt

    • 2.5 Xây dựng hệ thống

      • 2.5.1 Hệ thống giao diện sử dụng cho người dùng

      • 2.5.2 Hệ thống thu thập thông tin

      • 2.5.3 Hệ thống tóm tắt văn bản

    • 2.6 Một số hình ảnh thực tế các bài báo sau khi xử lý

  • Chương 3: KẾT QUẢ THỰC NGHIỆM

    • 3.1 Kết quả chạy hệ thống giao diện người dùng

      • 3.1.1 Giao diện người dùng

      • 3.1.2 Hệ thống Thu thập thông tin

      • 3.1.3 Hệ thống Tóm tắt văn bản

  • KẾT LUẬN

    • Kết luận chung

    • Hướng phát triển

    • Kiến nghị và đề xuất

  • TÀI LIỆU THAM KHẢO

  • PHỤ LỤC

    • Phụ lục 1. Mẫu trang bìa chính của đồ án

    • Phụ lục 2. Mẫu trang bìa phụ của đồ án

    • Phụ lục 3. Mẫu nhận xét đồ án

Nội dung

CƠ SỞ LÝ THUYẾT

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

Học máy, một nhánh con của trí tuệ nhân tạo, được định nghĩa là lĩnh vực trong khoa học máy tính có khả năng tự học từ dữ liệu mà không cần lập trình cụ thể.

Ý tưởng cốt lõi của quy trình học máy là xây dựng mô hình dựa trên các thuật toán để thực hiện nhiệm vụ cụ thể như phân loại, phân lớp và hồi quy Giai đoạn huấn luyện dựa trên dữ liệu đầu vào nhằm tạo ra mô hình dự đoán đầu ra Kết quả đầu ra sẽ phụ thuộc vào mục tiêu ban đầu và cách thực hiện Quy trình học máy bao gồm các bước cụ thể để đảm bảo tính hiệu quả và chính xác trong việc dự đoán.

Hình 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:

Quá trình thu thập dữ liệu là yếu tố quan trọng trong việc xây dựng các dự án, đặc biệt là dự án học máy Để phát triển hệ thống IoT từ các dữ liệu cảm biến, chúng ta cần thu thập dữ liệu thực từ nhiều nguồn khác nhau như tập tin, cơ sở dữ liệu và cảm biến Việc lựa chọn nguồn dữ liệu phù hợp sẽ ảnh hưởng đến hiệu quả của hệ thống mà chúng ta xây dựng.

Tiền xử lý dữ liệu là giai đoạn quan trọng trong học máy, giúp xây dựng mô hình chính xác Quá trình này bao gồm việc làm sạch dữ liệu thô, được thu thập từ nhiều nguồn khác nhau, để tạo ra một tập dữ liệu sạch Dữ liệu ban đầu thường gặp phải các vấn đề như thiếu sót, không nhất quán và nhiễu, do đó cần được xử lý kỹ lưỡng trước khi đưa vào mô hình học máy.

Mục tiêu chính của chúng tôi là phát triển một mô hình tối ưu cho loại dữ liệu cụ thể, tập trung vào việc áp dụng các thuật toán phân loại và phân lớp hiệu quả nhất.

Để huấn luyện một mô hình, chúng ta chia quá trình thành ba giai đoạn: sử dụng tập dữ liệu huấn luyện để xây dựng bộ phân lớp, tập xác nhận để tinh chỉnh các tham số, và cuối cùng là kiểm tra hiệu suất với tập dữ liệu kiểm thử Quan trọng là dữ liệu kiểm thử không được sử dụng trong quá trình huấn luyện để đảm bảo tính chính xác của mô hình.

Đánh giá mô hình là một bước quan trọng trong quy trình phát triển, giúp xác định mô hình tối ưu nhất cho dữ liệu của chúng ta Quá trình này không chỉ tìm ra mô hình phù hợp mà còn dự đoán hiệu suất của nó trong tương lai.

Xử lý ngôn ngữ tự nhiên (NLP) là lĩnh vực giao thoa giữa trí tuệ nhân tạo và ngôn ngữ học tính toán, nhằm cải thiện sự tương tác giữa con người và máy tính Mục tiêu của NLP là giúp máy tính hiểu và bắt chước ngôn ngữ con người Các ứng dụng phổ biến hiện nay bao gồm Siri, Cortana và Google Now.

NLTK (Natural Language Toolkit) là một thư viện Python hỗ trợ xử lý ngôn ngữ tự nhiên, giúp việc này trở nên dễ dàng và nhanh chóng hơn Được phát triển bởi Steven Bird và Edward Loper tại Đại Học Pennsylvania vào năm 2001, NLTK không chỉ cung cấp các cơ chế xử lý ngôn ngữ như classification, tokenization, stemming, tagging, parsing, và semantic reasoning, mà còn bao gồm các mô phỏng đồ hoạ và dữ liệu mẫu hữu ích Ngoài ra, NLTK còn được ứng dụng trong Machine Learning để làm sạch dữ liệu và xử lý đầu vào cho các thuật toán.

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

Tiền xử lý văn bản là bước quan trọng trong việc làm sạch dữ liệu đầu vào, giúp loại bỏ ký tự thừa, dấu câu không cần thiết và khoảng trắng thừa Việc chuyển đổi tất cả chữ cái về dạng chữ thường và loại bỏ các từ không mang ý nghĩa sẽ cải thiện chất lượng văn bản, từ đó nâng cao hiệu quả cho các bước xử lý tiếp theo.

− 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.

Để chuẩn bị cho phương pháp tóm tắt, cần chuyển đổi các câu văn có độ dài khác nhau thành các vector số thực có độ dài cố định Việc này đảm bảo rằng sự khác biệt về ý nghĩa giữa hai câu được phản ánh tương ứng với độ sai khác giữa hai vector được tạo ra.

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

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

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

Kmeans là một thuật toán học máy không giám sát (Unsupervised Learning) được sử dụng để phân cụm dữ liệu Thuật toán này nhận đầu vào là các điểm dữ liệu và tạo ra đầu ra là các cụm, trong đó các điểm thuộc cùng một cụm có mối quan hệ chặt chẽ hơn với nhau so với các điểm thuộc các cụm khác.

Thuật toán Kmeans yêu cầu người dùng chỉ định số lượng cụm cần phân loại Để xác định mức độ tương đồng giữa hai điểm dữ liệu, Kmeans sử dụng khoảng cách Euclid; hai điểm càng gần nhau thì mức độ tương đồng càng cao.

Kmeans là một thuật toán Machine Learning phổ biến, sử dụng hàm để tính tổng khoảng cách từ một điểm đến tâm cụm tương ứng và tối ưu hóa thông qua thuật toán lặp Với ý tưởng đơn giản và dễ triển khai, Kmeans mang lại kết quả hiệu quả cho nhiều bài toán khác nhau.

1.5.1.2 Ý tưởng áp dụng thuật toán

Sau khi hoàn tất việc xử lý và chuẩn hóa dữ liệu đầu vào, việc xác định số lượng cụm là một thách thức lớn Để tối ưu hóa nội dung cho bài báo, hệ thống đã lựa chọn 5 cụm, tương ứng với việc tóm tắt bài báo thành 5 câu ngắn gọ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 đã xác định tất cả các điểm dữ liệu, tiến hành tính toán lại vị trí của tâm cụm để đảm bảo rằng tâm của cụm được đặt chính xác ở giữa các điểm dữ liệu trong cụm.

Bước 4: Tiến hành lặp lại bước 2 và bước 3 cho đến khi vị trí của tâm cụm ổn định, nghĩa là tâm của tất cả các điểm dữ liệu không còn thay đổi.

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

LSA, hay Phân tích không gian tiềm ẩn, là một kỹ thuật phổ biến trong Xử lý Ngôn ngữ Tự nhiên (NLP) nhằm xác định các chủ đề trong văn bản thông qua phân tích toán học các thành phần của nó Kỹ thuật này thuộc loại học tập không giám sát và 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ẻ.

LSA (Latent Semantic Analysis) là một phương pháp phân tích văn bản, giúp tái tạo các từ có ý nghĩa trong văn bản thành nhiều phần khác nhau, mỗi phần thể hiện cách so sánh ý nghĩa của chúng Ví dụ, câu “Hôm nay tôi không khoẻ!” có thể diễn đạt bằng nhiều cách khác như “Hôm nay tôi cảm thấy mệt!” mà vẫn giữ nguyên ý nghĩa Thuật toán LSA phân chia từ vựng của văn bản thành một bảng, thể hiện các ý nghĩa tiềm ẩn của từ trong văn bản gốc.

1.5.2.2 Ý tưởng áp dụng thuật toán

LSA (Latent Semantic Analysis) là một thuật toán thuộc mô hình chủ đề, có chức năng phân loại các topic thông qua việc phân tích suy biến ma trận văn bản đầu vào (A) Thuật toán này xác định không gian tuyến tính con của A, giữ lại hầu hết các biến động của ma trận Bằng cách sử dụng kỹ thuật phân tích giá trị riêng (SVD - Singular Value Decomposition), LSA giảm kích thước ma trận thuật ngữ-tài liệu từ không gian N chiều xuống không gian K chiều, với K nhỏ hơn nhiều so với N, và không gian mới này được gọi là không gian khái niệm.

Giả sử ma trận A biểu diễn mối quan hệ giữa tài liệu và từ, với kích thước m x n Phép phân tích suy biến sẽ chuyển đổi ma trận A thành tích của ba ma trận: ma trận suy biến trái U, ma trận đường chéo S, và ma trận suy biến phải V, theo công thức đã định nghĩa.

Hình 3: Sơ đồ công thức LSA

Mỗi dòng của U sẽ biểu diễn phân phối của văn bản và mỗi dòng của V là phân phối của mỗi từ theo t topics ẩn.

- Các cột của U và V đại diện cho các topics.

Để xác định sự tương đồng giữa hai văn bản hoặc hai từ, chúng ta sẽ tính toán độ tương quan giữa các véc tơ dòng tương ứng trong ma trận U hoặc các véc tơ dòng tương ứng trong ma trận V.

Phép phân tích này giảm được khá nhiều chiều đối với trường hợp bộ văn bản lớn. Tuy nhiên nó vẫn tồn tại những nhược điểm đó là:

- Các tính toán hoàn toàn dựa trên phân tích ma trận.

- Các topic được xác định dựa trên các phép chiếu tuyến tính nên mối quan hệ giữa topic-document và topic-term là tuyến tính.

- Chi phí tính toán của mô hình rất tốn kém nếu kích thước dữ liệu lớn

TextRank là thuật toán được phát triển dựa trên PageRank, nhằm xếp hạng các trang web của Google Thuật toán này gán giá trị cho các thành phần trong một tập hợp văn bản liên kết, như trên World Wide Web, để đo lường tầm quan trọng tương đối của các liên kết TextRank có thể áp dụng cho bất kỳ tập hợp văn bản nào có trích dẫn và liên kết cụ thể Giá trị mà thuật toán này gán cho một thành phần E được gọi là PageRank của E, ký hiệu là PR(E).

Hình 4: Sơ đồ đánh giá giá trị của thuật toán PageRank

Giá trị PageRank được xây dựng dựa trên một thuật toán toán học liên quan đến webgraph, trong đó các trang web được xem như các đỉnh và các liên kết là các cạnh Trong quá trình tạo ra webgraph, các trang từ các cơ quan có thẩm quyền như cnn.com hay usa.gov được xem xét Giá trị xếp hạng này phản ánh tầm quan trọng của từng trang web cụ thể, với mỗi liên kết đến trang web được coi là một sự hỗ trợ, góp phần tăng cường giá trị PageRank.

Giá trị PageRank của một trang web được xác định dựa vào số lượng và chất lượng các liên kết đến trang đó Cụ thể, nếu một trang nhận được nhiều liên kết từ các trang có PageRank cao, thì giá trị PageRank của nó cũng sẽ tăng theo Nhiều bài viết đã được công bố dựa trên nghiên cứu ban đầu của Page và Brin về thuật toán này.

Hình 5: Quy trình xử lý của TextRank

Thuật toán TextRank được phát triển để xếp hạng các câu trong văn bản dựa trên mức độ tương tự giữa chúng Mỗi câu được coi là một đỉnh, và các cạnh nối thể hiện độ tương đồng giữa các câu Qua đó, thuật toán giúp xác định các đỉnh có thứ hạng cao nhất, tức là các câu quan trọng nhất trong văn bản.

THIẾT KẾ VÀ XÂY DỰNG HỆ THỐNG

Phân tích hệ thống

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

Biểu đồ phân rã chức năng cho thấy hệ thống được chia thành hai phân vùng chính: quản lý hệ thống và xử lý dữ liệu Trong phân vùng quản lý hệ thống, admin có quyền thay đổi, cập nhật, xoá nội dung bài viết và quản lý thành viên Các bài viết được xử lý tự động và lưu trữ trong database thông qua hệ thống xử lý dữ liệu Khi cần đính chính bài viết, admin sẽ cập nhật lại để đảm bảo tính chính xác Phân vùng xử lý dữ liệu thu thập bài viết từ nhiều nguồn khác nhau, sau đó phân tích và xử lý để tạo ra các bài viết tóm tắt bằng các thuật toán đã được đề xuất trong đồ án Quá trình này giúp giảm tải công việc cho người dùng và đảm bảo tính sẵn sàng của ứng dụng.

Hệ thống tổng hợp & tóm tắt thông tin

Hệ thống tổng hợp & tóm tắt thông tin

Quản lý hệ thống Quản lý hệ thống

Thay đổi thông tin Cập nhật thông tin

Cập nhật thông tin Xoá & Sửa nội dung bài viết

Xoá & Sửa nội dung bài viết Cập nhật thành viên

Thu thập dữ liệu Xử lý dữ liệu Xử lý dữ liệu Tạo nội dung bài viếtTạo nội dung bài viết

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

Hình 7: Biểu đồ Use Case tổng quát

Hệ thống website được phân chia thành ba loại người dùng: Quản trị viên, Người dùng và Khách Quản trị viên có quyền truy cập đầy đủ vào tất cả các tính năng trong hệ thống Trong khi đó, Người dùng và Khách có Use Case cơ bản giống nhau, nhưng khi Người dùng đăng ký tài khoản, họ sẽ chuyển từ trạng thái Khách sang Người dùng, từ đó có thể truy cập vào các tính năng nâng cao hơn so với những tính năng cơ bản dành cho Khách.

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

1) Xác định Actor và chức năng

STT Tác nhân Mô tả tác nhân

1 Guest Là đối tượng chưa có tài khoản trong hệ thống. Đăng kí, tìm kiếm bài viết, xem thông tin trang web.

Amin là người hỗ trợ quản lý, giúp nắm bắt các nghiệp vụ của website, bao gồm đăng nhập, tìm kiếm, quản lý người dùng, quản lý bình luận và đánh giá, cũng như quản lý bài viết Ngoài ra, Amin còn có khả năng thêm, xóa và sửa tài khoản trong hệ thống.

3 User Là đối tượng đã có tài khoản trong hệ thống Đăng nhập, tìm kiếm bài viết, xem thông tin trên website, bình luận về bài viết.

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

Hình 8: Biểu đồ UC User

Với mỗi Người dùng (User), thì đều có thể sử dụng các Use Case như đăng nhập, đăng xuất, quản lý thông tin cá nhân, và xem tin tức.

Hình 9: Biểu đồ UC Guest

Với người dùng là Khách (Guest), họ chỉ có thể sử dụng tính năng cơ bản là xem tin và đăng ký tài khoản trên website.

2.1.4.3 Biểu đồ UC quản lý tin tức

Hình 10: Biểu đồ UC quản lý tin tức

Chỉ có người dùng là Quản trị viên (Admin) mới có quyền quản lý bài viết nhằm việc thêm, sửa, xoá các bài viết đó, tuỳ theo trường hợp.

2.1.4.4 Biểu đồ UC quản lý User

Chỉ có Quản trị viên (Admin) mới có quyền thay đổi thông tin người dùng trong cơ sở dữ liệu, điều này nhằm ngăn chặn lạm dụng quyền hạn và bảo vệ tính toàn vẹn, sự sẵn sàng cũng như bảo mật của hệ thống.

Hình 11: Biểu đồ UC quản lý User

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

2) Use Case đăng ký của Guest

Brief Description Người dùng chưa có tài khoản muốn đăng ký

Pre-conditions Chưa có tài khoản

Basic Flows 1 Người dùng chọn đăng ký tài khoản

2 Hê ̣ thống hiển thị from đăng kí

3 Điền đầy đủ thông tin vào form Alternative Flows Nếu người dùng điền sai, thiếu thông tin hê ̣ thống sẽ báo lỗi và gửi lại form đăng ký

Post-conditions Nếu thực hiê ̣n đăng ký thành công người dùng có tài khoản trong hê ̣ thống website Special Requiements Chưa tồn tại username trên hệ thống

Brief Description Người dùng có tài khoản muốn đăng nhập

Basic Flows 1 Người dùng chọn đăng nhập tài khoản

2 Hê ̣ thống hiển thị from đăng nhập

3 Điền đầy đủ thông tin vào form Alternative Flows Nếu người dùng điền sai, thiếu thông tin hê ̣ thống sẽ báo lỗi và gửi lại form đăng nhập

Post-conditions Nếu thực hiê ̣n đăng nhập thành công người dùng có thể đăng nhâ ̣p vào hê ̣ thống website

Special Requiements Tồn tại người dùng a) Use Case quên mâ ̣t khẩu

Use Case Quên mâ ̣t khẩu

Brief Desecription Khi người dùng quên mâ ̣t khẩu và muốn reset lại mâ ̣t khẩu

Basic Flows Người dùng đã nhâ ̣p lại mâ ̣t khẩu nhiều lần không chính xác

1 Chọn mục “quên mâ ̣t khẩu”

2 Hê ̣ thống sẽ hiển thị 1 form như sau + Tài khoản

3 Người dùng nhâ ̣p đúng thông tin thì hê ̣ thống sẽ gửi lại mâ ̣t khẩu mới qua số điê ̣n thoại.

Alternative Flows Nếu nhâ ̣p sai thông tin hê ̣ thống sẽ không thể gửi lại mâ ̣t khẩu cho khách hàng

Post-conditions Khách hàng sử dụng mâ ̣t khẩu mới

Brief Description Người sử dụng muốn thoát khỏi phiên làm việc

Basic Flows 1 Người dùng chọn Đăng xuất

2 Hê ̣ thống hiển thị yêu cầu đăng xuất

3 Người dùng đồng ý đăng xuất

Alternative Flows Nếu người dùng không đồng ý, hê ̣ thống sẽ tiếp tục phiên làm việc.

Post-conditions Nếu thực hiê ̣n đăng xuất thành công người dùng kết thúc phiên làm việc của mình.

5) Use Case quản lý thông tin

Use Case Quản lý thông tin

Brief Description Người dùng đã có tài khoản và muốn thay đổi thông tin.

Basic Flows 1 Người dùng chọn Quản lý thông tin

2 Hê ̣ thống hiển thị Menu Alternative Flows

Post-conditions Nếu thực hiê ̣n thay đổi thành công người dùng có thể cập nhật thông tin mới vào hê ̣ thống.

Special Requiements Tồn tại thông tin trên hệ thống a) Use Case thay đổi mật khẩu

Use Case Thay đổi mật khẩu

Brief Description Người dùng muốn thay đổi mật khẩu

Basic Flows 1 Người dùng chọn thay đổi mật khẩu

2 Hê ̣ thống hiển thị from thay đổi

3 Điền đầy đủ thông tin vào form Alternative Flows Nếu người dùng điền sai, thiếu thông tin hê ̣ thống sẽ báo lỗi và gửi lại form thay đổi

Sau khi thực hiện thay đổi thành công, người dùng sẽ có khả năng đăng nhập vào hệ thống bằng mật khẩu mới Hệ thống sẽ tự động cập nhật mật khẩu mới cho người dùng.

Special Requiements Tồn tại thông tin trên hệ thống b) Use Case thay đổi thông tin cá nhân

Use Case Thay đổi thông tin cá nhân

Brief Description Người dùng có thông tin cá nhân cần thay đổi

Basic Flows 1 Người dùng chọn thay đổi thông tin

2 Hê ̣ thống hiển thị from thay đổi

3 Điền đầy đủ thông tin vào form Alternative Flows Nếu người dùng điền sai, thiếu thông tin hê ̣ thống sẽ báo lỗi và gửi lại form thay đổi

Post-conditions Nếu thực hiê ̣n thành công, hệ thống sẽ cập nhật thông tin mới của người dùng Special Requiements Tồn tại thông tin trên hệ thống

6) Use Case xem tin tức

Use Case Xem tin tức

Brief Description Người dùng xem tin trên trang web

Basic Flows 1 Người dùng chọn vào các mục bài viết

2 Hê ̣ thống hiển thị bài viết

Post-conditions Người dùng sẽ xem được các bài viết

Special Requiements a) Use Case tìm kiếm

Brief Description Người dùng tìm kiếm thông tin bài viết theo tiêu đề và các nhãn bài viết Pre-conditions

Người dùng nhập thông tin vào ô tìm kiếm và nhấn nút tìm kiếm, hệ thống sẽ truy vấn cơ sở dữ liệu để hiển thị kết quả Ngoài ra, hệ thống cũng cho phép người dùng thực hiện tìm kiếm lại hoặc hủy thao tác tìm kiếm.

Post-conditions Nếu tìm kiếm thành công thì bài viết sẽ được hiển thị

Special Requiements Không có b) Use Case bình luận

Brief Description Người dùng bình luận vào bài viết.

Basic Flows 1 Hê ̣ thống sẽ hiển thị 1 form để nhập nội dung bình luận

2 Người dùng nhâ ̣p thông tin trên form và bấm nút submit, hê ̣ thống sẽ lưu vào database các bình luận

Post-conditions Mỗi khi truy cập bài viết có bình luận, thì các bình luận sẽ được hiện thị Special Requiements

7) Use Case quản lý User

Use Case Quản lý User

Brief Description Admin quản lý các thông tin

Basic Flows 1 Admin chọn phần quản lý User

2 Hệ thống hiện thị menu Alternative Flows

Post-conditions Menu quản lý được hiển thị

Special Requiements Là tài khoản Admin a) Use Case reset mật khẩu

Use Case Reset mật khẩu

Brief Description Admin reset mật khẩu cho User bị quên

Basic Flows 1 Admin chọn reset

Special Requiements Là tài khoản Admin

8) Use Case quản lý tài khoản

Use Case Quản lý tài khoản

Brief Description Admin quản lý các tài khoản trong cơ sở dữ liệu

Basic Flows 1 Admin chọn quản lý tài khoản

2 Admin chọn xoá tài khoản Alternative Flows

Post-conditions Khi tài khoản bị xoá, người dùng đó không thể đăng nhập được vào hệ thống

Special Requiements Là tài khoản Admin

9) Use Case quản lý bài viết

Use Case Quản lý bài viết

Brief Description Admin quản lý các bài viết trong cơ sở dữ liệu

Basic Flows 1 Admin chọn quản lý bài viết

2 Admin chọn bài viết cần thay đổi Alternative Flows

Post-conditions Các thông tin của bài viết và các hành động đối với bài viết được hiện thị

Special Requiements Là tài khoản Admin a) Use Case sửa thông tin bài viết

Use Case Sửa thông tin bài viết

Pre-conditions Admin có thể sửa thông tin bài viết

Basic Flows 1 Sau khi chọn mục “Thông tin bài viết” trong phần “Quản lý bài viết”

2 Chọn biểu tượng hình “bút chì” để sửa thông tin bài viết, hê ̣ thống sẽ hiển thị form:

+ Tiều đề + Tag + Date + Mô tả + Nội dung

3 Khi Admin chọn nút xác nhâ ̣n, hê ̣ thống sẽ câ ̣p nhâ ̣t thông tin vào database Alternative Flows Nếu người dùng nhâ ̣p thiếu thông tin, hê ̣ thống sẽ báo lỗi và gửi lại form Người dùng có thể không nhâ ̣p thông tin và chọn hủy

Post-conditions Câ ̣p nhâ ̣t thông tin bài viết

Special requiements Không có b) Use Case xóa bài viết

Use Case Xóa bài viết

Brief Desecription Admin có thể xóa những bài viết

Basic Flows 1 Sau khi chọn mục “Thông tin bài viết” trong phần “Quản lý bài viết”

2 Hê ̣ thống sẽ hiê ̣n biểu tượng “thùng rác”

3 Sau khi chọn biểu tượng đó, dữ liê ̣u của bài viết sẽ bị xóa khỏi database

Post-conditions Bài viết sẽ không còn hiển thị trên hê ̣ thống

10) Use Case quản lý bình luận

Use Case Xóa bình luận

Brief Desecription Admin có thể xóa những bình luận

Basic Flows 4 Sau khi đăng nhập vào trang quản trị, hệ thống sẽ hiện ra danh sách bình luận của người dùng trên trang chủ admin

5 Hê ̣ thống sẽ hiê ̣n biểu tượng “thùng rác”Sau khi chọn biểu tượng đó, bình luận bài

Thiết kế giao diện người dùng

Post-conditions Bình luận sẽ không còn hiển thị trên hê ̣ thống

Special requiements Là tài khoản Admin

2.2 Thiết kế giao diện người dùng

Giao diện người dùng đóng vai trò quan trọng trong việc giúp người dùng tiếp cận và sử dụng kết quả từ mô hình Chúng tôi đã phát triển một môi trường web dựa trên PHP và Framework Laravel, tối ưu hóa giao diện người dùng để cải thiện sự tương tác giữa Front-end và Back-end Điều này cũng giúp đội ngũ quản trị dễ dàng hơn trong việc quản lý và kiểm duyệt nội dung.

Xây dựng Use Case tổng quát và chi tiết cho từng đối tượng người dùng là rất quan trọng, nhằm đảm bảo các chức năng cơ bản và cho phép người dùng thực hiện các thao tác một cách dễ dàng.

- Chức năng cơ bản cho người dùng: Xem và tìm kiếm các bài báo.

- Chức năng cơ bản cho người quản trị: Xem, sửa và xoá các bài báo.

Với mô hình Client – Server và theo thiết kế hệ thống như trên, website có 3 loại User:

− Khách đã đăng ký tài khoản: Người dùng (User)

− Khách chưa đăng ký tài khoản: Khách (Guest)

− Người quản trị cấp cao nhất: Quản trị viên (Amin)

Sau khi được xử lý, các nội dung sẽ được phân loại và trình bày trên trang web dựa theo các thẻ đã được gán Các bài báo sẽ được sắp xếp vào những chỉ mục đã xác định trước đó.

Các bài viết sẽ được trình bày ngắn gọn có cấu trúc gồm:

− Tiêu đề (đính kèm là link bài gốc)

− Ảnh đại diện cho bài viết

− Nội dung bài viết (5 câu từ bài viết gốc)

− Thanh chức năng text to speech

2.2.4 Cấu trúc website thử nghiệm

2.2.4.2 Trang tin tức theo nhãn

2.2.4.3 Trang thông tin chi tiết từ bài

Hình 13: Trang hiển thị thông tin theo nhãn

Thiết kế hệ thống thu thập tin tức

Hình 15: Mô hình hệ thống thu thập thông tin

Hệ thống này đóng vai trò quan trọng trong việc đảm bảo hoạt động tự động và mượt mà của hệ thống chính Để đáp ứng yêu cầu của một trang báo hoặc thông tin trực tuyến, thông tin đầu vào cần phải có độ chính xác, chất lượng và độ tin cậy cao Khi thông tin được thu thập và đạt tiêu chuẩn chất lượng, hệ thống tóm tắt có thể sử dụng hiệu quả.

Các nội dung được lấy từ các nguồn chính thống như: tuoitre.vn; VnExpress.vn; Vietnamnet.vn; laodong.vn; dantri.com.vn

2.3.1.1 Phân tích dữ liệu từ website:

Các nội dung của báo điện tử thường sẽ có cấu trúc như sau:

Cấu trúc tương đồng của các báo giúp việc thu thập thông tin trở nên dễ dàng và nhanh chóng, dẫn đến lượng thông tin lớn Do đó, cần đảm bảo nội dung không bị trùng lặp để giữ tính độc đáo và chất lượng.

Mô tả bài báo Ảnh đại diện của bài báo

Hình 16: Hình ảnh từ báo Tuổi trẻ

2.3.1.2 Bóc tách dữ liệu từ mã nguồn của web: a) Xác định thành phần cần thu thập

- Ảnh đại diện của bài viết

- Nội dung bài viết b) Phân tích và bóc tách dữ liệu từ mã nguồn

Mỗi trang web có cấu trúc mã nguồn riêng biệt, do đó, tài liệu này sẽ tập trung vào việc phân tích và bóc tách dữ liệu từ mã nguồn của trang tuoitre.vn, đặc biệt là liên kết bài viết.

Các bài viết sẽ được hiển thị trên trang chủ cùng các trang con dưới dạng tiêu đề kèm theo liên kết bài viết sử dụng thẻ với thuộc tính href chứa đường dẫn đến bài viết Để thực hiện điều này, bạn cần sử dụng thư viện bs4 và requests của Python để xử lý các bước cần thiết.

- Bước 1: Gửi một request với tham số là link trang chủ

- Bước 2: Lấy nội dung mã nguồn của request bằng phương thức content của thư viện request.

- Bước 3: Sử dụng thư viện bs4 để định dạng lại cho nội dung mã nguồn lấy được từ request.

- Bước 4: Sử dụng phương thức findAll() của thư viện bs4 để có thể tìm kiếm được tất cả các thẻ

chứa link trỏ đến bài viết.

- Bước 5: Sử dụng phương thức find() của thư viện bs4 để tìm tất các link trỏ đến bài viết nằm trong thẻ .

Mã nguồn: d) Đối với các thành phần khác

Các bài viết thường tuân theo một mẫu cố định, giúp xác định rõ ràng các thẻ chứa tiêu đề, thời gian đăng, mô tả, ảnh đại diện và nội dung Sử dụng thư viện bs4, chúng ta có thể tách các thành phần này khỏi mã nguồn và chuyển đổi chúng thành văn bản thuần để xử lý.

2.3.2 Bóc tách & Lọc dữ liệu về dạng chuẩn

Văn bản đầu vào thường chứa ký tự, dấu câu và khoảng trắng thừa, cũng như các từ viết tắt và chữ hoa, điều này có thể ảnh hưởng đến các bước xử lý sau Do đó, cần thiết phải chuẩn hóa văn bản bằng cách chuyển đổi tất cả chữ cái thành chữ thường và loại bỏ khoảng trắng thừa.

# Nạp thư viện from bs4 import BeautifulSoup import requests

# Gửi request cho trang https://tuoitre.vn news = requests.get(‘https://tuoitre.vn’)

# Định dạng lại mã nguồn lấy được từ request soup = BeautifulSoup(news.content, "html.parser")

# Tìm tất cả các thẻ chứa tiêu đề titles = soup.findAll('h2', class_='title-name')

# Tìm tất cả các thẻ và lấy thuộc tính href chứa link trỏ đến bài viết links = [link.find('a').attrs["href"] for link in titles]

# Lấy tiêu đề bài viết title = soup.find("h1", class_="article-title").text

# Lấy ngày đăng bài viết date = soup.find("div", class_="date-time").text

# Lấy mô tả bài viết abstract = soup.find("h2", class_="sapo").text

# Lấy nội dung bài viết body = soup.find("div", id="main-detail-body").text

# Lấy ảnh đại diện bài viết image = body.img['src']

Văn bản sẽ được tách ra từ các thẻ HTML bằng thư viện bs4, giúp loại bỏ các thành phần thừa như tên thẻ và các yếu tố khác trong file HTML Nhờ đó, chúng ta có được một nội dung bài báo hoàn chỉnh và chất lượng.

2.2.1.2 Lọc dữ liệu về dạng chuẩn

Văn bản sẽ được làm sạch bằng cách loại bỏ các ký tự đặc biệt, ký tự xuống dòng và những ký tự không có ý nghĩa Sau khi thực hiện quá trình này, nội dung cơ bản của văn bản vẫn được giữ nguyên Tiếp theo, chúng ta sẽ tiến hành xử lý các ký tự không có giá trị ngữ nghĩa.

Thiết kế hệ thống xử lý và tóm tắt tin tức

Hình 18: Hệ thống xử lý và tóm tắt tin tức

Hệ thống sẽ sử dụng dữ liệu thu thập từ hệ thống thông tin để làm nguồn đầu vào cho quá trình xử lý Quy trình xử lý sẽ được thực hiện theo các bước đã được xác định.

2.4.1 Tách câu trong văn bản Ở giai đoạn này, sử dụng thư viện NLTK đã giới thiệu ở trên để tách các câu trong văn bản ra với độ chính xác cao Hiện tại, nhóm đã sử dụng thêm thư viện Underthesea của tác giả việc cho việc tách câu, nhưng chưa đem lại hiệu quả cao trong vấn đề tách chiết câu dẫn đến kết quả thu được có thể sẽ có sai khác và nhiều rủi ro cho văn bản ở bước rút gọn Với mỗi câu tách được từ văn bản, nó sẽ được lưu lại trong một mảng và chờ được xử lý ở phần sau.

Mỗi câu được cấu thành từ các từ, và ý nghĩa của các từ này phụ thuộc vào ngữ cảnh Trong mô hình đồ án này, sản phẩm thừa liệu đã được huấn luyện từ nội dung các bài báo, cho phép nhận diện ngữ nghĩa và đánh giá chính xác giá trị của các từ trong câu một cách khách quan.

2.4.3 Sử dụng kỹ thuật chuyển từ thành 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

Sự khác biệt về ý nghĩa giữa hai câu tương tự như độ sai khác giữa hai vector Mỗi đoạn văn có ngữ cảnh riêng, phụ thuộc vào đối tượng được nhắc đến Bằng cách chuyển đổi từ thành vector, và tính tổng các vector này, máy có thể hiểu tổng quan nội dung bài viết từ trừu tượng thành số học Điều này cũng hỗ trợ các thuật toán tóm tắt văn bản trong đồ án này hoạt động hiệu quả.

2.4.4 Xây dựng đoạn văn bản tóm tắt

Bằng cách áp dụng ba thuật toán để xử lý văn bản, chúng ta có thể thu được các đoạn văn có nội dung tương đồng Tuy nhiên, cần xác định mức độ tương đồng với văn bản gốc để quyết định nội dung nào được sử dụng từ thuật toán nào.

Việc này giúp lọc và loại bỏ các bài viết trùng lặp trên các trang khác nhau, từ đó tiết kiệm tài nguyên cho hệ thống.

Trong đồ án này, chúng tôi sử dụng thuật toán so sánh độ tương đồng Cosine để phân tích các bài báo nhỏ với lượng thông tin hạn chế Thuật toán này đo lường bằng cosine của góc giữa hai vector, giúp xác định mức độ tương đồng giữa chúng Chỉ số này cho phép đánh giá sự khác biệt giữa văn bản gốc và văn bản tóm tắt; văn bản tóm tắt nào có chỉ số cao hơn sẽ được chọn để cung cấp cho người dùng Đồng thời, các nguồn báo có nội dung tương tự sẽ bị loại bỏ, nhằm đảm bảo tính độc đáo cho thông tin Trong thực tế, nhiều bài báo có nội dung trùng lặp hoặc tương đồng cao tồn tại, vì vậy việc áp dụng phương pháp này là cần thiết.

Trong quá trình hoạt động, đã phát hiện ra nhiều bài báo có nội dung tương tự từ các nguồn khác nhau Những bài báo này sẽ được phân tích và cung cấp số liệu nhằm kiểm tra độ chính xác của việc so sánh.

Hình 20: Các bài báo có nội dung giống nhau từ nhiều nguồn khác nhau

Sau khi loại bỏ thông tin trùng lặp, hệ thống sẽ tiến hành xử lý các dữ liệu còn lại Dưới đây là một số ví dụ về bài báo được tổng hợp từ nhiều nguồn và được tóm tắt bởi hệ thống.

Hình 21: Bài báo trước khi xử lý

Hình 22: Bài báo được thu thập thông tin

Mỗi văn bản đầu vào có số lượng câu được giữ lại cố định là 5 câu Qua việc rút gọn văn bản bằng ba thuật toán K-mean clustering, LSA và TextRank, ta nhận thấy rằng chỉ số của văn bản rút gọn sẽ khác nhau tùy thuộc vào từng thuật toán và văn bản cụ thể Cuối cùng, văn bản được chọn sẽ là văn bản có chỉ số cao nhất trong số các kết quả.

Cuối cùng, sau khi hoàn tất quá trình xử lý văn bản, tất cả thông tin liên quan sẽ được lưu trữ trong cơ sở dữ liệu, từ đó cung cấp dữ liệu cần thiết cho hoạt động của website.

Xây dựng hệ thống

Sau khi hoàn thiện thiết kế dựa trên các phân tích và lý thuyết, các hệ thống nhỏ được phát triển theo mô hình modul Phương pháp này giúp việc nâng cấp, bảo trì và sửa chữa trở nên dễ dàng hơn, vì các modul có thể hoạt động và triển khai độc lập với nhau.

2.5.1 Hệ thống giao diện sử dụng cho người dùng

Các thành phần cơ bản của website đã được phát triển hoàn thiện theo các Use Case trong phân tích và thiết kế hệ thống Hệ thống được xây dựng trên nền tảng Framework Laravel, với nhiều tính năng đã được hoàn thiện và sẵn sàng hoạt động.

Các bài viết trên trang sẽ được sắp xếp theo thời gian đăng, với những bài mới nhất được hiển thị ở vị trí ưu tiên trên trang chủ Ngoài ra, các bài viết cũng được phân loại theo các chủ đề, giúp người dùng dễ dàng tìm kiếm và lựa chọn nội dung phù hợp với sở thích của mình.

Hình 24: Trang hiển thị thông tin theo nhãn

Mỗi bài báo được gán nhãn phù hợp, giúp người dùng dễ dàng lựa chọn và tìm kiếm các bài viết liên quan đến sở thích của họ.

Hình 25: Trang bài viết website

Khi người dùng nhấp vào một liên kết bài báo, nội dung bài viết sẽ được hiển thị cùng với phiên bản báo nói của bài báo gốc Website cung cấp các tùy chọn cho phép người dùng điều chỉnh tốc độ đọc theo ý muốn.

Hình 26: Bình luận của người dùng

Người dùng có quyền đăng tải bình luận và đánh giá dưới mỗi bài viết, giúp website thu thập ý kiến đóng góp để phát triển và cải thiện trong tương lai.

Người dùng có thể đăng ký tài khoản trên website để truy cập dịch vụ xem và tìm kiếm tin tức, cũng như bình luận và nhận xét thông tin Đối với người dùng là User hoặc Admin, hệ thống cung cấp chức năng đăng nhập phù hợp Đặc biệt, chỉ các Admin mới được phép đăng nhập từ máy localhost nhằm đảm bảo an toàn và tránh rủi ro bị tấn công.

Hình 29: Trang chủ cho Admin

Hình 30: Trang quản lý của Admin

Hình 31: Trang quản lý người dùng của Admin

Trang quản trị cung cấp các chức năng để chỉnh sửa và xóa thông tin trong hệ thống, bao gồm cả bài viết và thông tin người dùng.

Hình 32: Tính năng tìm kiếm bài viết

Tính năng tìm kiếm bài viết giúp người dùng dễ dàng lọc và tìm kiếm thông tin trong tiêu đề và nội dung bài viết, từ đó nhanh chóng tiếp cận những nội dung mà họ quan tâm.

Hình 33: Trang quản lý thông tin của người dùng

Trang quản lý thông tin người dùng cho phép người dùng thay đổi các trường thông tin trong hồ sơ cá nhân của bản thân.

2.5.2 Hệ thống thu thập thông tin

Hệ thống thu thập thông tin hoạt động dựa trên việc cào dữ liệu Sau khi được xây dựng, hệ thống sẽ thu thập thông tin mỗi 10 phút để đảm bảo tính kịp thời của nguồn tin.

Dưới đây là một số hình ảnh về hệ thống:

Hình 34: Hệ thống được khởi chạy

Hệ thống hiện tại chưa có giao diện người dùng (UI) và yêu cầu người dùng sử dụng dòng lệnh để khởi chạy Nó sẽ ghi lại nhật ký (log) của các phiên làm việc, bao gồm thời gian khởi động và kết thúc tiến trình, cùng với các ngoại lệ đã được loại bỏ Điều này giúp theo dõi các lỗi có thể xảy ra, tạo điều kiện thuận lợi cho người giám sát trong việc sửa chữa và theo dõi hệ thống.

Hình 35: File log trong quá trình hoạt động 1

Hình 36: File log trong quá trình hoạt động 2

Sau khi xảy ra các lỗi trong tiến trình, hệ thống sẽ tự động thu thập và ghi lại thông tin vào file log Điều này giúp người vận hành dễ dàng theo dõi và quản lý các ngoại lệ xảy ra trong quá trình hoạt động của hệ thống.

Hình 37: File dữ liệu sau khi xử lý xong

2.5.3 Hệ thống tóm tắt văn bản

Hệ thống thu thập thông tin sẽ trả về dữ liệu bài báo dưới dạng tệp tin CSV, trong khi hệ thống tóm tắt văn bản cần đọc và chiết xuất nội dung từ bài báo.

Các thông tin sẽ được chia nhỏ thành các modul nhỏ hơn để tóm tắt văn bản Sau đó, các đoạn văn tóm tắt này sẽ được đưa vào các trường đã được tạo sẵn trong tệp tin CSV.

Hình ảnh hoạt động của hệ thống:

Hình 38: Log được ghi lại trên console

Các log này đóng vai trò quan trọng trong việc theo dõi và kiểm soát quá trình hoạt động của hệ thống, giúp đảm bảo rằng khi xảy ra lỗi, sự cố có thể được phát hiện và khắc phục ngay lập tức.

Một số hình ảnh thực tế các bài báo sau khi xử lý

Sau một thời gian hoạt động, hệ thống đã được khống chế và sửa chữa các lỗi cơ bản Hệ thống cũng đã được thử nghiệm cho các thành viên trong nhóm để đánh giá kết quả thực nghiệm, từ đó rút ra được một số kết luận quan trọng.

3.1 Kết quả chạy hệ thống giao diện người dùng

Hệ thống có thể chạy 24/7 với các thông tin được cập nhật kịp thời, các trường hợp ngoại lệ sau khi đọc log đã được chỉnh sửa

Giao diện người dùng cơ bản được thiết kế để đạt được các mục tiêu đề ra, cho phép người dùng dễ dàng sử dụng hệ thống Các thao tác đơn giản giúp người dùng nhanh chóng làm quen và thao tác hiệu quả.

3.1.2 Hệ thống Thu thập thông tin

Hệ thống có khả năng thu thập thông tin phong phú hơn trong tương lai, với khả năng lọc và tóm tắt văn bản một cách hiệu quả Việc lọc trùng thông tin từ các nguồn báo khác nhau giúp người dùng tiết kiệm thời gian, tránh phải đọc lại những nội dung lặp lại không cần thiết.

3.1.3 Hệ thống Tóm tắt văn bản

Hệ thống cung cấp các bản tóm tắt chính xác từ 70% đến 90% nội dung văn bản gốc, tùy thuộc vào độ dài của văn bản Nội dung tóm tắt vẫn giữ nguyên ý chính, phù hợp với mô hình đồ án Ngoài ra, hệ thống sử dụng API của Zalo để chuyển đổi văn bản thành giọng nói, mang lại kết quả ổn định, ít lỗi và dễ nghe, giúp người dùng tiết kiệm thời gian đọc.

KẾT QUẢ THỰC NGHIỆM

Kết quả chạy hệ thống giao diện người dùng

Hệ thống có thể chạy 24/7 với các thông tin được cập nhật kịp thời, các trường hợp ngoại lệ sau khi đọc log đã được chỉnh sửa

Xử lý trên giao diện người dùng cơ bản đáp ứng tốt các mục tiêu đề ra, cho phép các dạng người dùng được xác định trong khâu thiết kế sử dụng hệ thống một cách dễ dàng Các thao tác đơn giản giúp người sử dụng nhanh chóng làm quen và sử dụng hiệu quả.

3.1.2 Hệ thống Thu thập thông tin

Hệ thống sẽ thu thập nhiều thông tin hơn trong tương lai gần, với khả năng lọc thông tin hiệu quả để cung cấp dữ liệu phù hợp Tính năng tóm tắt văn bản đảm bảo rằng người dùng không phải lo lắng về nội dung trùng lặp từ các nguồn báo khác nhau, giúp tiết kiệm thời gian đọc.

3.1.3 Hệ thống Tóm tắt văn bản

Hệ thống cung cấp các vắn bản tóm tắt chính xác từ 70% đến 90% tùy thuộc vào độ dài văn bản gốc, giữ nguyên nội dung phù hợp với mô hình đồ án Ngoài ra, việc chuyển đổi văn bản thành giọng nói thông qua API của Zalo mang lại kết quả ổn định, ít lỗi và giọng nói dễ nghe, giúp người dùng tiết kiệm thời gian đọc.

Ngày đăng: 05/01/2022, 01:06

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Josef Steinberger, Karel Jeˇzek, “Evaluation Measures For Text Summarization” in Computing and Informatics, Vol. 28, 2009, 1001–1026, V 2009-Mar-2 Sách, tạp chí
Tiêu đề: Evaluation Measures For Text Summarization
[2] Makbule Gulcin Ozsoy, Ilyas Cicekli, and Ferda Nur Alpaslan, “Text Summarization of Turkish Texts using Latent Semantic Analysis” Sách, tạp chí
Tiêu đề: Text Summarization ofTurkish Texts using Latent Semantic Analysis
[3] Josef Steinberger, Karel Ježek, “Using Latent Semantic Analysis in Text Summarization and Summary Evaluation” Comptuer Graphics, Vol. 24, No. 2, pp. 41-50, 1990 Sách, tạp chí
Tiêu đề: Using Latent Semantic Analysis in Text Summarizationand Summary Evaluation” "Comptuer Graphics
[4] Rada Mihalcea and Paul Tarau, “TextRank: Bringing Order into Texts” Sách, tạp chí
Tiêu đề: TextRank: Bringing Order into Texts
[5] Van-Hau Nguyen, Minh-Tien Nguyen, Xuan-Hoai Nguyen “VNDS: A Vietnamese Dataset for Summarization” Sách, tạp chí
Tiêu đề: VNDS: A VietnameseDataset for Summarization
[6] Sukriti Verma and Vagisha Nidhi, “Extractive Summarization using Deep Learning” Sách, tạp chí
Tiêu đề: Extractive Summarization using Deep Learning
[7] Sadaoki Furui, “Recent Advances in Automatic Speech Summarization” Sách, tạp chí
Tiêu đề: Recent Advances in Automatic Speech Summarization

HÌNH ẢNH LIÊN QUAN

Hình 1: Sơ đồ học máy - XÂY DỰNG ỨNG DỤNG WEBSITE TỔNG HỢP VÀ TÓM TẮT TIN TỨC
Hình 1 Sơ đồ học máy (Trang 13)
Hình 3: Sơ đồ công thức LSA - XÂY DỰNG ỨNG DỤNG WEBSITE TỔNG HỢP VÀ TÓM TẮT TIN TỨC
Hình 3 Sơ đồ công thức LSA (Trang 17)
Hình 4: Sơ đồ đánh giá giá trị của thuật toán PageRank - XÂY DỰNG ỨNG DỤNG WEBSITE TỔNG HỢP VÀ TÓM TẮT TIN TỨC
Hình 4 Sơ đồ đánh giá giá trị của thuật toán PageRank (Trang 18)
Hình 5: Quy trình xử lý của TextRank - XÂY DỰNG ỨNG DỤNG WEBSITE TỔNG HỢP VÀ TÓM TẮT TIN TỨC
Hình 5 Quy trình xử lý của TextRank (Trang 18)
Hình 6: Biểu đồ phân rã chức năng - XÂY DỰNG ỨNG DỤNG WEBSITE TỔNG HỢP VÀ TÓM TẮT TIN TỨC
Hình 6 Biểu đồ phân rã chức năng (Trang 20)
Hình 7: Biểu đồ Use Case tổng quát - XÂY DỰNG ỨNG DỤNG WEBSITE TỔNG HỢP VÀ TÓM TẮT TIN TỨC
Hình 7 Biểu đồ Use Case tổng quát (Trang 21)
Hình 8: Biểu đồ UC User - XÂY DỰNG ỨNG DỤNG WEBSITE TỔNG HỢP VÀ TÓM TẮT TIN TỨC
Hình 8 Biểu đồ UC User (Trang 23)
Hình 9: Biểu đồ UC Guest - XÂY DỰNG ỨNG DỤNG WEBSITE TỔNG HỢP VÀ TÓM TẮT TIN TỨC
Hình 9 Biểu đồ UC Guest (Trang 23)
Hình 10: Biểu đồ UC quản lý tin tức - XÂY DỰNG ỨNG DỤNG WEBSITE TỔNG HỢP VÀ TÓM TẮT TIN TỨC
Hình 10 Biểu đồ UC quản lý tin tức (Trang 24)
Hình 11: Biểu đồ UC quản lý User - XÂY DỰNG ỨNG DỤNG WEBSITE TỔNG HỢP VÀ TÓM TẮT TIN TỨC
Hình 11 Biểu đồ UC quản lý User (Trang 24)
Hình 13: Trang hiển thị thông tin theo nhãn - XÂY DỰNG ỨNG DỤNG WEBSITE TỔNG HỢP VÀ TÓM TẮT TIN TỨC
Hình 13 Trang hiển thị thông tin theo nhãn (Trang 33)
Hình 15: Mô hình hệ thống thu thập thông tin - XÂY DỰNG ỨNG DỤNG WEBSITE TỔNG HỢP VÀ TÓM TẮT TIN TỨC
Hình 15 Mô hình hệ thống thu thập thông tin (Trang 35)
Hình 18: Hệ thống xử lý và tóm tắt tin tức - XÂY DỰNG ỨNG DỤNG WEBSITE TỔNG HỢP VÀ TÓM TẮT TIN TỨC
Hình 18 Hệ thống xử lý và tóm tắt tin tức (Trang 39)
Hình 21: Bài báo trước khi xử lý - XÂY DỰNG ỨNG DỤNG WEBSITE TỔNG HỢP VÀ TÓM TẮT TIN TỨC
Hình 21 Bài báo trước khi xử lý (Trang 44)
Hình 22: Bài báo được thu thập thông tin - XÂY DỰNG ỨNG DỤNG WEBSITE TỔNG HỢP VÀ TÓM TẮT TIN TỨC
Hình 22 Bài báo được thu thập thông tin (Trang 45)

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

TÀI LIỆU LIÊN QUAN

w