Word Embedding – Vector hóa văn bản

Word Embedding là một bước quan trọng trong bất kỳ một bài toán nào của NLP. Trong bài này, trituenhantao.io sẽ đưa ra lần lượt theo sự phát triển và cải tiến của các thuật toán Word Embedding phổ biến hiện nay.

Đầu tiên, ta hãy đi qua lý do cơ bản ta cần phải Vector hóa văn bản (Word Embedding). Thông thường, máy tính không thể hiểu được ý nghĩa các từ. Như vậy, để xử lý được ngôn ngữ tự nhiên, ta cần có một phương pháp để biểu diễn văn bản dưới dạng mà máy tính có thể hiểu được. Phương pháp tiêu chuẩn để biểu diễn văn bản đó là biểu diễn các văn bản theo vector. Trong đó, các từ/cụm từ thuộc kho tài liệu ngôn ngữ được ánh xạ thành những vector trên hệ không gian số thực.

Ta có thể chia các phương pháp Vector hóa văn bản thành hai nhóm chính: Phương pháp Word Embedding cổ điển và Neural Embedding (Vector hóa văn bản theo phương pháp mạng nơ-ron).

Phương pháp Word Embedding cổ điển

Bag of Words (BoW)

Đây là cách biểu diễn vector truyền thống phổ biến nhất được sử dụng. Mỗi từ hoặc n-gram từ sẽ được mô tả là một vector có số chiều bằng đúng số từ trong bộ từ vựng. Tại vị trí tương ứng với vị trí của từ đó trong túi từ, phần tử trong vector đó sẽ được đánh dấu là 1. Những vị trí còn lại sẽ được đánh dấu là 0.

Ví dụ biểu diễn One-hot BOW của mỗi từ trong văn bản.

Phương pháp BoW thường được sử dụng trong những bài toán phân loại văn bản. Trong đó, tần suất của mỗi từ/ n-gram sẽ được coi là một feature trong văn bản phân loại.

Nhược điểm của phương pháp này là ta không thể xác định được nghĩa thực của mỗi từ và các từ tương quan với chúng.

Trong phương pháp BoW, từ giống nhau sẽ được đánh trọng số như nhau. Phương pháp này không xét đến tần suất xuất hiện của từ hay nhữ cảnh từ. Và trong thực tế, để cần hiểu được nghĩa của mỗi từ, ta cần xác định từ đó trong văn cảnh hơn là xét nghĩa độc lập từ.

TF-IDF

TF- IDF (term frequency–inverse document frequency) – tần suất- tần suất đảo nghịch từ. Đây là một phương pháp thống kê, nhằm phản ánh độ quan trọng của mỗi từ hoặc n-gram đối với văn bản trên toàn bộ tài liệu đầu vào. TF-IDF thể hiện trọng số của mỗi từ theo ngữ cảnh văn bản. TF-IDF sẽ có giá trị tăng tỷ lệ thuận với số lần xuất hiện của từ trong văn bản và số văn bản có chứa từ đó trên toàn bộ tập tài liệu. Phương pháp này giúp cho TF-IDF có tính phân loại cao hơn so với phương pháp trước.

Tuy nhiên, ngay cả khi phương pháp TF-IDF dựa trên BOW thể hiện được trọng số của các từ khác nhau trong văn bản, nhưng phương pháp này vẫn không biểu diễn được nghĩa của từ.

Đây chính là nhược điểm của hai phương pháp này.

Ta có thể trích dẫn câu của nhà ngôn ngữ học J.R. Firth: “The complete meaning of a word is always contextual, and no study of meaning apart from context can be taken seriously.” (tạm dịch: “Muốn hiểu được ý nghĩa thật sự của một từ, bạn phải dựa vào ngữ cảnh của câu nói”)

Distributional Embedding

Là phương pháp mà ta có thể xem xét được tổng quan trong toàn bộ ngữ cảnh. Mỗi từ sẽ được biểu diễn trên các thông tin tương hỗ (Mutual Information) với các từ khác trong tập dữ liệu. Thông tin tương hỗ có thể được biểu diễn dưới dạng tần suất xuất hiện trong ma trận đồng xuất hiện trên toàn bộ tập dữ liệu hoặc xem xét trong giới hạn tập dữ liệu lân cận hoặc xem xét trên giới hạn những từ xung quanh.

Ví dụ ma trận thuật toán Distributional Embedding với mỗi dòng là một văn bản (ngữ cảnh) dựa trên số từ xuất hiện

Phương pháp Distributional Embedding ra đời trước phương pháp Neural Embedding. Nhưng các phương pháp Distributional Embedding giúp ta quan sát được quan trọng của mỗi từ tốt hơn so với Neural Embedding. Bạn có thể tham khảo Goldberg and Levy.

Phương pháp Neural Embedding

Word2Vec

Word2vec là thuật toán theo phương pháp dự đoán (Prediction-based embedding). Mô hình dự đoán học biểu diễn vector từ thông qua những từ ngữ cảnh xung quanh nhằm cải thiện khả năng dự đoán ý nghĩa các từ.

Có hai cách xây dựng mô hình Word2vec để biểu diễn sự phân tán của từ trong không gian vector:

  • Sử dụng ngữ cảnh để dự đoán mục tiêu (CBOW): khi vị trí của các từ ngữ cảnh không ảnh hưởng tới việc dự đoán từ (giả định ban đầu của CBOW). Trong mô hình Skip-gram, mô hình sử dụng từ ngữ hiện tại để dự đoán những từ xung quanh trong ngữ cảnh đó.
  • Sử dụng một từ để dự đoán ngữ cảnh mục tiêu (Continuous skip-gram) xem xét những từ ngữ cảnh xung quanh sẽ được đánh giá tốt hơn so với những từ trong ngữ cảnh nhưng ở vị trí xa hơn. Mặc dù thứ tự từ vẫn không được xem xét, mỗi vector của từ bối cảnh được xem xét và cân nhắc.

Thuật toán CBOW tốn ít thời gian huyến luyện mô hình hơn Skip-gram. Tuy nhiên, Skip-gram có độ chính xác cao hơn và có chứa cả những từ ít xuất hiện.

GloVe

Cả CBOW và Skip-Gram đều là các mô hình dự đoán. Trong đó, các thuật toán chỉ xem xét được ngữ cảnh xung quanh từ mục tiêu nhưng không đề cập được về ngữ cảnh toàn văn bản. Thuật toán GloVe dựa trên tương phản có lợi với cùng dự đoán của ma trận đồng xuất hiện sử dụng trong thuật toán Distributional Embedding, nhưng sử dụng phương pháp Neural Embedding để phân tích ma trận đồng xuất hiện thành những vector có ý nghĩa và tỷ trọng hơn.

Mặc dù thuật toán GloVe nhanh hơn Word2Vec, nhưng cả GloVe và Word2Vec đều không hiển thị để cung cấp kết quả tốt và rõ ràng hơn thay vì cả hai nên được đánh giá cho một tập dữ liệu nhất định.

FastText

FastText, được xây dựng trên Word2Vec bằng cách học các biểu diễn vectơ cho mỗi từ và n-gram được tìm thấy trong mỗi từ. Các giá trị của các biểu diễn sau đó được tính trung bình thành một vectơ ở mỗi bước đào tạo. Trong khi điều này bổ sung rất nhiều tính toán bổ sung cho việc đào tạo, nó cho phép nhúng từ để mã hóa thông tin từ phụ. Các vectơ FastText đã được chứng minh là chính xác hơn các vectơ Word2Vec bằng một số biện pháp khác nhau

Trên đây, tôi đã giới thiệu cho các bạn những thuật toán Word Embedding hiện nay. Với mỗi bài toán khác nhau, ta sẽ nên sử dụng phương pháp khác nhau.

Nguồn: https://towardsdatascience.com