Nền tảng AI

Làm Thế Nào Để Phân Loại Văn Bản Hoạt Động?

mm
Thêm Unite.AI vào các nguồn ưu tiên của bạn trên Google

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, đặt 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 các nhiệm vụ trí tuệ nhân tạo 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 nhiệm vụ khác nhau như nhận dạng thư rác, phân tích cảm xúc và chức năng trò chuyện. Làm thế nào để phân loại văn bản hoạt động chính xác? Những phương pháp khác nhau của phân loại văn bản là gì? Chúng tôi sẽ khám phá các 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à phải dành thời gian và đảm bảo rằng chúng ta hiểu rõ về phân loại văn bản trước khi tìm hiểu về các phương pháp khác nhau của phân loại văn bả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 nhiệm vụ và thuật toán khác nhau, vì vậy nó rất hữu ích khi hiểu rõ về khái niệm cơ bản của phân loại văn bản trước khi tìm hiểu về các cách thức khác nhau để thực hiện 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 cho các mẫu văn bản khác nhau là các danh mục này có thể được coi là phân loại văn bản. Miễn là hệ thống thực hiện các bước cơ bản này, nó có thể được coi là một phân loại văn bản, bất kể phương pháp cụ thể được sử dụng để phân loại văn bản và bất kể phân loại văn bản được áp dụng như thế nào. Phát hiện thư rác email, tổ chức tài liệu theo chủ đề hoặc tiêu đề và nhận dạng cảm xúc của một đánh giá sản phẩm đều là 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à đầu ra là một nhãn lớp cho mẫu văn bản đó.

Làm Thế Nào Để Phân Loại Văn Bản Hoạt Động?

Ảnh: Quinn Dombrowski qua 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 phân loại 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 dựa trên học máy.

Phương Pháp Phân Loại Dựa Trên Quy Tắ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 được tạo bởi kỹ sư để xác định lớp mà một mẫu văn bản nhất định nên thuộc về, tìm kiếm các gợi ý dưới dạng các yếu tố văn bản có liên quan về mặt ngữ nghĩa. Mỗi quy tắc có một mẫu mà văn bản phải khớp để được đặt vào danh mục tương ứng.

Để cụ thể hơn, hãy nói rằng bạn muốn thiết kế một phân loại văn bản có thể phân biệt các chủ đề thảo luận phổ biến, như thời tiết, phim ảnh hoặc thực phẩm. Để cho phép phân loại văn bản của bạn nhận ra thảo luận về thời tiết, bạn có thể hướng dẫn nó tìm kiếm các từ liên quan đến thời tiết trong văn bản mẫu nó đang được cho. Bạn sẽ có một danh sách các từ khóa, cụm từ và mẫu khác có liên quan có thể được sử dụng để phân biệt chủ đề. Ví dụ, bạn có thể hướng dẫn phân loại văn bản tìm kiếm các từ như “gió”, “mưa”, “mặt trời”, “tuyết” hoặc “đám mây”. Sau đó, bạn có thể hướng dẫn phân loại văn bản kiểm tra văn bản đầu vào và đếm số lần các từ này xuất hiện trong 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 các 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 và giải thích được bởi con người, và chúng có thể được cải thiện thông qua 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 khá giòn và thường gặp khó khăn khi tổng quát hóa vì chúng chỉ có thể tuân theo các mẫu được lập trình trước. Ví dụ, từ “đám mây” có thể đề cập đến độ ẩm trong bầu trời hoặc một đám mây kỹ thuật số nơi dữ liệu được lưu trữ. Đối với các hệ thống dựa trên quy tắc, việc xử lý các sắc thái này mà không cần kỹ sư dành nhiều thời gian để dự đoán và điều chỉnh thủ công là rất khó khăn.

Hệ Thống Học Máy

Như đã đề cập ở trên, các hệ thống dựa trên quy tắc có những hạn chế, vì các chức năng và quy tắc của chúng phải được lập trình trước. Ngược lại, các 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 dữ liệu để tìm kiế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 ví dụ đã được phân loại trước, được gọi là dữ liệu đào tạo.

Hệ thống phân loại học máy phân tích dữ liệu đào tạo để tìm các mẫu liên quan đến các lớp khác nhau. Sau đó, các ví dụ không có nhãn được loại bỏ nhãn và đư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 ví dụ. Các nhãn được gán sau đó được so sánh với các nhãn ban đầu để xác định độ chính xác của phân loại học máy, đo lường mức độ tốt mà mô hình đã học các mẫu dự đoán lớp.

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 một 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 thành đị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 đó. Chúng tôi sẽ đề cập đến một số cách khác nhau để đại diện cho dữ liệu văn bản dưới đây.

Tần Số Từ – Tần Số Nghịch Đảo Tài Liệu (TF-IDF)

Một cách khác để đại diện cho một tài liệu dựa trên các từ trong đó là phương pháp Tần Số Từ – Tần Số Nghịch Đảo Tài Liệu (TF-IDF). Một phương pháp TF-IDF cũng tạo ra một vector đạ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, các từ này được cân bằng bởi hơn chỉ tần số 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 lượng hóa mức độ liên quan của từ đó với 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 số và các số đếm từ trong vector tính năng được thay thế bằng một điểm số TF-IDF được tính toán liên quan đến toàn bộ tập dữ liệu.

Phương pháp TF-IDF hoạt động bằng cách tính toán tần số 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 quan tâm đến việc giới hạn ảnh hưởng của các từ rất phổ biến như “the”, “or”, và “and”, vì những từ này rất phổ biến nhưng lại 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 chiết khấu, điều này được thực hiện bởi phần “tần số nghịch đảo tài liệu” của TF-IDF. Đ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, 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ả các tài liệu. Công thức mà TF-IDF sử dụng để tính toán tầm quan trọng của một từ được thiết kế để bảo tồn các từ thường xuyên nhất và giàu ngữ nghĩa nhất.

Các vector tính năng được tạo bởi phương pháp TF-IDF chứa các giá trị được chuẩn hóa, tổng cộng là một, gán cho mỗi từ một giá trị có trọng số như được tính toán bởi công thức TF-IDF.

Đại Diện Từ

Đại diện từ là các phương pháp đại diện cho văn bản đảm bảo rằng các từ có ý nghĩa tương tự có các đại diện số tương tự.

Đại diện từ hoạt động bằng cách “vector hóa” từ, nghĩa là chúng đại diện cho từ như các vector giá trị thực trong không gian vector. Các vector này tồn tại trong một lưới hoặc ma trận, và chúng có hướng và độ lớn (hoặc độ lớn). Khi đại diện cho từ như vector, từ được chuyển đổi thành vector gồm các giá trị thực. Mỗi từ được ánh xạ đến một vector, và các từ có ý nghĩa tương tự có vector tương tự về hướng và độ lớn. Loại mã hóa này cho phép một thuật toán học máy học các mối quan hệ phức tạp giữa từ.

Các bản nhúng đại diện cho các từ khác nhau được tạo ra với sự quan tâm đến cách các từ được sử dụng. Bởi vì các từ được sử dụng theo cách tương tự sẽ có vector tương tự, quá trình tạo ra các bản nhúng từ tự động dịch một số ý nghĩa mà từ có. Một cách tiếp cận túi từ, ngược lại, tạo ra các đại diện giòn mà các từ khác nhau sẽ có đại diện khác nhau ngay cả khi chúng được sử dụng trong các ngữ cảnh rất tương tự.

Kết quả là, đại diện từ tốt hơn trong việc nắm bắt ngữ cảnh của từ trong một câu.

Có nhiều thuật toán và phương pháp khác nhau được sử dụng để tạo ra đại diện từ. Một số phương pháp đại diện từ phổ biến và đáng tin cậy nhất bao gồm: lớp nhúng, word2vec và GloVe.

Lớp Nhúng

Một cách có thể để sử dụng đại diện từ cùng với một hệ thống học máy / học sâu là sử dụng một lớp nhúng. Các lớp nhúng là các lớp học sâu chuyển đổi từ thành bản nhúng, sau đó được cung cấp cho phần còn lại của hệ thống học sâu. Các bản nhúng từ được học khi mạng được đào tạo cho một nhiệm vụ dựa trên văn bản cụ thể.

Trong một cách tiếp cận đại diện từ, các từ tương tự sẽ có đại diện tương tự và gần nhau hơn so với các từ không tương tự.

Để sử dụng các lớp nhúng, văn bản cần được tiền xử lý trước. Văn bản trong tài liệu phải được mã hóa một lần, và kích thước vector cần được chỉ định trước. Văn bản một lần được chuyển đổi thành vector từ và vector được truyền vào mô hình học máy.

Word2Vec

Word2Vec là một phương pháp đại diện từ phổ biến khác. Word2Vec sử dụng các phương pháp thống kê để chuyển đổi từ thành bản nhúng và nó được tối ưu hóa để sử dụng với các mô hình dựa trên mạng nơ-ron. Word2Vec được phát triển bởi các nhà nghiên cứu của Google (GOOGL ) và nó là một trong những phương pháp nhúng được sử dụng phổ biến nhất, vì nó thường tạo ra các bản nhúng hữu ích và phong phú. Các bản trình bày Word2Vec hữu ích cho việc xác định sự tương đồng ngữ nghĩa và ngữ pháp trong ngôn ngữ. Điều này có nghĩa là các bản trình bày Word2Vec nắm bắt các mối quan hệ giữa các khái niệm tương tự, có thể phân biệt sự tương đồng giữa “Vua” và “Nữ hoàng” là sự giàu có và rằng “Vua” ngụ ý “nam tính” trong khi Nữ hoàng ngụ ý “nữ tính”.

GloVe

GloVe, hay Vector Toàn Cầu cho Đại Diện Từ, xây dựng trên các thuật toán nhúng được sử dụng bởi Word2Vec. Các phương pháp nhúng GloVe kết hợp các khía cạnh của cả Word2Vec và các kỹ thuật phân tích ma trận như Phân tích Nghĩa Latent. Ưu điểm của Word2Vec là nó có thể nắm bắt ngữ cảnh, nhưng như một sự đánh đổi, nó nắm bắt kém các thống kê văn bản toàn cầu. Ngược lại, các bản trình bày vector truyền thống tốt trong việc xác định các thống kê văn bản toàn cầu nhưng chúng không hữu ích trong việc xác định ngữ cảnh của từ và cụm từ. GloVE kết hợp những ưu điểm của cả hai phương pháp, tạo ra ngữ cảnh từ dựa trên thống kê văn bản toàn cầu.

Blogger và lập trình viên với chuyên môn về Machine Learning Deep Learning topics. Daniel hy vọng giúp đỡ người khác sử dụng sức mạnh của AI cho lợi ích xã hội.