5.2. Lựa chọn giải pháp tiếp cận
5.2.1. Tiếp cận theo phương pháp học không giám sát trong học có giám sát
5.2.1.2. Biểu diễn văn bản trong mô hình vector
Sau khi tiền xử lý văn bản, chúng ta tiến hành biểu diễn chúng. Trong chương I đã trình bày một số mô hình biểu diễn văn bản, bao gồm:
mô hình không gian vector Boolean,
mô hình không gian vector tần suất,
mô hình biểu diễn tập mờ.
Trong các cách biểu diễn trên thì mô hình vector Boolean là đơn giản nhất, tuy nhiên việc xử lý bài toán với mô hình này cho ra độ chính xác không cao. Mô hình biểu diễn văn bản dưới dạng tập mờ sẽ cho ra kết quả xử lý chính xác hơn, nhưng việc xây dựng mô hình tập mờ lại cần có sự can thiệp của ng i dùng hoặc cần có ườ các thuật toán cao cấp hơn để xử lý tập thô (Rough set) trên một cơ sở dữ liệu rất lớn. Mô hình biểu diễn văn bản trong mô hình không gian vector tần suất mang lại các lợi điểm như:
Việc tính độ liên quan giữa hai văn bản đơn giản: quy về tính khoảng cách hay độ lệch góc giữa hai vectơ tương ứng của chúng.
Biểu diễn văn bản dưới dạng vectơ thưa làm giảm chi phí lưu trữ và tăng tốc độ tính toán.
Tính phù hợp với hướng tiếp cận bài toán: các term trong văn bản quan tâm nhiều hơn về số lần xuất hiện chứ không phải về vị trí xuất hiện nên ta chỉ cần mã hóa định danh và lưu trữ tần suất của chúng...
Từ các nhận xét như trên, tác giả đã lựa chọn mô hình biểu diễn vector thưa dựa trên mô hình tần suất TF × IDF để biểu diễn văn bản.
5.2.1.2.1. Biểu diễn vector của văn bản
Theo [5.3] mô hình biểu diễn vector dựa trên mô hình tần suất TF × IDF là một phương pháp lưu trữ hiệu quả. Trọng số của term tỷ lệ thuận với số lần xuất hiện của nó trong văn bản truy vấn và tỷ lệ nghịch với số lượng văn bản chứa nó.
Các văn bản sau khi tách term và loại bỏ StopWords sẽ được lưu trữ ở bộ nhớ ngoài dưới dạng vector thưa. Mỗi một văn bản sẽ có cấu trúc như sau:
Docid termID, f(termID) termID, f(termID) …..
Trong đó f(termID) là trọng số của termID đó trong văn bản Docid. Ta chỉ lưu các termID có trọng số khác không. Cách lưu trữ theo dạng vector thưa này đem lại hiệu quả to lớn về chi phí bộ nhớ. Tuy có một hạn chế là ta không thể khôi phục được văn bản gốc từ cách lưu trữ này, nhưng trong mô hình của chúng ta vấn đề khôi phục lại văn bản gốc là không cần thiết, do đó cách lưu trữ này đã được tác giả sử dụng trong mô hình thử nghiệm.
5.2.1.2.2. Vector trọng tâm của một nhóm văn bản
Với mỗi nhóm văn bản, vector trọng tâm mô tả sự tổng hợp nội dung của các văn bản trong nhóm. Cụ thể là làm nổi lên trong không gian vector của nhóm những term có “trọng số” cao nhất, tương ứng với những term quan trọng của nhóm này.
Xét một nhóm văn bản ci, khi đó vector trọng tâm của nhóm Ci được tính theo công thức (5.5):
∑∈
=
ci
i d
i d
C c1
(5.5)
với |ci| là số phần tử thuộc nhóm văn bản ci [9]. Khi xác định phân lớp của văn bản ở bước sau thì các vector trọng tâm này được dùng làm đại diện cho cả nhóm văn bản.
Trong mô hình sử dụng trong hệ thống, vector trọng tâm sẽ không được tính theo công thức trên mà chúng ta sẽ sử dụng các term đặc trưng cho mỗi nhóm là vector trọng tâm nhóm đó. Các term đặc trưng này được xác định sau giải thuật phân nhóm FIHC.
5.2.1.2.3. Xác định độ liên quan giữa hai văn bản, hai nhóm văn bản
Để xác định độ liên quan giữa hai văn bản, hai nhóm văn bản, giữa một văn bản cần phân nhóm và một nhóm văn bản mẫu, ta có các công thức sau:
Phép tính độ liên quan giữa hai văn bản [4, 9]:
Độ tương tự giữa hai vector X = {x1, x2,…, xm} và Y = {y1, y2,…, ym} biểu diễn dưới dạng vector tần suất TF × IDF sẽ được tính theo công thức cosine (5.6) :
∑
∑
∑
=
=
= =
=
= m
1 i m 2
1 i
2 i m
i i i
yi
x .y x Y
X X,Y X.Y
X,Y) cosine( ) 1
sim( (5.6)
Phép tính độ liên quan giữa hai nhóm văn bản [4, 9]:
Giả sử ta có hai nhóm vector c1, c2, khi đó độ liên quan giữa hai nhóm văn bản được tính bằng độ liên quan giữa hai vector trọng tâm C1, C2 theo công thức (5.7) sau:
) , sim(
) ,
sim(c1 c2 = C1 C2 (5.7)