CHƯƠNG 1: TỔNG QUAN BÀI TOÁN PHÂN LOẠI Ý KIẾN NGƯỜI DÙNG
1.6. Trích xuất đặc trưng
Trong các thuật toán, mô hình phân lớp, các điểm dữ liệu phải được biểu diễn bằng các vector, được gọi là feature vector hay vector đặc trưng, có độ dài bằng nhau, và cùng là vector cột hoặc vector hàng. Tuy nhiên, trong các bài toán thực tế, nhìn chung chúng ta chỉ có được dữ liệu thô (raw) chưa qua chỉnh sửa, chọn lọc. Chúng ta cần phải tìm một phép biến đổi để loại ra những dữ liệu nhiễu (noise), và để đưa dữ liệu thô với số chiều khác nhau về cùng một chuẩn (cùng là các vector hoặc ma trận). Dữ liệu chuẩn mới này phải đảm bảo giữ được những thông tin đặc trưng (features) cho dữ liệu thô ban đầu. Không những thế, tùy vào từng bài toán, ta cần thiết kế những phép biến đổi để có những đặc trưng phù hợp [5].
Đối với bài toán xử lý ngôn ngữ tự nhiên, đây là một công việc rất khó vì khi biểu diễn đặc trưng của câu ở dạng vector, chúng ta cần phải biết cả ý nghĩa của câu và ngữ cảnh những mà những câu đó xuất hiện. Về cơ bản để biểu diễn đúng đặc trưng của câu ta cần phân tích được:
- Ý nghĩa của các từ vựng được sử dụng.
- Cấu trúc cú pháp của câu.
- Ngữ cảnh trong đó những câu đó xuất hiện.
1.6.1. TF-IDF
Trong khai phá dữ liệu văn bản (text mining), thuật ngữ TF-IDF (term frequency - inverse document frequency) là một phương thức thống kê được biết đến rộng rãi nhất để xác định độ quan trọng của một từ trong đoạn văn bản trong một tập nhiều đoạn văn bản khác nhau. Nó thường được sử dụng như một trọng số trong việc khai phá dữ liệu văn bản. TF-IDF chuyển đổi dạng biểu diễn văn bản thành dạng không gian vector (VSM), hoặc thành những vector thưa thớt.
- TF (Term Frequency): Tần suất xuất hiện của một từ trong một đoạn văn bản.
Với những đoạn văn bản có độ dài khác nhau, sẽ có những từ xuất hiện nhiều ở những đoạn văn bản dài thay vì những đoạn văn bản ngắn. Vì thế, tần suất này thường được chia cho độ dài của đoạn văn bản như một phương thức chuẩn hóa (normalization). TF được tính bởi công thức:
tf(t) = ( , ) (1.1)
Trong đó t là một từ trong đoạn văn bản; f(t,d) là tần suất xuất hiện của t trong đoạn văn bản d; T là tổng số từ trong đoạn văn bản đó)
- IDF (Inverse Document Frequency): tính toán độ quan trọng của một từ. Khi tính toán TF, mỗi từ đều quan trọng như nhau, nhưng có một số từ trong tiếng Anh như "is", "of", "that"... xuất hiện khá nhiều nhưng lại rất ít quan trọng.
Vì vậy, chúng ta cần một phương thức bù trừ những từ xuất hiện nhiều lần và tăng độ quan trọng của những từ ít xuất hiện những có ý nghĩa đặc biệt cho một số đoạn văn bản hơn bằng cách tính IDF:
idf(t) = log
|{ ∈ ∶ ∈ }| (1.2)
Trong đó N là tổng số đoạn văn bản, tập |{𝑑 ∈ 𝐷 ∶ 𝑡 ∈ 𝑑}| là số văn bản chứa từ t.
Cách tiếp cận của tf-idf sẽ ước lượng được độ quan trọng của một từ đối với một văn bản trong danh sách tập tài liệu văn bản cho trước. Nguyên lí cơ bản của TF-IDF là:
“độ quan trọng của một từ sẽ tăng lên cùng với số lần xuất hiện của nó trong văn bản và sẽ giảm xuống nếu từ đó xuất hiện trong nhiều văn bản khác”. Lí do đơn giản là vì nếu một từ xuất hiện trong nhiều văn bản khác nhau thì có nghĩa là nó là từ rất thông dụng vì thế khả năng nó là từ khóa sẽ giảm xuống (ví dụ như các từ “vì thế”, “tuy nhiên”,
“nhưng”, “và”…). Do đó độ đo sự quan trọng của một từ t trong tài liệu f sẽ được tính bằng: tf * idf, với tf là độ phổ biến của từ t trong tài liệu f và idf là nghịch đảo độ phổ biến của từ t trong các tài liệu còn lại của tập tài liệu. Được tóm tắt trong công thức tổng quát sau:
tf-idf= tf(t) * idf(t) (1.3)
Ví dụ: Có một văn bản gồm 100 từ, trong đó từ “máy tính” xuất hiện 10 lần thì độ phổ biến: tf(“máy tính”) = 10 / 100 = 0,1.
Giả sử có 1000 tài liệu, trong đó có 200 tài liệu chứa từ “máy tính”. Lúc này chúng ta sẽ tính được idf(“máy tính”) = log(1000 / 200) = 0.699. Như vậy chúng ta tính được độ đo tf-idf = tf*idf = 0.1 * 0.699 = 0.0699.
Độ đo này của từ càng cao thì khả năng là từ khóa càng lớn. Hướng tiếp cận độ đo tf-idf này rất thông dụng hiện nay.
1.6.2. Bag-of-Word (mô hình túi từ)
Mô hình Bag-of-Word (BOW) là một biểu diễn đơn giản hóa của văn bản thường được sử dụng trong xử lý ngôn ngữ tự nhiên và tìm kiếm thông tin. Trong mô hình này, một văn bản được biểu diễn như một tập hợp (gọi là “túi”) các từ xuất hiện trong văn bản, không quan tâm đến ngữ pháp và thứ tự xuất hiện của các từ mà chỉ lưu lại tần suất xuất hiện của mỗi từ trong văn bản. BOW thường được sử dụng trong các phương pháp phân loại văn bản khi mà tần suất xuất hiện của từ được sử dụng như là một đặc trưng để huấn luyện một bộ phân lớp.
Mô hình túi từ ngữ học được một bộ từ vựng từ tất cả các văn bản, rồi mô hình các văn bản bằng cách đếm số lần xuất hiện của mỗi từ trong văn bản đó
Hình 1.9: Trích xuất đặc trưng bằng mô hình Bag-of-Word
Trong phương pháp này, mỗi từ được gọi là "gram". Tùy theo số từ liền kề được sử dụng để xây dựng từ điển tính năng mà ta có các tên các nhau như UniGram (chỉ chứa 1 từ), BiGram (chứa không quá 2 từ) và TriGram (chứa không quá 3 từ).
BOW cũng có chung một nhược điểm lớn với một số phương pháp khác là nó không mang thông tin về thứ tự của các từ. Cũng như sự liên kết giữa các câu, các đoạn văn trong văn bản. Các văn bản có chứa các từ giống nhau thì sẽ có chung 1 biểu diễn vector cho dù nghĩa khác nhau
1.6.3. Word2Vec
Mô hình Word2Vec được sử dụng để học biểu diễn vector của các từ được gọi là
"nhúng từ". Word2vec biểu diễn các từ dưới dạng một phân bố quan hệ với các từ còn lại (distributed representation). Mỗi từ được biểu diễn bằng một vector có các phần tử mang giá trị là phân bố quan hệ của từ này đối với các từ khác trong từ điển. Biểu diễn phân phối các từ trong không gian vectơ giúp thuật toán học tập đạt được hiệu suất tốt hơn trong các tác vụ xử lý ngôn ngữ tự nhiên bằng cách nhóm các từ tương tự.
Ví dụ, 1-of-N (one-hot vector) sẽ vector hoá các từ trong từ điển thành một vector có chiều dài N (tổng số lượng các từ trong từ điển). Giả sử từ điển của chúng ta chỉ có 5 từ: King, Queen, Man, Woman, và Child.
Hình 1.10: Biểu diễn từ Queen bằng phương pháp one-hot-vector
Nhược điểm của cách biểu diễn này là ta không thu được nhiều ý nghĩa trong việc so sánh các từ với nhau ngoại trừ so sánh bằng, các từ có ý nghĩa hơn không được nhấn mạnh.
Ngược lại, word2vec mang lại cho ta cả cú pháp và ngữ nghĩa ở một mức độ nào đó để máy tính hiểu.
Hình 1.11: Biểu diễn từ bằng phương pháp word2vec Word2vec có hai biến thể đều là “shallow neural model”:
- CBOW (Túi liên tục của từ): Mô hình này cố gắng dự đoán một từ trên cơ sở của hàng xóm của nó. CBOW có xu hướng tìm xác suất của một từ xảy ra trong một vùng lân cận (ngữ cảnh). Vì vậy, nó tổng quát trên tất cả các ngữ cảnh khác nhau trong đó một từ có thể được sử dụng.
- SkipGram: Mô hình này cố gắng dự đoán những người hàng xóm của một từ. SkipGram có xu hướng tìm hiểu các bối cảnh khác nhau một cách riêng biệt. Vì vậy, SkipGram cần đủ dữ liệu w.r.t. mỗi ngữ cảnh. Do đó SkipGram yêu cầu nhiều dữ liệu hơn để đào tạo. Ngoài ra SkipGram (được cung cấp đủ dữ liệu) chứa nhiều kiến thức hơn về ngữ cảnh.
Hình 1.12: Minh họa 2 mô hình CBOW và Skip-gram