Mục tiêu bài toán - Nghiên cứu và ứng dụng các thuật toán hiện đại: Tìm hiểu và áp dụng các thuậttoán tiên tiến trong lĩnh vực máy học và xử lý ngôn ngữ tự nhiên NLP - Phát triển hệ thốn
QUAN VỀ ĐỀ TÀI
Đặt vấn đề
CHƯƠNG I TỔNG QUAN VỀ ĐỀ TÀI
Trong kỷ nguyên thông tin hiện nay, lượng dữ liệu văn bản số hoá đang tăng nhanh chóng, với nhiều tài liệu từ báo chí, nghiên cứu khoa học, blog và mạng xã hội Việc xử lý và khai thác thông tin từ các nguồn này là một thách thức lớn đối với cá nhân và tổ chức Do đó, nhu cầu tóm tắt và phân loại khối lượng văn bản khổng lồ một cách tự động và chính xác trở nên cấp thiết.
Tóm tắt văn bản giúp tiết kiệm thời gian đọc và tìm kiếm thông tin bằng cách cung cấp phiên bản rút gọn, giữ nguyên ý chính Điều này rất quan trọng trong báo chí, nơi thông tin cần được truyền tải nhanh chóng và chính xác Phân loại văn bản hỗ trợ tổ chức thông tin bằng cách gán nhãn tài liệu theo nội dung, ứng dụng trong lọc thư rác, gợi ý nội dung, và phân tích cảm xúc Việc áp dụng thuật toán tóm tắt và phân loại văn bản tự động không chỉ tiết kiệm thời gian mà còn nâng cao độ chính xác và nhất quán Các phương pháp truyền thống đã trở nên không phù hợp trong bối cảnh thông tin hiện đại, do đó, thuật toán máy học và xử lý ngôn ngữ tự nhiên (NLP) ngày càng quan trọng Đề tài "Ứng dụng thuật toán TextRank và Navie Bayes trong tóm tắt và phân loại văn bản tự động" nghiên cứu và phát triển các thuật toán này, nhằm tạo ra công cụ hỗ trợ hiệu quả cho tóm tắt và phân loại văn bản, nâng cao hiệu quả làm việc và khai thác tri thức từ nguồn tài liệu khổng lồ hiện nay.
Cơ sở hình thành đề tài
Trong thời đại số hóa, sự gia tăng chóng mặt của thông tin văn bản đã tạo ra thách thức trong việc tìm kiếm và phân tích dữ liệu Nhu cầu tóm tắt và phân loại văn bản trở nên cấp thiết để người dùng có thể nhanh chóng nắm bắt ý chính và tổ chức thông tin hiệu quả Phương pháp xử lý thủ công truyền thống không còn khả thi do khối lượng thông tin khổng lồ Tiến bộ trong máy học và xử lý ngôn ngữ tự nhiên đã mở ra khả năng tự động hóa các nhiệm vụ này Các thuật toán học sâu như RNN và Transformer đã chứng minh hiệu quả trong lĩnh vực này Nghiên cứu và phát triển các thuật toán tóm tắt và phân loại văn bản tự động không chỉ mang lại lợi ích thực tiễn mà còn có tiềm năng lớn trong nhiều lĩnh vực như truyền thông, giáo dục và thương mại điện tử, nhằm đáp ứng nhu cầu xử lý thông tin hiện nay.
Mục tiêu bài toán
Nghiên cứu và ứng dụng các thuật toán hiện đại là một lĩnh vực quan trọng trong máy học và xử lý ngôn ngữ tự nhiên (NLP) Việc tìm hiểu và áp dụng các thuật toán tiên tiến giúp cải thiện hiệu suất và độ chính xác của các mô hình, từ đó nâng cao khả năng xử lý dữ liệu và phân tích ngữ nghĩa Các nghiên cứu này không chỉ đóng góp vào sự phát triển của công nghệ mà còn mở ra nhiều cơ hội ứng dụng trong thực tiễn, từ chatbot đến phân tích cảm xúc.
Hệ thống tóm tắt văn bản tự động được phát triển nhằm tạo ra các bản tóm tắt ngắn gọn và chính xác từ những tài liệu dài Giải pháp này giúp người dùng nhanh chóng nắm bắt ý chính mà không cần phải đọc toàn bộ nội dung, tiết kiệm thời gian và nâng cao hiệu quả trong việc xử lý thông tin.
Xây dựng hệ thống phân loại văn bản tự động là quá trình thiết kế và phát triển một công cụ có khả năng phân loại văn bản theo các danh mục hoặc nhãn dựa trên nội dung Hệ thống này không chỉ giúp tổ chức thông tin một cách khoa học mà còn nâng cao hiệu quả quản lý dữ liệu, từ đó cải thiện khả năng truy xuất và sử dụng thông tin trong các tổ chức.
Đánh giá hiệu quả và độ chính xác của các thuật toán và hệ thống phát triển là rất quan trọng, bao gồm các chỉ số như độ chính xác, độ tin cậy và tốc độ xử lý Việc so sánh với các phương pháp truyền thống và hệ thống hiện có sẽ giúp khẳng định tính ưu việt của các giải pháp mới.
Để nâng cao và mở rộng hệ thống, cần đề xuất các hướng nghiên cứu tiếp theo, bao gồm tối ưu hóa các thuật toán, tích hợp với các công nghệ khác và áp dụng trong nhiều ngữ cảnh đa dạng.
Mục tiêu của đề tài là phát triển hệ thống tự động tóm tắt văn bản bằng kỹ thuật xử lý ngôn ngữ tự nhiên (NLP), sử dụng mô hình TextRank để xác định các câu quan trọng và tạo bản tóm tắt ngắn gọn Hệ thống sẽ áp dụng thuật toán Naive Bayes để gán nhãn các đoạn văn tóm tắt vào các chủ đề tương ứng Cuối cùng, ứng dụng được lập trình bằng Python trên môi trường Visual Studio Code sẽ giúp người dùng tóm tắt và phân loại chủ đề văn bản một cách tự động và hiệu quả, tiết kiệm thời gian và công sức.
Kết quả mong muốn của bài toán:
Mô hình TextRank trong xử lý ngôn ngữ tự nhiên tạo ra những đoạn tóm tắt ngắn gọn, chính xác và logic Những đoạn văn này không chỉ tiết kiệm thời gian cho người đọc mà còn giúp họ dễ dàng nắm bắt thông tin quan trọng nhất một cách hiệu quả.
Phân loại theo chủ đề của các đoạn văn được tóm tắt dựa trên mô hình Naive Bayes là một ưu điểm nổi bật Chương trình này xác định các từ và cụm từ quan trọng trong văn bản gốc, từ đó hỗ trợ người đọc nhận diện chủ đề của đoạn văn một cách hiệu quả.
Ý nghĩa của đề tài
Hệ thống tóm tắt và phân loại văn bản tự động giúp tiết kiệm thời gian và công sức bằng cách nhanh chóng nắm bắt ý chính của tài liệu dài, nâng cao năng suất làm việc và cho phép người dùng tập trung vào các hoạt động có giá trị cao hơn Việc phân loại văn bản chính xác cải thiện quản lý thông tin, giúp truy xuất dữ liệu dễ dàng và nhanh chóng, đặc biệt trong quản lý tài liệu và thư viện số Hệ thống này hỗ trợ ra quyết định kịp thời và chính xác trong các lĩnh vực như báo chí, tài chính, và quản trị doanh nghiệp Công nghệ này có tiềm năng ứng dụng rộng rãi trong giáo dục, y tế, thương mại điện tử, và nghiên cứu khoa học, mang lại lợi ích cho nhiều người dùng Đồng thời, đề tài này thúc đẩy sự sáng tạo và nghiên cứu trong xử lý ngôn ngữ tự nhiên và máy học, khuyến khích phát triển các giải pháp công nghệ tiên tiến Việc triển khai các công cụ này nâng cao trải nghiệm người dùng trên các nền tảng thông tin và truyền thông, góp phần vào sự phát triển công nghệ và nâng cao chất lượng cuộc sống.
Đối tượng và phương pháp nghiên cứu
Đối tượng nghiên cứu: Mô hình Textrank, thuật toán Naive Bayes và phần mềm Visual Studio Code
Phương pháp nghiên cứu: Phương pháp nghiên cứu lý thuyết và phương pháp nghiên cứu thực tiễn.
Đối tượng sử dụng
Tất cả cá nhân và tổ chức cần xử lý khối lượng lớn văn bản có thể tự động hóa quy trình tóm tắt và phân loại chủ đề.
Các nhà nghiên cứu và học viên có thể tận dụng công cụ này để tổng hợp thông tin từ tài liệu nghiên cứu, báo cáo và sách Điều này giúp họ nhanh chóng nắm bắt các thông tin quan trọng và phân tích các chủ đề một cách hiệu quả.
Người đọc tự do là những cá nhân có nhu cầu tổng hợp thông tin từ các bài báo, blog hoặc trang tin tức, giúp họ tiết kiệm thời gian trong việc tra cứu và nắm bắt thông tin vắn tắt từ các nguồn tin tức.
Phạm vi thực hiện bài toán
Bài toán sẽ được thực hiện trên một tập dữ liệu văn bản đã được huấn luyện để gán nhãn từ ngữ cụ thể, bao gồm các bài viết từ báo chí, tài liệu học thuật và blog Tập dữ liệu này có kích thước lớn, đảm bảo khả năng kiểm chứng hiệu quả của các thuật toán.
Các thuật toán sẽ được áp dụng chủ yếu cho văn bản tiếng Việt, nhưng phương pháp này cũng có thể được điều chỉnh để sử dụng cho các ngôn ngữ khác.
Sử dụng Python làm ngôn ngữ lập trình chính trong phần mềm Visual Studio Code, kết hợp với các thư viện hỗ trợ như Underthesea, Regex, NLTK, NetworkX và Sklearn, giúp tối ưu hóa quy trình phát triển và phân tích dữ liệu.
Đánh giá hiệu quả của các thuật toán sẽ dựa trên các thước đo phổ biến, bao gồm độ chính xác, độ nhạy, độ đặc hiệu và điểm F1 cho phân loại văn bản Đối với tóm tắt văn bản, các tiêu chí đánh giá sẽ là độ dài tóm tắt, tính nhất quán và mức độ bao phủ.
Kết cấu bài báo cáo
Chương I Giới thiệu bài toán
Chương II Giới thiệu về xử lý ngôn ngữ tự nhiên (NLP)
Chương III Giới thiệu tổng quan về thuật toán được sử dụng
Chương IV Thực nghiệm và đánh giá
Chương VI Danh mục tài liệu tham khảo
TỔNG QUAN VỀ XỬ LÝ NGÔN NGỮ TỰ NHIÊN (NLP)
Định nghĩa
Xử lý ngôn ngữ tự nhiên (NLP) là một lĩnh vực trong trí tuệ nhân tạo (AI) và khoa học máy tính, tập trung vào việc tương tác giữa máy tính và ngôn ngữ tự nhiên của con người Mục tiêu của NLP là giúp máy tính hiểu, diễn giải và tạo ra văn bản hoặc giọng nói một cách tự nhiên, gần gũi với cách giao tiếp của con người Công nghệ này không chỉ cải thiện tương tác giữa người và máy mà còn nâng cao hiệu quả giao tiếp giữa con người với nhau và tối ưu hóa quá trình xử lý văn bản và lời nói.
Lịch sử và sự phát triển của NLP
Xử lý ngôn ngữ tự nhiên (NLP) là một lĩnh vực nghiên cứu quan trọng trong trí tuệ nhân tạo (AI), chuyên nghiên cứu sự tương tác giữa con người và máy tính thông qua ngôn ngữ tự nhiên Lịch sử phát triển của NLP đã trải qua nhiều giai đoạn khác nhau, với những bước tiến đáng kể và sự thay đổi trong các phương pháp tiếp cận.
❖ Giai đoạn đầu (những năm 1950 - 1970):
- Giai đoạn này tập trung vào các quy tắc và biểu tượng để xử lý ngôn ngữ.
- Các hệ thống NLP đầu tiên được phát triển, bao gồm hệ thống dịch máy
SYSTRAN và hệ thống phân tích cú pháp SHRDLU.
- Tuy nhiên, các hệ thống này gặp nhiều hạn chế do thiếu khả năng xử lý ngữ nghĩa và bối cảnh ngôn ngữ.
❖ Giai đoạn phát triển (những năm 1980 - 1990):
- Xu hướng chuyển sang sử dụng các phương pháp thống kê để xử lý ngôn ngữ.
- Các mô hình thống kê như n-gram và mô hình ngôn ngữ được phát triển để cải thiện độ chính xác của hệ thống NLP.
- Các ứng dụng NLP bắt đầu được ứng dụng trong nhiều lĩnh vực như nhận dạng giọng nói, dịch máy và tóm tắt văn bản.
❖ Giai đoạn học máy (những năm 2000 - nay):
Sự phát triển của học máy, đặc biệt là học sâu, đã mang lại những bước đột phá quan trọng cho xử lý ngôn ngữ tự nhiên (NLP) Các mô hình như mạng nơ-ron nhân tạo (ANN) và mạng nơ-ron tích chập (CNN) được áp dụng rộng rãi, nâng cao hiệu quả của các hệ thống NLP Nhờ đó, NLP đã đạt được nhiều thành tựu ấn tượng trong các lĩnh vực như dịch máy tự động, trả lời câu hỏi, tóm tắt văn bản và tạo văn bản.
Hiện nay, công nghệ xử lý ngôn ngữ tự nhiên (NLP) đang phát triển nhanh chóng nhờ vào sự gia tăng dữ liệu ngôn ngữ và sức mạnh tính toán Những ứng dụng của NLP ngày càng đa dạng, góp phần thay đổi cách con người tương tác với máy tính và môi trường xung quanh.
Một số mốc lịch sử quan trọng trong sự phát triển của NLP:
- Dịch máy và các nghiên cứu đầu tiên (1960s - 1970s): Trong những năm 1960, một số nghiên cứu về dịch máy bắt đầu được tiến hành, như hệ thống dịch Georgetown.
Năm 1960, Noam Chomsky cùng các nhà nghiên cứu khác đã có những đóng góp quan trọng trong lý thuyết ngôn ngữ hình thức và cú pháp tạo sinh Một bước tiến đáng chú ý khác là sự phát triển của hệ thống SHRDLU bởi Terry Winograd vào năm 1968, đánh dấu sự ra đời của hệ thống hiểu ngôn ngữ tự nhiên đầu tiên.
Trong thập kỷ 1980 đến 1990, sự phát triển của máy tính và Internet đã mở ra nhiều cơ hội mới cho xử lý ngôn ngữ tự nhiên (NLP) Một trong những mốc quan trọng trong giai đoạn này là sự ra đời của WordNet, một cơ sở dữ liệu từ vựng đồng nghĩa và ngữ nghĩa Đồng thời, các kỹ thuật phân tích ngôn ngữ tự nhiên như phân tích cú pháp và phân loại ý kiến cũng đã được nghiên cứu một cách sâu rộng.
Trong thập kỷ 2000, học máy và deep learning đã phát triển mạnh mẽ, mở ra cơ hội ứng dụng các mô hình mạng nơ-ron sâu trong xử lý ngôn ngữ tự nhiên (NLP) Sự xuất hiện của các mô hình như Word2Vec và GloVe đã cho phép biểu diễn từ vựng trong không gian vector với chiều thấp Đặc biệt, sự ra đời của các mô hình transformer như BERT và GPT đã cách mạng hóa cách tiếp cận và giải quyết các vấn đề trong NLP, đặc biệt trong các nhiệm vụ như dịch máy và sinh văn bản tự động.
Sự phát triển của NLP (Xử lý ngôn ngữ tự nhiên) đang mở ra nhiều cơ hội mới cho tương lai, hứa hẹn mang lại lợi ích lớn cho con người trong các lĩnh vực như giáo dục, y tế, kinh doanh và giải trí.
Các thành phần chính của NLP
Phân tích cú pháp, hay còn gọi là phân tích cấu trúc, là quá trình xác định cấu trúc ngữ pháp của câu bằng cách nhận diện các thành phần như danh từ, động từ, tính từ và mối quan hệ giữa chúng Đây là bước cơ bản để hiểu ngữ pháp và cấu trúc của ngôn ngữ, giúp máy tính có khả năng "đọc" và phân tích câu tương tự như con người Phương pháp này thường sử dụng các công cụ như cây cú pháp (parse tree) và đồ thị phụ thuộc (dependency graph).
Phân tích ngữ nghĩa là quá trình hiểu ý nghĩa của từ và câu trong ngữ cảnh cụ thể, bao gồm việc xác định ý nghĩa của từ dựa trên ngữ cảnh, xử lý từ đồng nghĩa và đa nghĩa Kỹ thuật này giúp máy tính nắm bắt nội dung thực sự của văn bản, từ đó thực hiện các nhiệm vụ như trả lời câu hỏi, dịch ngôn ngữ và tóm tắt văn bản một cách chính xác hơn.
Phân tích ngữ dụng là quá trình hiểu ý nghĩa của câu trong ngữ cảnh cụ thể, bao gồm thời gian, địa điểm, người nói và mục đích giao tiếp Nó giúp xác định ý định của người nói và các yếu tố ngầm định như mỉa mai, hài hước, hay ẩn ý khác Việc này rất quan trọng để máy tính có thể tương tác một cách tự nhiên và phù hợp với con người.
Nhận diện thực thể (Named Entity Recognition - NER) là quá trình xác định và phân loại các thực thể trong văn bản, bao gồm tên người, địa điểm, tổ chức, ngày tháng và các đối tượng đặc biệt khác Quá trình NER hỗ trợ việc trích xuất thông tin cụ thể, từ đó giúp cải thiện khả năng tìm kiếm và quản lý thông tin hiệu quả hơn.
Kỹ thuật này được sử dụng rộng rãi trong các hệ thống tìm kiếm, phân tích dữ liệu và quản lý thông tin.
Tổng hợp văn bản là quá trình tạo ra văn bản tự nhiên từ dữ liệu đầu vào, bao gồm việc viết lại câu, tạo đoạn văn mới và viết bài báo hoặc báo cáo Kỹ thuật này sử dụng các mô hình ngôn ngữ học sâu như RNN, LSTM và Transformer, giúp tạo ra văn bản có tính logic và ngữ nghĩa, cho phép máy tính viết văn bản một cách tự nhiên và dễ hiểu.
Các bước xử lý ngôn ngữ tự nhiên
Hình 1 Các bước xử lý ngôn ngữ tự nhiên
Bước Nội dung Ứng dụng Ví dụ
Nhận diện dấu câu là quá trình xác định các dấu hiệu như dấu chấm (.), dấu chấm hỏi (?), dấu chấm than (!) và những dấu hiệu khác, giúp chỉ ra sự kết thúc của một câu Việc hiểu rõ các dấu câu này không chỉ hỗ trợ trong việc viết chính xác mà còn nâng cao khả năng giao tiếp hiệu quả trong văn bản.
Trong quá trình xử lý văn bản, cần chú ý đến các trường hợp đặc biệt như dấu chấm trong chữ viết tắt (ví dụ: "Mr.", "Dr."), số thập phân và dấu chấm trong tên miền Việc xử lý cẩn thận những yếu tố này là rất quan trọng để đảm bảo tính chính xác và sự rõ ràng của thông tin.
Sau khi nhận diện dấu câu và xử lý các trường hợp đặc biệt, văn bản sẽ được phân tách thành các câu riêng biệt dựa trên các dấu hiệu đã được xác định.
- Văn bản gốc: "Giáo sư Smith nói: 'Học tập là quan trọng.' Tuy nhiên, ông cũng nhấn mạnh rằng thư giãn là cần thiết."
- Sau khi phân đoạn câu:
+ "Giáo sư Smith nói: 'Học tập là quan trọng.'" + "Tuy nhiên, ông cũng nhấn mạnh rằng thư giãn là cần thiết."
2 Tách từ - Nhận diện khoảng trắng: Đối với nhiều ngôn ngữ, khoảng trắng thường được sử dụng để phân biệt giữa các từ.
Xử lý dấu câu và ký tự đặc biệt là bước quan trọng trong việc tách biệt chúng khỏi từ ngữ Nếu cần thiết, các dấu câu và ký tự đặc biệt sẽ được giữ lại như những token riêng biệt để đảm bảo tính chính xác trong ngữ nghĩa.
- Xử lý các trường hợp đặc biệt: Các trường hợp đặc
- Văn bản gốc: "Tôi yêu NLP!"
- Sau khi tách từ: "Tôi"
Để tránh việc chia nhỏ không mong muốn, các ký tự đặc biệt như chữ viết tắt, địa chỉ email, URL, và số điện thoại cần được xử lý đúng cách trong NLP.
3 Bỏ tiền tố, hậu tố
- Quá trình này nhằm loại bỏ các phần dư thừa của từ (tiền tố, hậu tố) để đưa từ về dạng gốc hoặc dạng cơ bản.
- Trong tiếng Việt, các hậu tố như "nhất", "hơn",
"nữa", "được", "bị" và các tiền tố như "không", "chưa" có thể được loại bỏ để đạt được dạng gốc của từ.
- Văn bản gốc: "yêu thích nhất"
- Sau khi bỏ hậu tố: "yêu thích".
Chuẩn hóa câu không chỉ đơn thuần là loại bỏ hậu tố hay tiền tố, mà còn cần xem xét ngữ cảnh và ý nghĩa ngữ pháp của từ Việc này giúp giảm thiểu sự mất mát thông tin và tạo ra kết quả chính xác hơn.
"Stop words" là những từ thường gặp nhưng không mang nhiều ý nghĩa trong ngữ cảnh cụ thể, thường bị loại bỏ trong quá trình tiền xử lý văn bản Những từ này thường bao gồm các từ phụ, từ liên kết và từ rất phổ biến.
Trong tiếng Việt, các stop words có thể bao gồm các từ như "và",
6 Xác định mối quan hệ giữa các từ
- Là quá trình phân tích câu cú, ngữ pháp của một câu để hiểu được cách các từ liên kết với nhau
- Thường được xây dựng dựa trên cây cú pháp, trong đó
- Câu gốc: "Sân bay Tân Sơn Nhất nằm ở thành phố Hồ Chí Minh."
Chúng ta có thể trích xuất hai thực thể quan trọng: "Sân bay Tân Sơn Nhất" Mỗi từ trong cụm này được coi là một nút, và mối quan hệ giữa chúng được thể hiện thông qua các cạnh kết nối.
"thành phố Hồ Chí Minh".
- Mối quan hệ giữa chúng là Sân bay Tân Sơn Nhất nằm ở thành phố Hồ Chí
Quá trình này xác định loại từ của mỗi từ trong một câu, chẳng hạn như danh từ, động từ, tính từ, trạng từ, giới từ, v.v
- Câu gốc: “Anh ấy đi bộ đến công ty vào mỗi sáng”
- Gán nhãn từ loại: + "Anh ta" -> danh từ + "đi bộ" -> động từ + "đến" -> động từ hoặc giới từ
+ "công ty" -> danh từ + "vào" -> giới từ + "mỗi" -> tính từ + "buổi sáng" -> danh từ
Bảng 1 Mô tả các bước xử lý ngôn ngữ tự nhiên
2.3 Các phương thức xử lý ngôn ngữ tự nhiên
Một trong những phương pháp phổ biến để xây dựng mô hình dự đoán và hiểu văn bản tự nhiên là sử dụng các mô hình máy học như học sâu (deep learning) và học máy (machine learning) Ngoài ra, các thuật toán thống kê và ngôn ngữ tự nhiên (NLP) truyền thống như thuật toán Textrank, phương pháp dựa trên luật ngữ pháp, và các kỹ thuật biểu diễn từ (word embedding) như Word2Vec và GloVe cũng được áp dụng Thêm vào đó, các phương pháp dựa trên ngữ cảnh và bối cảnh, chẳng hạn như các mô hình transformer, ngày càng trở nên quan trọng trong lĩnh vực này.
Các phương pháp NLP có giám sát sử dụng tập dữ liệu đầu vào và đầu ra đã được gắn nhãn để đào tạo phần mềm Chương trình học cách xử lý và phân tích khối lượng lớn dữ liệu đã biết, từ đó tạo ra dữ liệu đầu ra chính xác cho các dữ liệu đầu vào chưa xác định.
Các công ty có thể áp dụng công nghệ NLP để phân loại tài liệu theo các nhãn cụ thể Khi nhận được văn bản mới, mô hình đã được huấn luyện có khả năng dự đoán chính xác nhãn cho văn bản đó dựa trên kiến thức từ dữ liệu đã được gán nhãn trước đó.
Phương pháp giám sát trong NLP yêu cầu một tập dữ liệu lớn, chất lượng và đa dạng để huấn luyện mô hình Mặc dù vậy, nó mang lại kết quả chính xác và đáng tin cậy cho nhiều tác vụ như phân loại văn bản, dự đoán ý kiến, dịch máy và trích xuất thông tin Điều này không chỉ nâng cao hiệu suất mà còn giảm thiểu sự phụ thuộc vào con người trong việc xử lý dữ liệu và thông tin.
NLP không giám sát áp dụng mô hình ngôn ngữ thống kê để dự đoán các mẫu từ dữ liệu đầu vào không gắn nhãn Phương pháp này cho phép mô hình tự học và nhận diện các mẫu cũng như mối quan hệ trong dữ liệu mà không cần dữ liệu đã được gán nhãn trước.
Trong NLP không giám sát, mô hình học từ dữ liệu không gắn nhãn bằng cách phân tích cấu trúc và xu hướng trong dữ liệu Thay vì phụ thuộc vào thông tin nhãn do con người cung cấp, mô hình tự động học các đặc điểm ngôn ngữ và quy luật xuất hiện từ dữ liệu không gắn nhãn.
Mô hình NLP không giám sát có khả năng tự động phân loại văn bản vào các nhóm chủ đề khác nhau chỉ dựa trên cấu trúc và từ vựng, mà không cần sự can thiệp của con người Điều này mang lại sự linh hoạt và tiết kiệm thời gian trong việc xử lý và phân loại dữ liệu Tuy nhiên, phương pháp này yêu cầu một lượng lớn dữ liệu và có thể không đạt độ chính xác cao như các phương pháp giám sát.
2.4.3 Hiểu ngôn ngữ tự nhiên (NLU)
Ứng dụng của NLP
NLP đã trở thành một yếu tố quan trọng trong cuộc sống kỹ thuật số hiện đại, cung cấp nhiều lợi ích và giá trị trong việc xử lý thông tin cũng như tương tác ngôn ngữ tự nhiên Dưới đây là một số ví dụ về các ứng dụng của những phương pháp phổ biến trong xử lý ngôn ngữ tự nhiên (NLP).
- Ứng dụng của NLP có giám sát:
Một công ty có thể phân loại email thành các danh mục như "Hỏi đáp", "Quảng cáo" và "Spam" bằng cách sử dụng các phương pháp NLP có giám sát Họ sẽ huấn luyện một mô hình nhận biết và phân loại email dựa trên dữ liệu huấn luyện đã được gắn nhãn Cụ thể, việc sử dụng một tập dữ liệu email đã được gắn nhãn với các nhãn tương ứng cho phép mô hình máy học tự động phân loại email mới dựa trên nội dung và các đặc điểm ngôn ngữ của chúng.
Phân tích cảm xúc là một công cụ quan trọng cho các trang web thương mại điện tử nhằm thu thập ý kiến người dùng về sản phẩm thông qua đánh giá Bằng cách áp dụng phương pháp NLP có giám sát, các trang web này có thể tự động phân tích cảm xúc từ bình luận và đánh giá của khách hàng Chẳng hạn, họ có thể sử dụng tập dữ liệu chứa các đánh giá sản phẩm đã được gán nhãn với cảm xúc tích cực, tiêu cực hoặc trung lập, và sau đó áp dụng mô hình máy học để phân tích cảm xúc từ các đánh giá mới Điều này cho phép họ nhanh chóng nắm bắt ý kiến của khách hàng về sản phẩm mà không cần phải đọc từng đánh giá một cách thủ công.
- Ứng dụng của NLP không giám sát:
Tính năng tự động hoàn thành trong nhắn tin văn bản sử dụng NLP không giám sát để dự đoán từ tiếp theo mà người dùng có thể nhập Khi người dùng bắt đầu một câu, hệ thống phân tích các từ đã nhập và dự đoán từ tiếp theo dựa trên mẫu ngôn ngữ học từ kho dữ liệu lớn Tính năng này giúp tăng tốc độ gõ và cải thiện độ chính xác, mạch lạc của tin nhắn.
Sử dụng NLP không giám sát, một công ty có thể tự động phân cụm các văn bản hợp đồng thành các nhóm theo chủ đề như "hợp đồng mua bán", "hợp đồng lao động", và "hợp đồng dịch vụ" Việc tổ chức này giúp quản lý và truy xuất thông tin dễ dàng hơn, tiết kiệm thời gian và công sức cho việc tìm kiếm và xử lý tài liệu.
- Ứng dụng của hiểu ngôn ngữ tự nhiên (NLU):
Chatbot trên trang web bán hàng sử dụng công nghệ Hiểu Ngôn ngữ Tự nhiên (NLU) để nhận diện ý định của người dùng và cung cấp hỗ trợ phù hợp, như thông tin sản phẩm, giá cả và quy trình đặt hàng Ngoài ra, các trợ lý ảo như Siri và Alexa cũng áp dụng NLU để thực hiện lệnh của người dùng, từ phát nhạc đến trả lời câu hỏi Hệ thống trả lời câu hỏi y tế cũng có thể tận dụng NLU để hiểu và cung cấp thông tin y tế chính xác cho bệnh nhân từ cơ sở dữ liệu của họ.
Hệ thống phân tích câu hỏi của bệnh nhân về triệu chứng bệnh, tìm kiếm thông tin từ cơ sở dữ liệu y tế để cung cấp câu trả lời chính xác, giúp bệnh nhân nhận thông tin nhanh chóng và đáng tin cậy Điều này giảm tải công việc cho chuyên gia y tế, cho phép họ tập trung vào các trường hợp cần can thiệp trực tiếp Hệ thống còn cung cấp lời khuyên chăm sóc sức khỏe, nhắc nhở lịch trình uống thuốc và theo dõi các chỉ số sức khỏe hàng ngày của bệnh nhân.
- Ứng dụng của tạo ngôn ngữ tự nhiên (NLG):
Công ty tài chính có thể áp dụng NLG để tự động hóa việc tạo báo cáo tài chính từ dữ liệu số, giúp tiết kiệm thời gian cho các nhà phân tích Hệ thống NLG xử lý bảng dữ liệu phức tạp, nhận diện xu hướng và mẫu số liệu, sau đó sản xuất báo cáo chi tiết bằng ngôn ngữ tự nhiên dễ hiểu Việc này không chỉ nâng cao tính chính xác và nhất quán của báo cáo mà còn hỗ trợ công ty trong việc đưa ra quyết định kịp thời và hiệu quả.
Bài viết tin tức tự động sử dụng NLG để tạo ra nội dung về các sự kiện hàng ngày từ nhiều nguồn tin khác nhau Khi có sự kiện lớn, hệ thống NLG tự động thu thập và phân tích dữ liệu, từ đó tạo ra các bài viết tổng hợp, cung cấp cái nhìn toàn diện và cập nhật về sự kiện Điều này giúp trang web tin tức duy trì nội dung phong phú và đáp ứng nhanh chóng nhu cầu thông tin của độc giả Hơn nữa, NLG còn cho phép tạo nhiều phiên bản của cùng một câu chuyện, phù hợp với các nhóm độc giả và nền tảng khác nhau, mở rộng phạm vi tiếp cận và ảnh hưởng của trang web.
NLP không chỉ là một lĩnh vực nghiên cứu mà còn có nhiều ứng dụng thực tiễn trong các lĩnh vực khác nhau Công nghệ NLP đang ngày càng phát triển mạnh mẽ, mang lại cải tiến đáng kể trong tự động hóa và tối ưu hóa quy trình xử lý ngôn ngữ Điều này giúp nâng cao khả năng tương tác và hiểu biết của máy tính đối với ngôn ngữ tự nhiên của con người.
Thách thức của NLP
Trong thời đại công nghệ số, xử lý ngôn ngữ tự nhiên (NLP) đóng vai trò quan trọng trong việc kết nối con người và máy tính Nhờ vào sự phát triển của trí tuệ nhân tạo, các hệ thống NLP hiện nay có khả năng hiểu và tương tác bằng ngôn ngữ tự nhiên với con người Tuy nhiên, các nhà nghiên cứu và phát triển vẫn phải đối mặt với nhiều thách thức phức tạp, đặc biệt là trong việc xử lý tiếng Việt với những đặc trưng riêng biệt.
Xử lý từ hoặc câu có nhiều nghĩa khác nhau dựa vào ngữ cảnh là một thách thức lớn trong NLP Ví dụ, từ "bàn" trong tiếng Việt có thể là danh từ (cái bàn) hoặc động từ (bàn bạc) Hệ thống NLP cần phân biệt và hiểu đúng nghĩa của từ trong từng ngữ cảnh cụ thể, như trong câu "Họ ngồi quanh cái bàn" và "Họ bàn về dự án mới," nơi từ "bàn" mang hai ý nghĩa hoàn toàn khác nhau.
Hiểu đúng ngữ cảnh và ý định của người nói trong giao tiếp là rất quan trọng nhưng cũng đầy thách thức Ví dụ, câu hỏi "Anh có đi không?" có thể được hiểu theo nhiều cách khác nhau, phụ thuộc vào hoàn cảnh và mối quan hệ giữa người nói và người nghe Trong một số tình huống, nó có thể được xem như một lời mời, trong khi ở những tình huống khác, nó có thể mang tính chất hăm dọa hoặc yêu cầu.
Tiếng Việt là một ngôn ngữ phong phú với nhiều biến thể và phương ngữ khác nhau, nơi mỗi vùng miền có cách diễn đạt và sử dụng từ ngữ riêng Chẳng hạn, từ "mẹ" có thể được gọi là "má" ở miền Nam và "mệ" ở miền Trung Để đảm bảo tính chính xác và hiệu quả trong giao tiếp, hệ thống NLP cần xử lý tốt sự đa dạng này, đòi hỏi mô hình phải được huấn luyện với dữ liệu phong phú từ nhiều vùng miền khác nhau.
Việc thu thập và chuẩn bị dữ liệu chất lượng cao cho tiếng Việt là một thách thức lớn, đòi hỏi dữ liệu phải phong phú và đa dạng để mô hình có thể học hỏi hiệu quả Để đảm bảo tính đại diện cho mọi ngữ cảnh và phong cách ngôn ngữ, cần có không chỉ lượng dữ liệu lớn mà còn sự chú ý đến sự đa dạng trong các tình huống sử dụng.
Mô hình NLP thường gặp khó khăn trong việc hiểu và áp dụng kiến thức thực tiễn giống như con người Chẳng hạn, việc nhận thức rằng "trời mưa" có thể dẫn đến "đường trơn" là một khái niệm mà con người dễ dàng nắm bắt, nhưng không phải lúc nào máy móc cũng hiểu rõ Để cải thiện khả năng này, các mô hình cần được trang bị thêm kiến thức nền tảng và khả năng liên kết thông tin từ nhiều nguồn khác nhau.
Tính cá nhân hóa và tùy biến trong phát triển mô hình là một thách thức lớn, yêu cầu hệ thống thích nghi với từng người dùng và ngữ cảnh Ví dụ, mặc dù cùng một câu hỏi được đặt ra, nhưng cách trả lời có thể khác nhau dựa trên sở thích và thói quen của người dùng Để cung cấp trải nghiệm giao tiếp tốt nhất, hệ thống cần học cách điều chỉnh theo nhu cầu riêng của từng cá nhân.
Sự hợp tác giữa tổ chức học thuật, công ty công nghệ và cộng đồng người dùng là yếu tố then chốt để phát triển các giải pháp đáp ứng nhu cầu thực tế Đầu tư vào nghiên cứu và phát triển công nghệ mới, cùng với đào tạo nhân lực chuyên môn cao, sẽ giúp giải quyết những thách thức phức tạp trong lĩnh vực NLP tiếng Việt.
NLP đang được cải tiến liên tục và tối ưu hóa, giúp chúng ta khai thác tối đa tiềm năng của công nghệ này trong nhiều lĩnh vực khác nhau.
TỔNG QUAN CHUNG VỀ THUẬT TOÁN
Thuật toán TextRank
3.1.1 Lý do lựa chọn thuật toán
Trước khi triển khai bài toán tóm tắt văn bản bằng thuật toán Textrank, nhóm đã nghiên cứu các mô hình trong NLP nhằm giải quyết vấn đề này Dưới đây là một số đánh giá tổng quan về các mô hình hiện có.
Cơ chế hoạt động Độ phức tạp tính toán
Pagerank, sử dụng đồ thị câu
Trung bình Không yêu cầu dữ liệu gán nhãn
LSA Phân tích ngữ nghĩa tiềm ẩn
Trung bình Không yêu cầu dữ liệu gán nhãn
Decoder, học từ dữ liệu gán nhãn
Cao Yêu cầu dữ liệu gán nhãn lớn
Khó (Do yêu cầu nhiều tài nguyên)
Học ngữ cảnh sâu rộng
Rất cao Yêu cầu dữ liệu gán nhãn rất lớn
Rất khó (yêu cầu nhiều tài nguyên và chuyên môn cao)
Bảng 2 So sánh các thuật toán được sử dụng trong NLP
Việc sử dụng TextRank để tóm tắt văn bản mang lại nhiều lợi ích cho xử lý ngôn ngữ tự nhiên (NLP) Phương pháp này không chỉ đơn giản và dễ triển khai mà còn có hiệu quả cao trong việc tóm tắt TextRank nổi bật với tính linh hoạt và khả năng tùy biến, cho phép điều chỉnh tham số theo từng loại văn bản và yêu cầu ứng dụng Với khả năng tính toán mạnh mẽ, TextRank xử lý hiệu quả các tập dữ liệu lớn, giảm thiểu độ phức tạp và tối ưu hóa thời gian xử lý Hơn nữa, tính ổn định của TextRank đảm bảo kết quả tóm tắt đáng tin cậy qua nhiều lần chạy.
Thuật toán TextRank là một phương pháp tóm tắt tài liệu trong học máy, sử dụng kỹ thuật extractive và học không giám sát Đây là một thuật toán dựa trên đồ thị, giúp đánh giá mức độ quan trọng của từ hoặc câu trong văn bản để tóm tắt hoặc trích xuất từ khóa TextRank được phát triển dựa trên ý tưởng của thuật toán PageRank, vốn được dùng để xếp hạng trang web, và không cần dữ liệu đào tạo trước, cho phép áp dụng với bất kỳ đoạn văn bản nào.
TextRank là thuật toán phân tích văn bản dựa trên đồ thị, giúp trích xuất thông tin quan trọng từ văn bản Thuật toán này hoạt động theo nguyên lý tương tự PageRank, được sử dụng để xếp hạng các trang web trên Internet Quá trình hoạt động của TextRank bao gồm các bước cụ thể để xác định và đánh giá các thành phần quan trọng trong văn bản.
Biểu diễn văn bản dưới dạng đồ thị là một phương pháp hiệu quả, trong đó văn bản được chuyển đổi thành các đỉnh (nodes) đại diện cho các câu hoặc từ, và các cạnh (edges) thể hiện mối quan hệ giữa chúng Đối với tóm tắt văn bản, mỗi đỉnh tương ứng với một câu, và những câu có nội dung tương đồng sẽ được kết nối với nhau, giúp làm nổi bật các mối liên hệ và mức độ liên quan trong nội dung văn bản.
Trọng số cạnh trong đồ thị được tính toán dựa trên mức độ tương đồng giữa các đỉnh, thường thông qua việc so sánh ngữ nghĩa hoặc nội dung của các phần tử Quá trình này sử dụng các biện pháp tương đồng ngữ nghĩa, như cosine similarity, để xác định trọng số cạnh Những câu có nhiều từ chung hoặc ngữ nghĩa tương đồng sẽ có trọng số cạnh cao hơn, từ đó phản ánh mức độ liên quan giữa chúng.
Hình 2 Mô phỏng công thức tính trọng số cạnh
Thuật toán TextRank tính điểm cho mỗi đỉnh trong đồ thị sau khi xác định cấu trúc và trọng số cạnh Quá trình này dựa trên một công thức cụ thể để tính toán điểm số.
PageRank để phân bố điểm số dựa trên mức độ kết nối và trọng số cạnh giữa các đỉnh
Điểm TextRank của mỗi đỉnh được cập nhật liên tục dựa trên điểm số của các đỉnh liên kết, cho đến khi đạt được trạng thái hội tụ với điểm số ổn định.
Hình 3 Hình mô phỏng công thức phân bổ điểm số dựa trên mức độ kết nối và trọng số cạnh giữa các đỉnh.
Sau khi tính toán điểm TextRank cho các đỉnh, những đỉnh quan trọng nhất sẽ được lựa chọn dựa trên điểm số này Quy trình này giúp xác định các yếu tố chính trong văn bản nhằm tạo ra bản tóm tắt hoặc danh sách từ khóa Các câu có điểm TextRank cao nhất sẽ được chọn để hình thành bản tóm tắt, với số lượng câu được lựa chọn dựa trên tỷ lệ phần trăm của độ dài văn bản gốc hoặc một số lượng câu cố định.
Thuật toán TextRank có nhiều ứng dụng quan trọng trong xử lý ngôn ngữ tự nhiên (NLP) và phân tích văn bản Một trong những ứng dụng nổi bật của TextRank là trích xuất từ khóa, cho phép tự động xác định các từ khóa quan trọng từ văn bản, giúp người dùng dễ dàng nhận diện nội dung chính mà không cần đọc toàn bộ tài liệu Ngoài ra, thuật toán này còn hỗ trợ tóm tắt văn bản, từ việc rút gọn các đoạn văn dài thành những câu quan trọng nhất cho đến việc tóm tắt nhiều tài liệu liên quan thành một bản ngắn gọn, giúp người dùng nhanh chóng nắm bắt nội dung chính.
TextRank là một công cụ hữu ích trong mạng xã hội, giúp tóm tắt hiệu quả các bài viết và bình luận Điều này cho phép người dùng dễ dàng theo dõi thông tin và ý kiến từ cộng đồng.
Hệ thống gợi ý đã được nâng cấp nhờ vào TextRank, cho phép đề xuất các tài liệu và bài viết liên quan dựa trên từ khóa được trích xuất Đồng thời, hệ thống cũng cá nhân hóa nội dung cho người dùng theo sở thích và mối quan tâm của họ.
TextRank được sử dụng để cải thiện độ chính xác trong tìm kiếm thông tin bằng cách trích xuất từ khóa chính từ tài liệu và lập chỉ mục hiệu quả Thuật toán này cũng hỗ trợ phân tích cảm xúc, tóm tắt phản hồi của người dùng về sản phẩm hoặc dịch vụ, giúp doanh nghiệp nắm bắt nhanh chóng cảm xúc chung của khách hàng và nhận diện xu hướng cảm xúc để điều chỉnh chiến lược kinh doanh.
TextRank là một công cụ mạnh mẽ trong phân tích dữ liệu lớn, giúp tóm tắt và trích xuất thông tin quan trọng từ các báo cáo Nhờ vào sự linh hoạt của nó, TextRank không chỉ làm cho việc phân tích trở nên nhanh chóng hơn mà còn nâng cao hiệu quả làm việc, tiết kiệm thời gian cho người dùng trong nhiều lĩnh vực khác nhau.
3.2.5 Ưu điểm và nhược điểm của thuật toán TextRank Ưu điểm Nhược điểm
- Không cần dữ liệu huấn luyện:
TextRank là một thuật toán không giám sát, không cần dữ liệu huấn luyện trước, giúp tiết kiệm thời gian và công sức so với các mô hình học máy khác yêu cầu lượng dữ liệu lớn để huấn luyện.
Thuật toán Naive Bayes
3.2.1 Lý do chọn lựa thuật toán
K- Nearest Neighbor s (KNN) Độ chính xác
Cao Cao Cao Thấp đến trung bình
Khả năng xử lý dữ liệu lớn
Tốt Trung bình Trung bình Tốt Kém
Khả năng xử lý dữ liệu thiếu
Tốt Trung bình Trung bình Tốt Kém
Tính dễ hiểu của mô hình
Dễ hiểu Dễ hiểu Trung bình Khó hiểu Dễ hiểu
Tốt Tốt Kém đến trung bình
Khả Tốt Tốt Tốt Tốt Kém năng xử lý đa chiều với các tính năng độc lập Ứng dụng trong phân loại văn bản
Phù hợp Phù hợp Phù hợp nhưng chậm
Phù hợp nhưng phức tạp Ít phù hợp
Lý do chọn Naive Bayes cho bài toán phân loại chủ đề văn bản tự động:
- Hiệu quả tính toán cao: Naive Bayes tính toán nhanh chóng và có thể xử lý lượng lớn dữ liệu văn bản trong thời gian ngắn.
Naive Bayes là một phương pháp mạnh mẽ trong xử lý dữ liệu văn bản, đặc biệt khi dữ liệu không đầy đủ Mặc dù dữ liệu thường thiếu sót, Naive Bayes vẫn có khả năng hoạt động hiệu quả, mang lại kết quả chính xác trong nhiều tình huống thực tế.
Mô hình Naive Bayes nổi bật với tính dễ hiểu và dễ triển khai, làm cho nó trở thành lựa chọn lý tưởng cho cả những người mới bắt đầu và các nhà phân tích tìm kiếm một mô hình rõ ràng.
Naive Bayes là một phương pháp hiệu quả trong việc phân loại văn bản, thường được áp dụng thành công cho các nhiệm vụ như phân loại email, phân loại chủ đề văn bản và phân loại ý kiến.
- Khả năng xử lý đa chiều: Mặc dù giả định các tính năng độc lập, Naive Bayes vẫn hoạt động tốt trong nhiều bài toán thực tế.
Thuật toán Naive Bayes là một phương pháp phân loại trong machine learning, dựa trên công thức Bayes để ước lượng xác suất mà một điểm dữ liệu thuộc về một lớp nhất định Phương pháp này sử dụng các đặc trưng của dữ liệu để đưa ra dự đoán, với giả định rằng các đặc trưng này độc lập với nhau.
Thuật toán "ngây thơ" giả định rằng tất cả các đặc trưng của dữ liệu là độc lập, mặc dù điều này thường không đúng trong thực tế Giả định này giúp đơn giản hóa quá trình tính toán và nâng cao hiệu quả của thuật toán Naive Bayes là lựa chọn phổ biến cho việc phân loại dữ liệu nhanh chóng và đơn giản, đặc biệt khi làm việc với các tập dữ liệu lớn và có cấu trúc đơn giản.
Thuật toán Naive Bayes dựa trên nguyên tắc của công thức Bayes, sử dụng quy tắc cập nhật xác suất khi có thông tin mới Các bước chính trong hoạt động của thuật toán này bao gồm việc tính toán xác suất của các lớp dựa trên các đặc trưng đầu vào và áp dụng công thức Bayes để đưa ra dự đoán.
Mô hình Naive Bayes được xây dựng bằng cách huấn luyện trên một tập dữ liệu đã được gán nhãn Trong quá trình này, thuật toán học cách tính xác suất của các lớp dựa trên các đặc trưng của dữ liệu.
Khi nhận một điểm dữ liệu mới cần phân loại, Naive Bayes sẽ tính toán xác suất cho từng lớp dựa trên các đặc trưng của điểm dữ liệu đó, sử dụng quy tắc Bayes để thực hiện quá trình này.
P(Y∣X) là xác suất của nhãn Y cho dữ liệu X.
P(X Y)P(X|Y)P(X∣ ∣Y) là xác suất của dữ liệu X cho nhãn Y
(likelihood) P(Y)P(Y)P(Y) là xác suất tiên nghiệm của nhãn Y (prior probability).
P(X)P(X)P(X) là xác suất của dữ liệu X.
Dự đoán lớp trong mô hình Naive Bayes được thực hiện bằng cách chọn lớp có xác suất cao nhất cho điểm dữ liệu Để đánh giá hiệu suất của mô hình, thường sử dụng các phương pháp như ma trận nhầm lẫn, độ chính xác, độ phủ và độ chính xác của các lớp.
Naive Bayes là một phương pháp phân loại dữ liệu đơn giản nhưng hiệu quả, đặc biệt phù hợp với các tập dữ liệu lớn và có cấu trúc đơn giản.
Thuật toán Naive Bayes được sử dụng rộng rãi trong nhiều lĩnh vực nhờ vào tính đơn giản và hiệu quả trong phân loại dữ liệu Một số ứng dụng phổ biến của Naive Bayes bao gồm phân loại email, phân tích cảm xúc, nhận diện văn bản và dự đoán bệnh trong y học.
Naive Bayes là một thuật toán phổ biến trong phân loại văn bản, được ứng dụng rộng rãi trong việc phân loại email thành thư rác và thư quan trọng Ngoài ra, nó còn được sử dụng để phân loại văn bản vào các danh mục khác nhau như tin tức, thể thao và khoa học.
Trong phân tích cảm xúc, phương pháp Naive Bayes được áp dụng để phân loại ý kiến thành ba loại: tích cực, tiêu cực và trung lập Kỹ thuật này thường được sử dụng để phân tích các văn bản như đánh giá sản phẩm và bình luận trên mạng xã hội, nhằm hiểu rõ hơn về cảm nhận của người dùng.
Naive Bayes là một công cụ hữu ích trong việc phát hiện thảo luận trực tuyến bất hòa hoặc tiêu cực, đặc biệt trên các diễn đàn và nền tảng mạng xã hội Phương pháp này giúp phân tích nội dung và xác định các phản hồi tiêu cực, từ đó hỗ trợ quản lý và cải thiện môi trường thảo luận trực tuyến.
Dự đoán tài chính bằng Naive Bayes có thể hỗ trợ trong việc phân tích rủi ro tín dụng, phát hiện gian lận trong giao dịch và phân loại tín dụng hiệu quả.
THỰC NGHIỆM VÀ ĐÁNH GIÁ
Giới thiệu về các thư viện được sử dụng
Pandas là một thư viện mạnh mẽ và linh hoạt dành cho việc thao tác và phân tích dữ liệu, cung cấp các cấu trúc dữ liệu cùng công cụ để làm việc với dữ liệu có nhãn, đặc biệt là chuỗi thời gian Thư viện này rất hữu ích trong việc xử lý các bảng dữ liệu lớn, cho phép người dùng đọc và ghi dữ liệu từ nhiều định dạng khác nhau như CSV, Excel, SQL và HDF5.
NumPy là thư viện quan trọng cho tính toán khoa học trong Python, cung cấp hỗ trợ cho các mảng lớn và đa chiều Thư viện này cho phép thực hiện các hàm toán học phức tạp, thao tác với mảng, cũng như thực hiện các phép toán đại số tuyến tính, biến đổi Fourier và ngẫu nhiên hóa.
Underthesea là thư viện NLP chuyên biệt cho tiếng Việt, cung cấp các công cụ như phân đoạn từ, gắn thẻ từ loại, nhận dạng thực thể có tên, phân tích cú pháp và tóm tắt văn bản, giúp tối ưu hóa việc xử lý văn bản tiếng Việt.
Stopwords là những từ phổ biến thường bị loại bỏ trong xử lý ngôn ngữ tự nhiên do chúng không cung cấp nhiều ý nghĩa Ví dụ, các từ như "và" không đóng góp đáng kể vào nội dung thông tin Việc loại bỏ stopwords giúp cải thiện hiệu suất và độ chính xác của các mô hình ngôn ngữ.
"hoặc", "nhưng") Việc loại bỏ các từ dừng giúp tăng hiệu quả của các mô hình phân loại và tóm tắt văn bản.
- Sklearn.feature_extraction.text (TfidfVectorizer)
TfidfVectorizer là một công cụ trong thư viện scikit-learn (sklearn) dùng để chuyển đổi tập hợp tài liệu văn bản thành ma trận TF-IDF (Term Frequency-Inverse Document Frequency) Kỹ thuật TF-IDF giúp đánh giá tầm quan trọng của từ trong tài liệu, làm nổi bật các từ quan trọng và giảm thiểu ảnh hưởng của từ thông dụng.
Sent_tokenize là hàm trong thư viện underthesea, giúp phân đoạn văn bản thành các câu riêng lẻ Đây là bước tiền xử lý quan trọng trong nhiều ứng dụng NLP, bao gồm tóm tắt văn bản và phân tích cú pháp.
Regex là thư viện hỗ trợ làm việc với biểu thức chính quy, cho phép tìm kiếm và xử lý chuỗi văn bản một cách linh hoạt và hiệu quả Công cụ này rất hữu ích trong việc làm sạch và chuẩn hóa dữ liệu văn bản.
- Sklearn.metrics.pairwise (cosine_similarity)
Cosine_similarity là một hàm trong thư viện scikit-learn, được sử dụng để tính toán độ tương đồng cosin giữa các vectơ Độ tương đồng cosin đo lường góc giữa hai vectơ trong không gian, và nó được áp dụng phổ biến trong việc so sánh độ tương đồng giữa các văn bản.
NetworkX là thư viện mạnh mẽ cho việc tạo, thao tác và nghiên cứu các mạng phức tạp Trong lĩnh vực tóm tắt văn bản, nó hỗ trợ xây dựng và phân tích đồ thị từ tài liệu, đặc biệt là trong thuật toán TextRank.
Các thư viện như Pandas, NumPy, Underthesea và scikit-learn cung cấp công cụ mạnh mẽ cho việc xử lý và phân tích dữ liệu văn bản Chúng hỗ trợ tiền xử lý dữ liệu, thực hiện các thao tác NLP và áp dụng các phương pháp học máy, giúp xây dựng ứng dụng hiệu quả cho tóm tắt và phân loại văn bản tự động.
Requests là thư viện HTTP cho Python, cho phép gửi yêu cầu HTTP một cách dễ dàng và xử lý phản hồi từ máy chủ Thư viện này hỗ trợ các phương thức HTTP như GET, POST, PUT, DELETE, đồng thời quản lý phiên làm việc, xác thực và hỗ trợ tải lên, tải xuống tệp.
BeautifulSoup là thư viện mạnh mẽ dùng để phân tích cú pháp tài liệu HTML và XML, giúp tạo ra cây phân tích cú pháp từ các trang web Thư viện này cho phép người dùng dễ dàng trích xuất dữ liệu từ các trang web một cách hiệu quả.
Thu thập dữ liệu (Data collection)
- Các thư viện được sử dụng
- Hàm lấy thông tin tiêu đề, nội dung, tag, sappo
- Ví dụ về kết quả thu thập dữ liệu từ 1 đường dẫn:
- Hàm lấy dữ liệu về chủ đề
- Kết quả dữ liệu chủ đề được trả về
- Đọc nội dung từ nhiều tệp văn bản và lưu các dòng nội dung vào một danh sách duy nhất
- Kết quả thu thập đường link html:
- Ví dụ về dữ liệu của một bài báo đã được thu thập
Xây dựng mô hình tóm tắt văn bản dựa trên thuật toán Textrank
- Tiền xử lí dữ liệu bằng cách loại bỏ stopwords với dữ liệu đầu vào là thông tin đã được thu thập về
- Kết quả thu thập các stopwords:
- Hàm lưu dataset sau khi đã loại bỏ stopwords
- Hàm tạo từ điển dữ liệu
- Hàm xếp hạng các đoạn văn bản dựa trên độ quan trọng
- Hàm tạo một bản tóm tắt cho một văn bản đầu vào
Xây dựng mô hình phân loại văn bản tự động dựa trên thuật toán Naive Bayes
- Huấn luyện một mô hình phân loại văn bản bằng thuật toán Naive Bayes
- Hàm đánh giá hiệu suất của một mô hình phân loại Naive Bayes đã được huấn luyện và lưu trữ từ trước
- Xây dựng đoạn code để mở file dữ liệu đã được loại bỏ stopwords
- Chia tập dữ liệu thành tập train/test
4.4 Xây dựng mô hình deploy chương trình
- Mô hình sử dụng thư viện streamlit để chạy chương trình
TỔNG KẾT
Trong nghiên cứu này, chúng em đã triển khai hai phương pháp học máy phổ biến cho tóm tắt và phân loại văn bản, bao gồm thuật toán TextRank và Naive Bayes TextRank, một thuật toán xử lý ngôn ngữ tự nhiên (NLP), sử dụng mạng lưới đồ thị để tự động tóm tắt văn bản bằng cách biến đổi văn bản thành đồ thị từ các câu và từ Thuật toán áp dụng PageRank để xác định mức độ quan trọng của các câu, từ đó tạo ra tóm tắt với các câu quan trọng nhất Chúng em đã sử dụng thư viện Python để xây dựng đồ thị và tính toán điểm trọng số, mang lại kết quả tóm tắt văn bản chính xác và tự động.
Chúng em đã triển khai thuật toán Naive Bayes để phân loại văn bản vào các nhãn phù hợp, giúp dự đoán nhãn dựa trên các đặc trưng của dữ liệu Việc kết hợp Naive Bayes với phương pháp TextRank đã tạo ra một hệ thống tự động hiệu quả trong tóm tắt và phân loại văn bản Kết quả từ đề tài có thể ứng dụng trong nhiều lĩnh vực như tổng hợp tin tức và phân loại tài liệu, nâng cao năng suất làm việc và cho phép người dùng tập trung vào các hoạt động giá trị cao hơn Phân loại văn bản chính xác cải thiện chất lượng quản lý thông tin, giúp truy xuất dữ liệu nhanh chóng, đặc biệt trong quản lý tài liệu và thư viện số Hệ thống cũng hỗ trợ quyết định kịp thời và chính xác trong các lĩnh vực như báo chí, tài chính và quản trị doanh nghiệp, đồng thời có tiềm năng ứng dụng rộng rãi trong giáo dục, y tế, thương mại điện tử và nghiên cứu khoa học, mang lại lợi ích cho nhiều người dùng.