AI 101
Phân Loại Văn Bản Hoạt Động Như Thế Nào?

Phân loại văn bản là quá trình phân tích các chuỗi văn bản và gán cho chúng một nhãn, đưa chúng vào một nhóm dựa trên nội dung của chúng. Phân loại văn bản là nền tảng của hầu hết mọi tác vụ AI hoặc học máy liên quan đến Xử lý Ngôn ngữ Tự nhiên (NLP). Với phân loại văn bản, một chương trình máy tính có thể thực hiện nhiều loại tác vụ khác nhau như nhận diện thư rác, phân tích tình cảm và các chức năng chatbot. Vậy chính xác thì phân loại văn bản hoạt động như thế nào? Các phương pháp khác nhau để thực hiện phân loại văn bản là gì? Chúng ta sẽ khám phá câu trả lời cho những câu hỏi này dưới đây.
Định Nghĩa Phân Loại Văn Bản
Điều quan trọng là dành chút thời gian để đảm bảo rằng chúng ta hiểu phân loại văn bản là gì, nói chung, trước khi đi sâu vào các phương pháp khác nhau để thực hiện nó. Phân loại văn bản là một trong những thuật ngữ được áp dụng cho nhiều tác vụ và thuật toán khác nhau, vì vậy sẽ hữu ích khi đảm bảo rằng chúng ta hiểu khái niệm cơ bản về phân loại văn bản trước khi chuyển sang khám phá các cách khác nhau mà nó có thể được thực hiện. Bất cứ điều gì liên quan đến việc tạo ra các danh mục khác nhau cho văn bản, và sau đó gán nhãn các mẫu văn bản khác nhau theo các danh mục này, đều có thể được coi là phân loại văn bản. Miễn là một hệ thống thực hiện các bước cơ bản này, nó có thể được coi là một bộ phân loại văn bản, bất kể phương pháp chính xác được sử dụng để phân loại văn bản và bất kể bộ phân loại văn bản cuối cùng được áp dụng như thế nào. Phát hiện thư rác email, sắp xếp tài liệu theo chủ đề hoặc tiêu đề, và nhận diện tình cảm của một đánh giá về sản phẩm đều là những ví dụ về phân loại văn bản vì chúng được thực hiện bằng cách lấy văn bản làm đầu vào và xuất ra một nhãn lớp cho đoạn văn bản đó.
Phân Loại Văn Bản Hoạt Động Như Thế Nào?

Photo: Quinn Dombrowski via Flickr, CC BY SA 2.0 , (https://www.flickr.com/photos/quinnanya/4714794045)
Hầu hết các phương pháp phân loại văn bản có thể được xếp vào một trong ba danh mục khác nhau: phương pháp dựa trên quy tắc hoặc phương pháp học máy.
Phương Pháp Phân Loại Dựa Trên Quy Tắc
Các phương pháp phân loại văn bản dựa trên quy tắc hoạt động thông qua việc sử dụng các quy tắc ngôn ngữ được thiết kế rõ ràng. Hệ thống sử dụng các quy tắc do kỹ sư tạo ra để xác định lớp mà một đoạn văn bản nhất định nên thuộc về, tìm kiếm manh mối dưới dạng các yếu tố văn bản có liên quan về ngữ nghĩa. Mỗi quy tắc có một mẫu mà văn bản phải khớp để được xếp vào danh mục tương ứng. Để cụ thể hơn, giả sử bạn muốn thiết kế một bộ phân loại văn bản có khả năng phân biệt các chủ đề trò chuyện phổ biến, như thời tiết, phim ảnh hoặc đồ ăn. Để cho phép bộ phân loại văn bản của bạn nhận diện cuộc thảo luận về thời tiết, bạn có thể bảo nó tìm kiếm các từ liên quan đến thời tiết trong nội dung của các mẫu văn bản mà nó được cung cấp. Bạn sẽ có một danh sách các từ khóa, cụm từ và các mẫu liên quan khác có thể được sử dụng để phân biệt chủ đề. Ví dụ, bạn có thể hướng dẫn bộ phân loại tìm các từ như “gió”, “mưa”, “nắng”, “tuyết” hoặc “mây”. Sau đó, bạn có thể cho bộ phân loại xem xét văn bản đầu vào và đếm số lần những từ này xuất hiện trong nội dung văn bản và nếu chúng xuất hiện thường xuyên hơn các từ liên quan đến phim ảnh, bạn sẽ phân loại văn bản đó thuộc lớp thời tiết. Ưu điểm của hệ thống dựa trên quy tắc là đầu vào và đầu ra của chúng có thể dự đoán được và con người có thể diễn giải được, và chúng có thể được cải thiện thông qua sự can thiệp thủ công của kỹ sư. Tuy nhiên, các phương pháp phân loại dựa trên quy tắc cũng hơi cứng nhắc và chúng thường gặp khó khăn trong việc tổng quát hóa vì chúng chỉ có thể tuân theo các mẫu được định nghĩa trước đã được lập trình. Ví dụ, từ “cloud” có thể đề cập đến hơi ẩm trên bầu trời, hoặc nó có thể đề cập đến một đám mây kỹ thuật số nơi dữ liệu được lưu trữ. Các hệ thống dựa trên quy tắc rất khó xử lý những sắc thái này nếu không có các kỹ sư dành một khoảng thời gian đáng kể để cố gắng dự đoán và điều chỉnh thủ công cho những điểm tinh tế này.
Hệ Thống Học Máy
Như đã đề cập ở trên, hệ thống dựa trên quy tắc có những hạn chế, vì chức năng và quy tắc của chúng phải được lập trình sẵn. Ngược lại, hệ thống phân loại dựa trên học máy hoạt động bằng cách áp dụng các thuật toán phân tích tập dữ liệu để tìm các mẫu liên quan đến một lớp cụ thể. Các thuật toán học máy được cung cấp các trường hợp đã được gán nhãn/được phân loại trước để phân tích các đặc trưng liên quan. Những trường hợp được gán nhãn trước này là dữ liệu huấn luyện. Bộ phân loại học máy phân tích dữ liệu huấn luyện và học các mẫu liên quan đến các lớp khác nhau. Sau đó, các trường hợp chưa thấy bị loại bỏ nhãn và được đưa vào thuật toán phân loại, thuật toán này sẽ gán nhãn cho các trường hợp. Các nhãn được gán sau đó được so sánh với nhãn gốc để xem bộ phân loại học máy chính xác đến mức nào, đánh giá mô hình học tốt như thế nào về việc mẫu nào dự đoán lớp nào. Các thuật toán học máy hoạt động bằng cách phân tích dữ liệu số. Điều này có nghĩa là để sử dụng thuật toán học máy trên dữ liệu văn bản, văn bản cần được chuyển đổi sang định dạng số. Có nhiều phương pháp mã hóa dữ liệu văn bản thành dữ liệu số và tạo ra các phương pháp học máy xung quanh dữ liệu này. Chúng ta sẽ đề cập đến một số cách khác nhau để biểu diễn dữ liệu văn bản dưới đây.
Bag-of-Words
Bag-of-words là một trong những phương pháp được sử dụng phổ biến nhất để mã hóa và biểu diễn dữ liệu văn bản. Thuật ngữ “bag-of-words” xuất phát từ thực tế là bạn về cơ bản lấy tất cả các từ trong tài liệu và đặt chúng vào một “túi” mà không chú ý đến thứ tự từ hoặc ngữ pháp, chỉ chú ý đến tần suất của các từ trong túi. Điều này dẫn đến một mảng dài, hoặc vectơ, chứa một biểu diễn duy nhất của tất cả các từ trong tài liệu đầu vào. Vì vậy, nếu có tổng cộng 10000 từ duy nhất trong tài liệu đầu vào, các vectơ đặc trưng sẽ dài 10000 từ. Đây là cách kích thước của túi từ/vectơ đặc trưng được tính toán.

Photo: gk_ via Machinelearning.co, (https://machinelearnings.co/text-classification-using-neural-networks-f5cd7b8765c6)
Sau khi kích thước vectơ đặc trưng đã được xác định, mỗi tài liệu trong danh sách tổng các tài liệu được gán một vectơ riêng chứa đầy các số cho biết số lần từ đang xét xuất hiện trong tài liệu hiện tại. Điều này có nghĩa là nếu từ “food” xuất hiện tám lần trong một tài liệu văn bản, thì vectơ đặc trưng/mảng đặc trưng tương ứng sẽ có số tám ở vị trí tương ứng. Nói cách khác, tất cả các từ duy nhất xuất hiện trong tài liệu đầu vào đều được chất vào một túi và sau đó mỗi tài liệu nhận được một vectơ từ có cùng kích thước, sau đó được điền vào bằng số lần các từ khác nhau xuất hiện trong tài liệu. Các tập dữ liệu văn bản thường chứa một số lượng lớn các từ duy nhất, nhưng hầu hết trong số chúng không được sử dụng thường xuyên. Vì lý do này, số lượng từ được sử dụng để tạo vectơ từ thường bị giới hạn ở một giá trị đã chọn (N) và sau đó kích thước vectơ đặc trưng sẽ là Nx1.
Tần Suất Từ – Tần Suất Nghịch Đảo Tài Liệu (TF-IDF)
Một cách khác để biểu diễn một tài liệu dựa trên các từ trong đó được gọi là Tần Suất Từ – Tần Suất Nghịch Đảo Tài Liệu (TF-IDF). Phương pháp TF-IDF cũng tạo ra một vectơ đại diện cho tài liệu dựa trên các từ trong đó, nhưng không giống như Bag-of-words, những từ này được đánh trọng số bằng nhiều hơn chỉ tần suất của chúng. TF-IDF xem xét tầm quan trọng của các từ trong tài liệu, cố gắng định lượng mức độ liên quan của từ đó đến chủ đề của tài liệu. Nói cách khác, TF-IDF phân tích sự liên quan thay vì tần suất và số lượng từ trong một vectơ đặc trưng được thay thế bằng điểm số TF-IDF được tính toán với toàn bộ tập dữ liệu. Phương pháp TF-IDF hoạt động bằng cách đầu tiên tính toán tần suất từ, số lần các từ duy nhất xuất hiện trong một tài liệu cụ thể. Tuy nhiên, TF-IDF cũng chú ý hạn chế ảnh hưởng của các từ cực kỳ phổ biến như “the”, “or” và “and”, vì những “stopwords” này rất phổ biến nhưng truyền tải rất ít thông tin về nội dung của tài liệu. Những từ này cần được giảm giá trị, đó là điều mà phần “tần suất nghịch đảo tài liệu” của TF-IDF đề cập đến. Điều này được thực hiện vì càng nhiều tài liệu mà một từ cụ thể xuất hiện, thì từ đó càng ít hữu ích trong việc phân biệt nó với các tài liệu khác trong danh sách tất cả tài liệu. Công thức mà TF-IDF sử dụng để tính tầm quan trọng của một từ được thiết kế để bảo tồn những từ có tần suất cao nhất và giàu ngữ nghĩa nhất. Các vectơ đặc trưng được tạo bởi phương pháp TF-IDF chứa các giá trị được chuẩn hóa có tổng bằng một, gán cho mỗi từ một giá trị trọng số được tính bằng công thức TF-IDF.
Word Embeddings
Word embeddings là các phương pháp biểu diễn văn bản đảm bảo rằng các từ có ý nghĩa tương tự có biểu diễn số tương tự. Word embeddings hoạt động bằng cách “vector hóa” các từ, có nghĩa là chúng biểu diễn các từ dưới dạng các vectơ giá trị thực trong một không gian vectơ. Các vectơ tồn tại trong một lưới hoặc ma trận, và chúng có hướng và độ dài (hoặc độ lớn). Khi biểu diễn các từ dưới dạng vectơ, các từ được chuyển đổi thành các vectơ bao gồm các giá trị thực. Mỗi từ được ánh xạ tới một vectơ, và các từ có ý nghĩa tương tự có hướng và độ lớn tương tự. Loại mã hóa này giúp thuật toán học máy có thể học các mối quan hệ phức tạp giữa các từ. Các embeddings đại diện cho các từ khác nhau được tạo ra với cách sử dụng của các từ đang xét. Bởi vì các từ được sử dụng theo cách tương tự sẽ có các vectơ tương tự, quá trình tạo word embeddings tự động dịch một phần ý nghĩa mà các từ có. Phương pháp bag of words, ngược lại, tạo ra các biểu diễn cứ










