L UỒNG VĂN BẢN
Luồng đại diện cho chuỗi các đối tượng, thường là byte, được chuyển tải liên tục từ vị trí này đến vị trí khác Luồng dữ liệu là chuỗi thời gian thực, liên tục và được sắp xếp theo thứ tự, nhưng không thể kiểm soát thứ tự dữ liệu đến cũng như không thể lưu trữ toàn bộ luồng cục bộ Vấn đề về tốc độ đến và kích thước dữ liệu là những thách thức lớn trong khai thác luồng dữ liệu.
Luồng văn bản là chuỗi văn bản được sắp xếp nhanh chóng và liên tục theo thời gian, chủ yếu bao gồm tin tức và truyền thông xã hội Quy trình xử lý luồng văn bản thường trải qua ba bước chính: thu thập dữ liệu, tiền xử lý dữ liệu và xử lý dữ liệu Trong chuyên đề này, các bài báo được gửi đến liên tục theo thứ tự nhãn thời gian được coi là một luồng văn bản, với mỗi văn bản mang hình thức của một tin tức.
B Ộ THU THẬP DỮ LIỆU
Thu thập thông tin là quá trình thu thập các trang web thông qua các siêu liên kết, bắt đầu từ một nhóm nhỏ và tiếp tục mở rộng Hoạt động này được gọi là khai thác web, được định nghĩa là "trích xuất kiến thức từ web" Khai thác web thực chất là một sự mở rộng của khai phá dữ liệu Các bộ thu thập dữ liệu từ web là những chương trình tự động tìm kiếm thông tin trên Mạng toàn cầu (WWW).
"thu thập" toàn bộ nội dung web mà chúng duyệt qua Chúng cũng được đặt tên là Bots, Robots, Spiders, Wanderers, Worm, User agent
Các bộ thu thập thông tin cần đáp ứng một số điều kiện thiết yếu như độ mạnh, độ sâu (Politeness), phân phối, độ linh hoạt, hiệu quả, chất lượng, độ tươi và khả năng mở rộng Ngoài ra, có nhiều loại trình thu thập dữ liệu web khác nhau, bao gồm bộ thu thập thông tin đầu tiên, bộ thu thập thông tin web Incremental, bộ thu thập dữ liệu web tập trung, bộ thu thập dữ liệu web ẩn, bộ thu thập thông tin web song song và bộ thu thập dữ liệu web phân tán.
Chuyên đề này xây dựng một bộ thu thập thông tin để thu thập nội dung web
Bộ thu thập thông tin này tự động thu thập các bài viết hàng ngày từ các trang báo điện tử, giúp chuẩn bị dữ liệu nguồn cho hệ thống một cách hiệu quả.
K HAI PHÁ LUỒNG VĂN BẢN
Tiền xử lý
Tiền xử lý đóng vai trò quan trọng trong nhiều thuật toán khai phá văn bản, bao gồm các bước như tokenization, filtering, lemmatization và stemming.
Bước tiền xử lý trong hệ thống này sử dụng một thuật toán tên là VnTokenizer
[13] với phương pháp lai cho kỹ thuật mã hóa để tách từ
Bộ thu thập dữ liệu từ web
Tiền xử lý dữ liệu
Nhận diện chủ đề Định hướng cảm xúc từ Rút trích thông tin
Phân tích mạng xã hội Tóm tắt
Các kết quả xử lý luồng văn bản
2.3.1.1 Tách từ và tách từ tiếng Việt Như một số ngôn ngữ khác, tiếng Việt được viết bằng một hệ thống chữ viết Latin Thông thường, các tập chữ viết thường tách biệt các từ bằng khoảng trắng Vì vậy, bộ tách từ chỉ cần tách riêng các từ dựa vào các khoảng trắng và loại bỏ các dấu câu, dấu ngoặc đơn và dấu ngoặc kép ở đầu và cuối mỗi từ Tuy nhiên, không giống như các ngôn ngữ khác, với tiếng Việt, từ được tạo thành từ 1 hay nhiều tiếng Các tiếng được phân cách bởi khoảng trắng Ví dụ từ “học sinh” được tạo thành từ hai tiếng “học” và “sinh” Cho nên, trong trường hợp này, khoảng trắng không chỉ được sử dụng để phân tách từ, mà chúng còn được sử dụng để tách các tiếng tạo thành từ Nên để tách được từ “học_sinh” trong ngữ cảnh văn bản đòi hỏi kỹ thuật phức tạp hơn là chỉ dựa vào khoảng trắng Nói chung, tiếng Việt tạo nên những từ có ý nghĩa khác nhau bằng cách kết hợp các tiếng, trong khi mỗi tiếng thường có một ý nghĩa riêng Điều đó làm cho việc tách từ trở nên khó khăn và phức tạp hơn rất nhiều Có nhiều phương pháp tách từ Những phương pháp này có thể được phân loại như là phương pháp dựa trên từ điển hoặc thống kê, phương pháp lai [6] được sử dụng bởi VnTokenizer [13], một kỹ thuật tách từ chính xác cao dùng cho tiếng Việt cũng là kỹ thuật được áp dụng để xử lý tách từ trong nghiên cứu này
2.3.1.2 Loại bỏ stop word Trong tính toán, từ dừng (stop words) là những từ bị loại bỏ trước hoặc sau khi xử lý dữ liệu ngôn ngữ tự nhiên (văn bản) [14] "Từ dừng" thường là những từ phổ biến nhất trong một ngôn ngữ Tuy nhiên, không có danh sách chung duy nhất chứa các từ dừng được sử dụng chung cho tất cả các công cụ xử lý ngôn ngữ tự nhiên, cũng như không phải tất cả các công cụ đều sử dụng cùng một danh sách Một số công cụ thậm chí tránh loại bỏ các từ này khi cần hỗ trợ tìm kiếm cụm từ
Các từ dừng có thể được chọn tùy theo mục đích sử dụng, thường là những từ ngắn phổ biến như "thì", "là", "ở" Việc loại bỏ những từ này có thể dẫn đến sai sót trong việc tìm kiếm các cụm từ có chứa chúng, đặc biệt là trong các tên riêng Một số công cụ tìm kiếm khác cũng có thể loại bỏ các từ phổ biến như "muốn" từ câu truy vấn để cải thiện hiệu suất tìm kiếm.
Chuyên đề này sử dụng danh sách từ dừng gồm hơn 2000 từ, được tạo ra từ thuật toán TF-IDF trên hơn 2 triệu bài báo trực tuyến Danh sách này hiện được tải từ trang web chuyên về Xử lý ngôn ngữ tự nhiên bằng tiếng Việt và sẽ được cập nhật liên tục trong tương lai dựa trên dữ liệu thu thập hàng ngày khi lượng dữ liệu đủ lớn.
Rút trích từ khóa
Rút trích từ khóa (KE) là quá trình tự động xác định các thuật ngữ mô tả tốt nhất chủ đề của tài liệu Các kỹ thuật khác nhau như cụm từ khóa, phân đoạn chính và chỉ từ khóa được sử dụng để xác định những cụm từ đại diện cho thông tin quan trọng Tất cả các biến thể này đều có chức năng tương tự trong việc mô tả chủ đề của tài liệu Việc trích xuất một bộ thuật ngữ từ một tài liệu đơn lẻ là một vấn đề quan trọng trong Khai thác văn bản (TM), Thu thập thông tin (IR) và Xử lý ngôn ngữ tự nhiên (NLP).
Với tính năng trích xuất từ khóa tự động, các phương pháp thống kê đơn giản không cần dữ liệu huấn luyện trước và độc lập với ngôn ngữ cũng như miền Các thống kê từ tài liệu như n-gram, tần suất từ, mô hình TF-IDF, và từ xuất hiện cùng nhau có thể được sử dụng để xác định từ khóa quan trọng Chuyên đề này chọn mô hình TF-IDF cho hệ thống phát triển, nhưng có khả năng nâng cấp bằng các phương pháp phức tạp hơn như tiếp cận dựa trên đồ thị trong tương lai.
T ẦN SỐ TỪ VÀ TẦN SỐ TÀI LIỆU NGHỊCH ĐẢO (TF-IDF)
Tần số từ - Tần số tài liệu nghịch đảo (tf-idf) là một chỉ số quan trọng trong thu thập thông tin và khai phá văn bản, giúp xác định tầm quan trọng của thuật ngữ Theo nghiên cứu, khoảng 83% hệ thống khuyến nghị dựa trên văn bản áp dụng tf-idf để tối ưu hóa quy trình thu thập thông tin Mặc dù có nhiều phiên bản cập nhật, hệ thống này thường sử dụng phiên bản đơn giản nhất để dễ dàng hiểu cách hoạt động Trọng số tf-idf được tính bằng tỉ số giữa Tần số từ (tf) và Tần số tài liệu nghịch đảo (idf) Tần số từ (tf) phản ánh số lần xuất hiện của một từ trong tài liệu, và khả năng xuất hiện của từ đó sẽ cao hơn trong các tài liệu dài hơn.
Tần số tài liệu nghịch đảo (idf) đo lường tầm quan trọng của một từ trong văn bản Theo công thức tf, mọi từ đều có khả năng xuất hiện như nhau trong tài liệu Tuy nhiên, trong ngôn ngữ tự nhiên, một số từ phổ biến không mang lại ý nghĩa thực sự.
Triệu đồng là một đơn vị tiền tệ của Việt Nam, thường xuất hiện trong các bài báo thống kê học phí hoặc chi phí sản xuất thủy sản Tuy nhiên, triệu đồng không phải là chủ đề chính trong các bài viết này, do đó cần giảm bớt sự lặp lại của từ này để đảm bảo nội dung trở nên mạch lạc và hấp dẫn hơn.
Sau khi xác định hai yếu tố quan trọng, chúng ta có thể tính toán mức độ quan trọng của từ, hay còn gọi là trọng số tf-idf, bằng cách áp dụng công thức phù hợp.
Ví dụ dưới đây minh họa cách thức hoạt động của công thức đã nêu Bảng 1 trình bày tần suất xuất hiện của các từ trong tài liệu 1 liên quan đến phí đại học và tài liệu 2 liên quan đến chi phí sản xuất sản phẩm thủy sản Số lần mỗi từ xuất hiện trong từng tài liệu được tính toán cụ thể.
Bảng 1 Số lần xuất hiện của từ trong tài liệu
The article discusses various aspects of education costs and seafood production It highlights that the tuition fee for students is set at 1 million dong, while another program costs 3 million dong Additionally, it addresses the overall costs associated with seafood production and the importance of expressing these financial aspects clearly.
Bảng 2 trình bày kết quả xác định tầm quan trọng của các từ thông qua việc tính toán trọng số IF-IDF bằng thuật toán TF-IDF.
Bảng 2 Tính toán tầm quan trọng của từ
Từ Tài liệu TF IDF Trọng số TF-
IDF học_phí (fee) 1 1/4 log(2/1) 0.75 chi_phí (cost) 2 2/4 log(2/1) 0.15 triệu_đồng (million) 1 2/4 log(2/2) 0 triệu_đồng (million) 2 3/4 log(2/2) 0 sinh_viên (student) 1 2/4 log(2/1) 0.15 bày_tỏ (express) 1 2/4 log(2/1) 0.15 sản_xuất
2 1/4 log(2/1) 0.75 thuỷ_sản (seafood) 2 2/4 log(2/1) 0.15
Từ bảng 2, có thể nhận thấy rằng các từ khóa quan trọng như “học_phí”, “sinh_viên” và “bày_tỏ” được trích xuất từ tài liệu 1 Bên cạnh đó, “chi_phí” và “sản_xuất” cũng là những từ đáng chú ý trong nội dung này.
“thuỷ_sản” là những từ quan trọng được trích xuất từ tài liệu 2 Ngược lại,
Từ "Triệu_đồng" chỉ xuất hiện trong hai tài liệu và có ý nghĩa hạn chế Trong khi đó, "học_phí" và "sản_xuất" là những từ có độ tin cậy cao nhất, với trọng số lớn nhất đạt 0,75.
Thuật toán TF-IDF đã có nhiều phiên bản cải tiến như TF-IDF-CF, cho kết quả tốt hơn, và một phương pháp cải tiến sử dụng đa tần số từ trong tài liệu Hai cách tiếp cận mới, bao gồm tf.icf và khái niệm trọng số theo dõi dựa trên icf, cũng đã được phát triển F-measure của thuật toán TF-IDF-AP đã cải thiện 12,9% so với thuật toán TF-IDF cổ điển Những đặc tính này có thể được áp dụng để nâng cấp hệ thống trong tương lai Tóm lại, hệ thống được đề xuất trong chuyên đề này sử dụng TF-IDF để trích xuất từ khóa, nhờ vào hiệu quả đã được chứng minh qua nhiều nghiên cứu, ví dụ như nghiên cứu [17].
C Ơ SỞ DỮ LIỆU ĐỒ THỊ
Cơ sở dữ liệu đồ thị là giải pháp tối ưu để xử lý thông tin liên kết phức tạp và bán cấu trúc, nhờ vào khả năng truy vấn và phản ứng nhanh chóng trong mili giây Chúng đặc biệt phù hợp với các lĩnh vực kinh doanh lớn như thư tín, dịch vụ con người, bán lẻ, tài chính, và cộng đồng trực tuyến không chính thức Với những lợi thế nổi bật, nhiều người dùng đã lựa chọn cơ sở dữ liệu đồ thị, dẫn đến sự phát triển của nhiều nền tảng như Dex, Infinite Graph, Infogrid, HyperGraphDB, Trinity, Titan và Neo4j, trong đó Neo4j thường được sử dụng trong các hệ thống đề xuất.
H IỂN THỊ TRỰC QUAN
Có nhiều phương pháp bán tự động hóa trong phân tích mô hình chủ đề thông qua hiển thị trực quan Một số nghiên cứu chỉ ra rằng các mô hình này cần có hệ thống tương tác cho người dùng cuối, trong khi đó, nhiều nhà khoa học xã hội mặc dù có kiến thức chuyên môn sâu nhưng lại thiếu kỹ năng học máy để điều chỉnh các thuật toán mô hình Giao diện trực quan giúp các nhà hoạch định quyết định dễ dàng khám phá và phân tích kết quả mô hình, cho phép các nhà khoa học không chuyên về máy tính tự chạy các thuật toán Tuy nhiên, dữ liệu đầu ra thường quá lớn để xử lý thủ công, khiến cho việc phân tích kết quả trở nên khó khăn hơn khi kích thước dữ liệu tăng lên.
Có hai cách tiếp cận phổ biến để hiển thị trực quan các mô hình chủ đề: hướng chủ đề và hướng thời gian Trong cách trực quan theo chủ đề, mối quan hệ giữa các từ và chủ đề được tập trung, phục vụ cho các nhiệm vụ như tóm tắt tài liệu và truy xuất thông tin Các ví dụ điển hình bao gồm biểu diễn ma trận như Termite và Serendip, cũng như hiển thị tọa độ song song trong chủ đề song song Khung thiết kế cho các hệ thống hiển thị tương tác hướng chủ đề dựa trên cách mà nhà phân tích suy luận về các chủ đề Các giao diện như HierarchicalTopics hỗ trợ việc tóm tắt tài liệu qua nhiều cấp độ Một nghiên cứu mới, CTM, đã sử dụng đồ thị để thể hiện mối tương quan giữa các chủ đề.
Trực quan hóa thời gian độc lập là công cụ hữu ích cho việc phân tích tài liệu hướng thời gian như tin nhắn Twitter và các bài viết nhằm khám phá xu hướng, sự tiến hóa và phát hiện sự kiện từ các chủ đề TIARA sử dụng biểu đồ stack cải tiến để hiển thị các xu hướng chủ đề, trong khi TextFlow được phát triển để theo dõi sự tiến hóa của các chủ đề qua việc xác định cách chúng hợp nhất và chia nhỏ theo thời gian Cuối cùng, hệ thống phân tích hình ảnh LeadLine được thiết kế để phát hiện và khám phá các sự kiện bằng cách xác định các từ phổ biến nhất (chủ đề) xuất hiện trong các thời điểm bùng phát.
Việc sử dụng các giao diện trực quan cho mô hình chủ đề cần xem xét kiểu dữ liệu sử dụng trong mô hình Giao diện TopicPanorama được thiết kế để tích hợp văn bản từ nhiều nguồn khác nhau, như tin bài và tin nhắn Twitter, đồng thời cung cấp biểu đồ mạng để thể hiện mối liên kết giữa các nguồn này.
Hòa theo xu hướng này, hệ thống đề xuất ở đây cũng hỗ trợ hiển thị kết quả trực quan cho người dùng
G IỚI THIỆU NGỮ CẢNH
Hiện nay, Việt Nam có hơn 20 tờ báo trực tuyến với hàng triệu bài viết được đăng tải hàng ngày, thu hút đông đảo độc giả Người đọc cần tìm kiếm thông tin quan trọng một cách nhanh chóng trong lượng dữ liệu khổng lồ này và theo dõi sự tiến triển của các chủ đề nổi bật Để đáp ứng nhu cầu này, các bài viết được tổ chức dưới dạng luồng văn bản, và thách thức đặt ra là thu thập, lưu trữ, trích xuất và trực quan hóa thông tin quan trọng bằng biểu đồ Hệ thống được xây dựng dựa trên các khái niệm và thuật toán như thu thập dữ liệu, tách từ trong văn bản tiếng Việt, loại bỏ từ dừng và sử dụng thuật toán TF-IDF để phát hiện các chủ đề chính Hệ thống này, hiện đang được triển khai tại Việt Nam, có khả năng mở rộng sang các ngôn ngữ khác.
K IẾN TRÚC HỆ THỐNG
Hệ thống bao gồm ba mô-đun chính: Bộ thu thập dữ liệu, Bộ xử lý dữ liệu (với
Bài viết này trình bày hai bước chính trong quy trình: Tiền xử lý và Xử lý, cùng với Bộ hiển thị dữ liệu Hình 2a minh họa mối quan hệ giữa hệ thống và các công trình nghiên cứu khác.
Hình 2a Hệ thống được đề xuất trong bối cảnh các công trình liên quan
Hình 2a tóm tắt các công trình nghiên cứu liên quan đến việc thu thập dữ liệu qua nhiều kỹ thuật như Breadth first crawler, Incremental web crawler, Focused web crawler, Hidden web crawler, Parallel web crawler, và Distributed web crawler Đối với việc tiền xử lý dữ liệu tiếng Việt, có nhiều kỹ thuật hữu ích như VnCoreNLP, NNVLP, PYVI, VnTokenizer, VTools, và RDRPOSTAGGER.
Natural Language Processing (NLP) Information Retrieval (IR)
Social Network Analysis Sentiment Analysis
VnCoreNLP NNVLP PYVI VnTokenizer VTools RDRPOSTAGGER VnTager
Vector Space Model Classification Clustering
Infogrid HyperGraphDB Trinity and Titan Neo4j
BỘ THU THẬP DỮ LIỆU Tiền xử lý
BỘ HIỂN THỊ TRỰC QUAN
VnTager employs various methods for processing and extracting information, including Natural Language Processing (NLP), Information Retrieval (IR), Topic Detection, Word Sense Disambiguation, Information Extraction, Social Network Analysis, Sentiment Analysis, Vector Space Model, Classification, and Clustering To visualize data, techniques such as Dex, Infogrid, HyperGraphDB, Infinite Graph, Trinity, Titan, and Neo4j are utilized In this study, we implement a focused web crawler for data collection, preprocess the data using VnTokenizer, extract keywords as part of Information Extraction, and visualize the data using the Neo4j database.
Hình 2b Kiến trúc hệ thống
Dữ liệu được thu thập bởi bộ thu thập thông tin và chuyển đến bộ xử lý, nơi chúng được tổ chức theo cấu trúc cây Bộ xử lý thực hiện hai nhóm thuật toán chính: nhóm đầu tiên bao gồm các thuật toán xử lý văn bản, như tách từ trong văn bản tiếng Việt, loại bỏ từ dừng và phát hiện chủ đề thông qua phương pháp trích xuất từ khóa, với mỗi chủ đề được đại diện bởi một tập hợp từ khóa.
BỘ HIỂN THỊ TRỰC QUAN
Cửa sổ trượt thời gian
Các thuật toán cửa sổ thời gian
Các thuật toán xử lý văn bản có nhiệm vụ tính toán, lưu trữ và xử lý kết quả Một nhóm thuật toán khác tập trung vào việc làm sạch dữ liệu lỗi thời, loại bỏ các từ dừng và sử dụng cửa sổ trượt thời gian, bao gồm các thuật toán như Wjoin và PWJoin Cuối cùng, bộ hiển thị dữ liệu tương tác cho phép người dùng xem, sắp xếp và lưu trữ kết quả theo yêu cầu thông qua giao diện trực quan.
T HIẾT KẾ HỆ THỐNG
Hệ thống hàng ngày thu thập, xử lý và lưu trữ dữ liệu, trong đó mỗi bài viết được xem là một đối tượng bao gồm Tiêu đề, Tác giả, Mô tả và Nội dung Các bài viết được tổ chức thành một luồng văn bản lớn theo thời gian và được phân nhóm theo ngày và chuyên mục Mỗi ngày có n chuyên mục, và trong mỗi chuyên mục có n bài báo.
Hình 3 Luồng văn bản đến liên tục theo thời gian
Article (Title, Author, Description, Content)
Bài báo (Tựa đề, Tác giả, Mô tả, Nội dung)
Hình 4 Cấu trúc lưu trữ dạng cây
Dữ liệu được lưu trữ trực tuyến và có thể lưu trữ ngoại tuyến nếu cần, được tổ chức theo cấu trúc cây Nút gốc (R) có các nút con Di (i: 1n), trong đó mỗi nút ngày (Day) Di có các nút con Cj (j: 1m) Các nút chuyên mục (Category) Cj chứa các nút con bài báo (Article) Ak (k: 1p), và mỗi bài báo Ak chỉ có một nút con chủ đề (Topic) Tk, đại diện cho tập hợp các từ khóa (Keywords) quan trọng.
Hình 5 Sơ đồ trình tự xử lý của hệ thống
Thu thập dữ liệu từ các trang báo điện tử Thêm dữ liệu vào CSDL đồ thị Tách từ bằng VnTokenizer Loại bỏ các từ dừng
Tính tần suất dùng TF-IDF Lưu kết quả
Mô-đun 1: Thu thập dữ liệu
Mô -đ un 3 : Hi ể n th ị trự c q u an Hiển thị trực quan kết quả truy vấn của người dùng
Hệ thống được đề xuất nhằm phát hiện các chủ đề quan trọng và hiển thị kết quả một cách trực quan thông qua đồ thị Mục tiêu này được làm rõ hơn trong Hình 6 với một ví dụ cụ thể.
Có năm bước xử lý chính trong sơ đồ luồng như Hình 6 mô tả
Bài viết mô tả quy trình xử lý thông tin từ các bài báo điện tử, bắt đầu bằng việc thu thập dữ liệu dưới dạng văn bản Tiếp theo, thuật toán Vntokenizer được áp dụng để tách từ tiếng Việt, với độ chính xác từ 96% đến 98% trong việc nhận dạng từ ghép Sau đó, các từ dừng ít có nghĩa sẽ bị loại bỏ dựa trên thuật toán TF-IDF, giúp cải thiện độ chính xác của quá trình xử lý Cuối cùng, tần số từ được tính toán để trích xuất các từ khóa quan trọng, từ đó xác định các chủ đề chính của mỗi bài viết.
Sau khi xác định các từ khóa hàng đầu cho từng bài viết, chúng được sắp xếp theo thứ tự dựa trên giá trị tần số từ Bảng 3a minh họa quá trình này.
Vào ngày 01 tháng 4 năm 2018, chuyên mục “Tin tức” đã công bố 5 từ khóa hàng đầu từ 2 bài báo, cùng với tần số xuất hiện của các từ này Bảng thống kê này giúp người đọc nắm bắt được nội dung chính và xu hướng thông tin trong lĩnh vực tin tức.
Chỉ số TF_IDF và xếp hạng dựa trên tần suất từ cho thấy từ khóa có tần số cao nhất sẽ đạt chỉ số xếp hạng cao nhất, với bước thay đổi chỉ số là 1 Trong ví dụ này, với danh sách top 5, giá trị trọng số cao nhất được xác định là 5.
Bảng 3a Một ví dụ về tính toán chỉ số xếp hạng của từ
Tổng giá trị chỉ số xếp hạng cho mỗi từ khóa được tính bằng cách cộng dồn tất cả các giá trị chỉ số xếp hạng của từ khóa Sau đó, 5 từ khóa hàng đầu với tổng giá trị chỉ số xếp hạng cao nhất sẽ được chọn ra, phản ánh ý nghĩa quan trọng nhất trong 6 chuyên mục bài viết đã được thu thập.
“Tin tức” bao gồm nhà_thờ, giá, ngói, vé và công_trình Tổng giá trị trọng số tương ứng của chúng là 5, 5, 4, 4; và 4
Bảng 3b Một ví dụ về tính tổng chỉ số xếp hạng của từ trong chuyên mục
Keyword Sum of Weight Keyword Sum of Weight nhà_thờ
Cuối cùng, trong bước năm, hệ thống hỗ trợ người dùng hiển thị kết quả một cách trực quan và lưu trữ những kết quả cần thiết Hơn nữa, người dùng có thể theo dõi sự tiến hóa của chủ đề thông qua các từ khóa quan trọng, như được mô tả trong hình 6.
T HUẬT TOÁN
Phần này mô tả các thuật toán chính của hệ thống, bắt đầu với một thuật toán chung trước khi đi vào chi tiết từng thuật toán cụ thể Các thuật toán được trình bày một cách đơn giản và dễ hiểu, giúp người đọc nắm bắt thông tin một cách hiệu quả.
Thuật toán 1 Thuật toán tổng quát
2: Đọc thông số từ tệp config.txt
3: Thu thập các bài báo (lưu trữ ngoại tuyến nếu cần)
4: Tạo cấu trúc cây dữ liệu
5: Tiền xử lý (tách từ:Vntokenizer) và loại từ dừng (stop words)
6: Tính tần số bằng TF-IDF
7: Cập nhật kết quả tính toán
8: Nhận yêu cầu từ người dùng
9: Hiển thị trực quan kết quả (lưu kết quả nếu cần)
10: Nếu (quá thời gian)= True thì
11: Loại các bộ dữ liệu hết hạn
Thuật toán 2 Thuật toán thu thập dữ liệu (bước 3&4 trong thuật toán 1)
2: Nếu ( Được cho phép) thì
4: Rút trích tiêu đề, tóm tắt, nội dung, URL, tạo cấu trúc dữ liệu
6: Lấy URL tiếp theo trong hàng đợi
9:Kết thúc lặp Ở bước 5 của thuật toán 1, sau khi thu thập dữ liệu, công cụ gọi là Vntokenizer
Trong quá trình tiền xử lý dữ liệu tiếng Việt, bước đầu tiên là tách từ và loại bỏ các từ dừng Hệ thống sau đó được lập trình để thực hiện các bước tiếp theo Các thuật toán 3.1, 3.2 và 3.3 được áp dụng để trích xuất từ khóa từ các bài viết trong cùng một chuyên mục trong khoảng thời gian một ngày Thuật toán 3.4 giúp xác định tập hợp các từ khóa quan trọng cho mỗi chuyên mục trong khoảng thời gian này Tóm lại, các thuật toán con cho bước 6 của thuật toán 1 bao gồm 3.1, 3.2, 3.3 và 3.4.
Input: array docOfWords, string term
2:for each word in docOfWords
3: if(word giống term) then
Input: array listOfDocs, string term
3: if(doc chứa term) then
7: resultMath.log(listOfDocs.length / totalDoc)
Input: array docOfwords, array listOfDocs, string term
1:resultTermFrequency(docOfwords, term)*InverseDocumentFrequency
1: Lấy danh sách n từ khóa hàng đầu của mỗi bài báo
2: Gán thứ hạng cho các từ khóa trong từng danh sách từ 1 đến n theo tần số của mỗi từ khóa
3: Tính chỉ số xếp hạng cho mỗi từ khóa (tổng chỉ số hạng)
4: result Danh sách n từ khóa có chỉ số xếp hạng lớn nhất
4 PHÂN TÍCH KẾT QUẢ THỰC NGHIỆM
Hệ thống được xây dựng bao gồm các mô-đun thu thập thông tin, xử lý và hiển thị, với mô-đun TF-IDF được lập trình bằng Python để so sánh với đầu ra từ hệ thống Java Phần 4.1 mô tả các kỹ thuật và công cụ xây dựng hệ thống, trong khi phần 4.2 trình bày các chức năng của nó Dữ liệu thu thập và kết quả đầu ra được minh họa trong phần 4.3, cấu trúc lưu trữ và truy vấn cơ sở dữ liệu được làm rõ trong phần 4.4, và phần 4.5 phân tích kết quả thử nghiệm.
C ÁC F RAMEWORK DÙNG ĐỂ LẬP TRÌNH
Để phát triển hệ thống, chúng tôi đã sử dụng một số công cụ và thư viện quan trọng, bao gồm Scala phiên bản 2.10.5, Java 8, Spark 1.6.3, Windows Utilities 2.6.x, Maven 3.3, Neo4j 3.2, Apache Tomcat 9.x và IntelliJ.
Hệ thống sử dụng IDEA và Vis.js, kết hợp với VnTokenizer và danh sách từ dừng được tải từ GitHub Danh sách từ dừng này đã được bổ sung thêm một số ký tự không có ý nghĩa xuất hiện trong văn bản Thông tin chi tiết về danh sách từ dừng có thể được tham khảo trong phần phụ lục của chuyên đề.
C ÁC TÍNH NĂNG CHÍNH
Hệ thống bao gồm 6 hàm cơ bản: (1) Hiển thị dòng đời của từ khóa; (2) Lấy N từ khóa chính từ bài viết; (3) Hiển thị dòng thời gian của từ khóa trong chủ đề; (4) Thống kê việc sử dụng từ khóa; (5) Hiển thị n từ khóa hàng đầu trong chuyên mục; và (6) Trực quan hóa các bài báo dưới dạng biểu đồ cây Chi tiết về các tính năng này có thể được xem trong hình 8, với các ảnh minh họa được đánh số tương ứng.
Hình 7 Các tính năng hệ thống
Bài viết này trình bày một số chức năng chính, trong đó Hình 8 minh họa danh sách n từ khóa (với n = 7) Người dùng có khả năng xác định giá trị cho n, và phần trăm đi kèm với mỗi từ khóa thể hiện tỷ lệ giữa tần số xuất hiện của từ khóa đó so với tổng số từ khóa trong bài viết.
Các tính năng của hệ thống
(1) - Hiển thị dòng đời của một từ khóa cụ thể
(2) - Lấy N từ khóa chính của một bài viết
(3) - Hiển thị dòng thời gian của các từ khóa trong một chủ đề
(4) - Thống kê việc sử dụng từ khóa
(5) Hiển thị n từ khóa hàng đầu trong một chuyên mục
(6) Hiển thị trực quan các bài báo ở dạng biểu đồ cây
Hình 8 GUI cho các từ khóa hàng đầu trong một bài viết
Hình 9 minh họa số lượng bài viết sử dụng một từ khóa Có thể thấy từ khóa
“iphone” được sử dụng 12 lần trong chuyên mục công nghệ “CongNghe” vào ngày
28 tháng 9 năm 2017, 1 lần trong chuyên mục thời sự ‘ThoiSu” vào ngày 30 tháng 9 năm 2017 và chuyên mục “PhapLuat” vào ngày 3-4 tháng 10 năm 2017
Hình 9 GUI cho số lượng bài viết có sử dụng từ khóa “iphone”
Chuyên mục "ThoiSu" chứa danh sách 10 từ khóa hàng đầu, bao gồm các thuật ngữ như: phó, bệnh viện, thuốc, rác, ngạch, lao động, bổ nhiệm, tổng cục, và nhiều từ khóa khác.
Hình 10 GUI rút trích từ khóa hàng đầu từ một chuyên mục
Hình 11 minh họa cây biểu đồ các bài báo, cho phép người dùng dễ dàng xem nội dung của từng bài viết.
Hình 11 GUI cho hiển thị các bài báo dạng cây và xem nội dung của bài báo
C ÁC TẬP DỮ LIỆU
Hệ thống tạo ra nhiều bộ dữ liệu, bao gồm tập dữ liệu các bài báo, tập dữ liệu bài báo đã qua tiền xử lý, tập dữ liệu các từ khóa quan trọng hàng đầu của bài viết, và tập dữ liệu các từ khóa hàng đầu của chuyên mục Các bộ dữ liệu này được tổ chức một cách có cấu trúc rõ ràng.
Tập dữ liệu bài báo bao gồm các bài viết được tổ chức theo các thư mục Ngày, Chuyên mục và Bài báo, với mỗi tệp văn bản mang tên tiêu đề bài viết và chứa thông tin như tiêu đề, mô tả và nội dung Sau bước tiền xử lý, tập dữ liệu bài báo vẫn giữ cấu trúc tương tự nhưng đã được cải thiện bằng cách tách từ và loại bỏ các từ dừng, giúp nâng cao chất lượng thông tin.
Dữ liệu từ khóa hàng đầu của bài viết được tổ chức trong các tệp văn bản với bốn trường: ngày (Date), mã bài báo (ArticleID), từ khóa (KeyWord) và tần số (Weight).
Tập dữ liệu từ khóa hàng đầu của chuyên mục tương tự như tập dữ liệu từ khóa hàng đầu của bài báo, được lưu trữ dưới dạng tệp văn bản với 4 trường: ngày (Date), mã chuyên mục (CategoryID), từ khóa (KeyWord) và chỉ số xếp hạng (ImportanceIndex).
L ƯU TRỮ VÀ TRUY VẤN CƠ SỞ DỮ LIỆU ĐỒ THỊ
Hình 12 minh họa cách thức lưu trữ dữ liệu trong cơ sở dữ liệu đồ thị với 5 nút chính: Gốc, Ngày, Chuyên mục, Bài viết và Từ khóa Ví dụ dưới đây sẽ giúp làm rõ hơn về cấu trúc lưu trữ này.
Hình 12 Cấu trúc lưu trữ chung và ví dụ
Bảng 4 trình bày các thuộc tính của các nút và mối quan hệ, trong đó mỗi nút và mối quan hệ đều có các thuộc tính để lưu trữ dữ liệu liên quan.
Bảng 4 Các thuộc tính của nút và mối quan hệ
STT Tên nút/mối quan hệ
4 Article ID; Path; Title Node
K IỂM TRA VÀ ĐÁNH GIÁ HỆ THỐNG
Bộ thu thập dữ liệu
Ba Mô-đun bao gồm bộ thu thập thông tin, bộ xử lý và bộ hiển thị trực quan, được kiểm tra riêng để tính toán thời gian hoạt động của từng mô-đun Hệ thống thu thập khoảng 130 bài báo mỗi ngày từ 6 chuyên mục: công nghệ, giáo dục, khoa học, pháp luật, thế giới và tin tức Bảng 5 chứng minh rằng hệ thống thực hiện việc thu thập bài viết trong khoảng thời gian ngắn.
Bảng 5 Thử nghiệm thời gian thực thi trên bộ thu thập thông tin
Ngày Số bài báo Thời gian xử lý (s)
Thêm dữ liệu vào cơ sở dữ liệu đồ thị
Các kịch bản thử nghiệm nhằm kiểm tra tốc độ xử lý khi thêm dữ liệu vào cơ sở dữ liệu đồ thị đã được thực hiện với khoảng 134 bài báo trong một ngày, gần 900 bài trong một tuần và gần 4000 bài trong một tháng Kết quả từ bảng 6 cho thấy quá trình thêm dữ liệu vào cơ sở dữ liệu đồ thị diễn ra rất nhanh chóng, chỉ mất khoảng một phút.
Bảng 6 Kiểm tra thời gian thực thi của việc thêm dữ liệu vào cơ sở dữ liệu đồ thị
STT Ngày Số bài báo
Số nút Số quan hệ
Bộ xử lý
Tiếp theo sau đây, các kết quả thử nghiệm với bộ xử lý được trình bày ở bảng
7 Bảng này cho thấy rằng bộ xử lý dữ liệu tiêu tốn thời gian nhất Mất khoảng 20 phút, 2 giờ và 8 giờ để xử lý dữ liệu hàng ngày, hàng tuần và hàng tháng
Bảng 7 Kiểm tra thời gian chạy của bộ xử lý
4.5.4 Kiểm tra trên dữ liệu có số lượng và kích thước khác nhau
Nguyên nhân gây ra vấn đề tốn thời gian đã được kiểm tra thông qua thử nghiệm trên dữ liệu bài viết với số lượng và kích thước khác nhau Kết quả của các thử nghiệm này được thể hiện trong bảng 8.
Bảng 8 Thời gian xử lý số lượng bài viết khác nhau với độ dài khác nhau
Kết quả thu được từ Bảng 8 cho thấy số lượng bài viết là nguyên nhân chính gây tốn thời gian Biểu đồ minh họa (hình 13) từ dữ liệu này cũng xác nhận điều đó Dựa trên những phát hiện này, hệ thống có thể được cải thiện về tốc độ xử lý thông qua việc thực hiện các nghiên cứu sâu hơn liên quan.
Chiều dài bài viết và số lượng bài viết có ảnh hưởng đáng kể đến thời gian chạy của bộ xử lý Việc so sánh dữ liệu kết quả từ các phiên bản khác nhau của TF-IDF cho thấy sự khác biệt rõ rệt trong hiệu suất xử lý.
Bài viết này so sánh kết quả đầu ra từ hai thuật toán được phát triển bằng Java và Python, đồng thời đề xuất các phương án sử dụng hiệu quả hơn Dữ liệu nghiên cứu gồm 5294 bài báo thu thập từ 21/3 đến 21/4/2018, phân loại thành 6 chuyên mục từ hai trang điện tử VnExpress và VietnamNet, với kích thước tệp 17MB Sau khi tiền xử lý, một tệp mới 11MB được tạo ra Thí nghiệm tính toán tỷ lệ chính xác cho bốn trường hợp với 10, 20, 30 và 40 từ khóa quan trọng cho kết quả lần lượt là 86,6%, 89,1%, 91% và 91,8% (xem bảng 9).
Bảng 9 Tỷ lệ giống nhau của dữ liệu sinh ra từ 2 thuật toán TF-IDF viết bằng ngôn ngữ lập trình khác nhau
Số bài báo 10 từ khóa đầu tiên 20 từ khóa đầu tiên 30 từ khóa đầu tiên 40 từ khóa đầu tiên
Bảng 10 cho thấy rằng nhiều từ khóa có cùng giá trị trọng số tần số, dẫn đến sự khác biệt trong việc sắp xếp và lọc khi chọn từ khóa hàng đầu Việc nhiều từ khóa có cùng tần số xuất phát từ việc làm tròn các giá trị tần số của chúng Do đó, cần cẩn thận khi làm tròn và thiết lập tiêu chí rõ ràng để chọn các từ khóa có cùng tần số.
Bảng 10 Tần số của từ khóa
Mã bài báo Từ khóa Tần số
You 0.08239160104243368 nhấn 0.08239160104243368 nối 0.08239160104243368 Âm 0.08239160104243368 ví_dụ 0.05295725876740590 nội_dung 0.05000154587608109
Thi 0.07519608378236309 quốc_gia 0.06945752449747143 cụm 0.06940755124852771 ĐT 0.05698959117298020
Trong quá trình thu thập dữ liệu văn bản, một số từ khóa không quan trọng có thể xuất hiện do lỗi phông chữ Để cải thiện chất lượng dữ liệu, hệ thống đã được bổ sung thao tác lọc các ký tự này bằng cách đưa chúng vào danh sách từ dừng Thuật toán đề xuất nhằm phát hiện các từ khóa hàng đầu trong các danh mục chưa được kiểm tra, từ đó đánh giá hiệu suất Dữ liệu đầu ra này có thể được sử dụng làm đầu vào cho các thuật toán khác trong các nghiên cứu tiếp theo để đánh giá hiệu quả.
4.5.6 Đánh giá tính chính xác của thuật toán
4.5.6.1 Một số kỹ thuật đánh giá
Kỹ thuật rút trích từ khóa dựa vào nhiều độ đo để xác định đâu là từ khóa cần tìm Có thể kể đến một số kỹ thuật như:
Dựa vào term weight: Kỹ thuật TF/IDF đã sử dụng
Dựa vào vị trí trong tài liệu
N từ đầu tiên là các thuật ngữ quan trọng được lựa chọn dựa trên lý luận, thường xuất hiện ở phần đầu của tài liệu Điều này là do thông tin quan trọng thường được đặt ở vị trí đầu tiên để thu hút sự chú ý của người đọc.
N từ cuối cùng của tài liệu được lựa chọn dựa trên lý luận rằng các cụm từ khóa quan trọng nhất thường xuất hiện ở phần cuối hoặc phần kết luận.
Trong một đoạn văn, từ khóa thường được xác định dựa trên vị trí của chúng, với các cụm từ khóa quan trọng thường xuất hiện ở phần đầu Điều này giúp tăng khả năng tìm kiếm và tối ưu hóa nội dung theo quy tắc SEO.
Cuối một đoạn văn, việc xác định từ khóa theo vị trí tương đối rất quan trọng, vì các cụm từ khóa thường xuất hiện ở phần cuối Điều này giúp tối ưu hóa nội dung cho công cụ tìm kiếm, nâng cao khả năng hiển thị và tìm thấy thông tin một cách hiệu quả hơn.
Tương tự với tiêu đề: Xác định từ khóa dựa vào tiêu đề, các cụm từ xuất hiện trong tiêu đề thường là từ khóa
Tiêu đề tối đa có vai trò quan trọng trong việc tối ưu hóa SEO, vì các từ khóa thường xuất hiện ở những phần thiết yếu của bài viết như tóm tắt, giới thiệu và kết luận Sự xuất hiện của từ khóa trong những phần này có thể giúp xác định tập từ khóa cần thiết cho nội dung.
Dấu ngoặc: Từ xuất hiện trong dấu ngoặc ít khi là từ khóa
Gộp tần số của chuỗi ngắn vào chuỗi dài là một phương pháp tối ưu hóa SEO hiệu quả Khi một cụm từ ngắn thuộc về một cụm từ dài hơn với tần suất cao hơn, tần số của cụm từ ngắn sẽ được cộng vào cụm từ dài Ví dụ, nếu "máy tính khoa học kỹ thuật" có tần số 6 và "máy tính khoa học" có tần số 4, thì tần số mới sẽ là "máy tính khoa học kỹ thuật" = 10 và "máy tính khoa học" = 0 Ngược lại, nếu cụm từ dài hơn có tần suất thấp hơn, ta sẽ tính điểm trung bình tần số giữa hai cụm từ Trong trường hợp này, nếu "máy tính khoa học kỹ thuật" có tần số 4 và "máy tính khoa học" có tần số 6, tần số trung bình là 5, dẫn đến "máy tính khoa học kỹ thuật" có tần số 5 và "máy tính khoa học" giảm xuống còn 1.
Sự dàn trải của một cụm từ trong tài liệu được xác định bởi khoảng cách giữa lần xuất hiện đầu tiên và lần xuất hiện cuối cùng của nó, tính tương đối với độ dài của tài liệu Giá trị dàn trải cao cho thấy cụm từ đó được nhắc đến cả ở đầu và cuối, chứng tỏ nó được phân bổ rộng rãi trong nội dung.
4.5.6.2 Đánh giá tính chính xác của thuật toán Chúng tôi kiểm thử các tập từ khóa tính toán dựa vào độ đo TF-IDF kết hợp thêm độ đo dựa vào mối liên quan với tiêu đề bài viết
Kết quả đạt được được tính toán tỉ lệ chính xác P theo công thức tương ứng sau đây:
𝑃 =𝑆ố 𝑙ượ𝑛𝑔 𝑡ừ 𝑘ℎó𝑎 đượ𝑐 𝑟ú𝑡 𝑡𝑟í𝑐ℎ đú𝑛𝑔 𝑇ổ𝑛𝑔 𝑠ố 𝑙ượ𝑛𝑔 𝑡ừ 𝑘ℎó𝑎 đượ𝑐 𝑟ú𝑡 𝑡𝑟í𝑐ℎ
So sánh dữ liệu kết quả chạy các phiên bản TF-IDF khác nhau
Bài viết này so sánh kết quả đầu ra từ hai thuật toán viết bằng Java và Python, đồng thời đề xuất các tùy chọn để tối ưu hóa việc sử dụng các kết quả này Dữ liệu được thu thập từ 5294 bài báo trong khoảng thời gian từ 21/3/2018 đến 21/4/2018, được phân loại thành 6 chuyên mục từ hai trang báo điện tử VnExpress và VietnamNet, với kích thước tệp 17MB Sau khi thực hiện tiền xử lý dữ liệu, một tệp mới có dung lượng 11MB được tạo ra Kết quả thử nghiệm cho thấy tỷ lệ chính xác đạt được cho bốn trường hợp với 10, 20, 30 và 40 từ khóa quan trọng lần lượt là 86,6%, 89,1%, 91% và 91,8%.
Bảng 9 Tỷ lệ giống nhau của dữ liệu sinh ra từ 2 thuật toán TF-IDF viết bằng ngôn ngữ lập trình khác nhau
Số bài báo 10 từ khóa đầu tiên 20 từ khóa đầu tiên 30 từ khóa đầu tiên 40 từ khóa đầu tiên
Bảng 10 cho thấy rằng nhiều từ khóa có giá trị trọng số tần số giống nhau, dẫn đến sự khác biệt trong việc sắp xếp và lọc để chọn từ khóa hàng đầu Việc nhiều từ khóa có cùng tần số là do quá trình làm tròn các giá trị tần số Do đó, cần cẩn thận khi làm tròn và thiết lập tiêu chí rõ ràng để lựa chọn các từ khóa này.
Bảng 10 Tần số của từ khóa
Mã bài báo Từ khóa Tần số
You 0.08239160104243368 nhấn 0.08239160104243368 nối 0.08239160104243368 Âm 0.08239160104243368 ví_dụ 0.05295725876740590 nội_dung 0.05000154587608109
Thi 0.07519608378236309 quốc_gia 0.06945752449747143 cụm 0.06940755124852771 ĐT 0.05698959117298020
Trong quá trình thu thập dữ liệu văn bản, một số từ khóa không quan trọng có thể phát sinh từ lỗi phông chữ Để cải thiện chất lượng dữ liệu, hệ thống đã bổ sung thao tác lọc các ký tự này bằng cách đưa chúng vào danh sách từ dừng Thuật toán được đề xuất nhằm phát hiện các từ khóa hàng đầu trong các danh mục chưa được kiểm tra, từ đó đánh giá hiệu suất Dữ liệu đầu ra này có thể được sử dụng làm đầu vào cho các thuật toán khác trong các nghiên cứu tiếp theo để đánh giá hiệu quả.
Đánh giá tính chính xác của thuật toán
4.5.6.1 Một số kỹ thuật đánh giá
Kỹ thuật rút trích từ khóa dựa vào nhiều độ đo để xác định đâu là từ khóa cần tìm Có thể kể đến một số kỹ thuật như:
Dựa vào term weight: Kỹ thuật TF/IDF đã sử dụng
Dựa vào vị trí trong tài liệu
N từ đầu tiên là những thuật ngữ quan trọng được chọn dựa trên lý luận, thường xuất hiện ở phần đầu của tài liệu Điều này bởi vì thông tin quan trọng thường được trình bày ở vị trí này, giúp người đọc nhanh chóng nắm bắt nội dung chính.
N từ cuối cùng của tài liệu được lựa chọn dựa trên lý luận rằng các cụm từ khóa quan trọng nhất thường xuất hiện ở phần cuối, đặc biệt là trong phần kết luận.
Trong một đoạn văn, việc xác định từ khóa theo vị trí tương đối là rất quan trọng Các cụm từ khóa quan trọng thường xuất hiện ở phần đầu của đoạn văn, giúp người đọc nhanh chóng nhận diện nội dung chính Do đó, việc đặt từ khóa ở đầu đoạn không chỉ hỗ trợ SEO mà còn tăng cường khả năng tiếp cận thông tin của người dùng.
Cuối mỗi đoạn văn, việc xác định từ khóa theo vị trí tương đối là rất quan trọng Các cụm từ khóa này thường xuất hiện ở phần cuối, giúp tăng khả năng tìm thấy thông tin Do đó, việc chú trọng vào các từ khóa quan trọng ở cuối đoạn sẽ cải thiện hiệu quả SEO cho nội dung.
Tương tự với tiêu đề: Xác định từ khóa dựa vào tiêu đề, các cụm từ xuất hiện trong tiêu đề thường là từ khóa
Tiêu đề tối đa đóng vai trò quan trọng trong việc tối ưu hóa SEO, vì các từ khóa thường xuất hiện ở những phần thiết yếu của bài viết như tóm tắt, giới thiệu và kết luận Việc phân tích sự xuất hiện của từ trong các phần này giúp xác định tập từ khóa hiệu quả.
Dấu ngoặc: Từ xuất hiện trong dấu ngoặc ít khi là từ khóa
Gộp tần số giữa các cụm từ ngắn và dài là một phương pháp tối ưu hóa SEO Khi một cụm từ ngắn hơn thuộc về một cụm từ dài hơn với tần suất cao hơn, tần số của cụm từ ngắn sẽ được chuyển sang cụm từ dài Ví dụ, nếu "máy tính khoa học kỹ thuật" có tần số 6 và "máy tính khoa học" có tần số 4, thì tần số mới sẽ là 10 cho cụm từ dài và 0 cho cụm từ ngắn Ngược lại, nếu cụm từ ngắn có tần suất cao hơn, ta tính điểm trung bình tần số giữa hai cụm từ để điều chỉnh tần số của chúng Ví dụ, với "máy tính khoa học kỹ thuật" có tần số 4 và "máy tính khoa học" có tần số 6, tần số trung bình là 5, dẫn đến việc điều chỉnh tần số của "máy tính khoa học kỹ thuật" xuống 5 và "máy tính khoa học" xuống 1.
Sự dàn trải của một cụm từ trong tài liệu được xác định bởi khoảng cách giữa lần xuất hiện đầu tiên và lần xuất hiện cuối cùng của nó, tính theo độ dài tài liệu Giá trị dàn trải cao cho thấy cụm từ được đề cập ở cả đầu và cuối tài liệu, cho thấy sự phân bố đồng đều trong nội dung.
4.5.6.2 Đánh giá tính chính xác của thuật toán Chúng tôi kiểm thử các tập từ khóa tính toán dựa vào độ đo TF-IDF kết hợp thêm độ đo dựa vào mối liên quan với tiêu đề bài viết
Kết quả đạt được được tính toán tỉ lệ chính xác P theo công thức tương ứng sau đây:
𝑃 =𝑆ố 𝑙ượ𝑛𝑔 𝑡ừ 𝑘ℎó𝑎 đượ𝑐 𝑟ú𝑡 𝑡𝑟í𝑐ℎ đú𝑛𝑔 𝑇ổ𝑛𝑔 𝑠ố 𝑙ượ𝑛𝑔 𝑡ừ 𝑘ℎó𝑎 đượ𝑐 𝑟ú𝑡 𝑡𝑟í𝑐ℎ
Chúng tôi đã thực hiện việc lấy ngẫu nhiên 5, 10, 20, 30 từ khóa từ khoảng 20 bài báo, sử dụng thuật toán TF-IDF để xác định tính chính xác của từ khóa liên quan đến tiêu đề bài viết Việc đánh giá này được thực hiện bởi nhóm tác giả, dựa trên hiểu biết về ngôn ngữ Tiếng Việt Từ khóa được coi là đúng nếu có liên quan đến tiêu đề, trong khi đó, các từ khóa không liên quan sẽ bị đánh giá là không đúng Đặc biệt, các từ khóa về địa danh được xác nhận là chính xác khi được chọn.
Kết quả thử nghiệm về độ chính xác xét theo sự liên quan của các từ khóa với tiêu đề bài viết được trình bày trong bảng 11 phía sau
Bảng 11 Kết quả kiểm tra độ chính xác Độ chính xác
5 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
Phiên bản đầu tiên của hệ thống đã được cài đặt thành công và chứng minh hoạt động đúng đắn qua quá trình thử nghiệm Hệ thống này đáp ứng đầy đủ kỳ vọng ban đầu, tạo nền tảng quan trọng cho nghiên cứu sâu hơn Dữ liệu thu thập từ các trang báo trực tuyến mở ra nhiều ứng dụng, bao gồm tóm tắt tự động tin tức, tổng hợp tin tức, phát hiện sự kiện và chủ đề nóng.
Để đáp ứng tốt hơn nhu cầu của người dùng, hệ thống cần tích hợp các tính năng xử lý nâng cao, không chỉ dừng lại ở hoạt động đúng đắn Đây là cơ hội cho các nghiên cứu sâu hơn và triển khai hệ thống thương mại hiệu suất cao trong tương lai, áp dụng kỹ thuật xử lý dữ liệu nhanh để xác định các chủ đề quan trọng và tối ưu hóa lưu trữ dữ liệu không cần thiết, tiết kiệm thời gian Việc nghiên cứu và áp dụng thêm kỹ thuật khai thác văn bản để bổ sung chức năng hữu ích vào hệ thống đề xuất là rất cần thiết Giải pháp này mang tính thương mại mới ở Việt Nam, có khả năng xử lý Tiếng Việt và chuyển đổi ngôn ngữ đơn giản.
1 Golab, L and M.T ệzsu, Data stream management issues–a survey 2003,
Technical Report, Apr 2003 db uwaterloo ca/~ ddbms/publications/stream/streamsurvey pdf
2 Liu, B and K Chen-Chuan-Chang, Special issue on web content mining Acm
3 Verma, J.P., B Patel, and A Patel, Web Mining: Opinion and Feedback
Analysis for Educational Institutions International Journal of Computer
4 Cho, J and H Garcia-Molina, The evolution of the web and implications for an incremental crawler 1999, Stanford
5 Bhatt, D., D.A Vyas, and S Pandya, Focused Web Crawler algorithms, 2015
6 Khurana, K and M Chandak, Survey of Techniques for Deep Web Source
Selection and Surfacing the Hidden Web Content INTERNATIONAL
JOURNAL OF ADVANCED COMPUTER SCIENCE AND
7 Singhal, V and V Kaushik, Design of Parallel Crawler using Multi-
Threading Model International Journal of Engineering Science, 2017 12892
8 YU, J., M LI, and D ZHANG, A Distributed Web Crawler Model based on
9 Friedman, C., et al GENIES: a natural-language processing system for the extraction of molecular pathways from journal articles in ISMB (supplement of bioinformatics) 2001
10 Saracevic, T Modeling interaction in information retrieval (IR): a review and proposal in Proceedings of the ASIS annual meeting 1996 ERIC
11 Hu, X and H Liu, Text analytics in social media Mining text data, 2012: p
12 Erkan, G and D.R Radev, Lexrank: Graph-based lexical centrality as salience in text summarization Journal of Artificial Intelligence Research,
13 Le Hong Phuong, N.T.M., A.R Huyen, and H.T Vinh, A hybrid approach to word segmentation of Vietnamese texts Language and Automata Theory and
14 Leskovec, J., A Rajaraman, and J.D Ullman, Mining of massive datasets
15 Beliga, S., A Meštrović, and S Martinčić-Ipšić, An overview of graph-based keyword extraction methods and approaches Journal of information and organizational sciences, 2015 39(1): p 1-20
16 Nasrabadi, N.M., Pattern recognition and machine learning Journal of electronic imaging, 2007 16(4): p 049901
17 Ramos, J Using tf-idf to determine word relevance in document queries in
Proceedings of the first instructional conference on machine learning 2003
18 Matsuo, Y and M Ishizuka, Keyword extraction from a single document using word co-occurrence statistical information International Journal on Artificial
19 Chien, L.-F PAT-tree-based keyword extraction for Chinese information retrieval in ACM SIGIR Forum 1997 ACM
20 Biswas, S.K., M Bordoloi, and J Shreya, A graph based keyword extraction model using collective node weight Expert Systems with Applications, 2018
21 Beel, J., et al., paper recommender systems: a literature survey International
22 Liu, M and J Yang, An improvement of TFIDF weighting in text categorization International Proceedings of Computer Science and
23 Santhanakumar, M and C.C Columbus, A modified frequency based term weighting approach for information retrieval Int J Chem Sci, 2016 14(1)
24 Wang, D and H Zhang, Inverse-category-frequency based supervised term weighting schemes for text categorization Journal of Information Science and
25 Chen, J., C Chen, and Y Liang, Optimized TF-IDF algorithm with the adaptive weight of position of word Advanc Intelligen Syst Res, 2016 133: p 114-117
26 Rawat, D.S., et al., Graph Database: A Complete GDBMS Survey
27 Hu, Y., et al., Interactive topic modeling Machine learning, 2014 95(3): p
28 Dou, W., et al., Hierarchicaltopics: Visually exploring large text collections using topic hierarchies IEEE Transactions on Visualization and Computer
29 Dou, W and S Liu, Topic-and time-oriented visual text analysis IEEE computer graphics and applications, 2016 36(4): p 8-13
30 Cui, W., et al., How hierarchical topics evolve in large text corpora IEEE transactions on visualization and computer graphics, 2014 20(12): p 2281-
31 Wang, X., et al., TopicPanorama: A full picture of relevant topics IEEE transactions on visualization and computer graphics, 2016 22(12): p 2508-
32 Wei, F., et al Tiara: a visual exploratory text analytic system in Proceedings of the 16th ACM SIGKDD international conference on Knowledge discovery and data mining 2010 ACM
33 Liu, S., et al., Tiara: Interactive, topic-based visual text summarization and analysis ACM Transactions on Intelligent Systems and Technology (TIST),
34 Cui, W., et al., Textflow: Towards better understanding of evolving topics in text IEEE transactions on visualization and computer graphics, 2011 17(12): p 2412-2421
35 Liu, S., et al., Exploring topical lead-lag across corpora IEEE Transactions on Knowledge and Data Engineering, 2015 27(1): p 115-129
36 Dou, W., et al Leadline: Interactive visual analysis of text data through event identification and exploration in Visual Analytics Science and Technology (VAST), 2012 IEEE Conference on 2012 IEEE
37 Liu, S., et al., Online visual analytics of text streams IEEE transactions on visualization and computer graphics, 2016 22(11): p 2451-2466
38 Grimmer, J., A Bayesian Hierarchical Topic Model for Political Texts:
39 Paul, M.J and M Dredze, Discovering health topics in social media using topic models PloS one, 2014 9(8): p e103408
40 Barberá, P., et al Leaders or followers? Measuring political responsiveness in the US Congress using social media data in Annual Meeting of the American Political Science Association 2014
41 Roberts, M.E., B.M Stewart, and D Tingley, STM: R package for structural topic models, 2014 URL http://www structuraltopicmodel com R package version, 2016 1(8)
42 Mallet, M.A., a machine learning for language toolkit 2002 2010
Bài báo khoa học thứ 01 của tác giả được đăng trong kỷ yếu Hội nghị quốc tế ICMLSC 2018, nhà xuất bản ACM, thuộc danh mục Scopus (ISBN: 978-1-4503- 6336-5)
Bài báo khoa học thứ 02 của tác giả được đăng trong sách Intelligent Computing & Optimization, nhà xuất bản Springer, thuộc danh mục Scopus