Các mô hình biểu diễn văn bản

Một phần của tài liệu phân loại văn bản tiếng việt sử dụng phương pháp máy hỗ trợ vector (support vector machine – svms) (Trang 20 - 23)

CHƯƠNG 1: TỔNG QUAN LÝ THUYẾT

1.2 Tiền xử lý và biểu diễn văn bản tiếng việt

1.2.4 Các mô hình biểu diễn văn bản

Như ta đã biết, để có thể xử lý được văn bản ta phải chuyển chúng về dạng dữ liệu có cấu trúc. Để có thể thực hiện được công việc này, người ta đưa ra các mô hình biểu diễn văn bản. Mô hình biểu diễn văn bản có ảnh hưởng rất nhiều đến hiệu quả và hiệu suất xử lý các văn bản. Tuỳ mục đích, yêu cầu đặt ra của ứng dụng mà ta sẽ lựa chọn mô hình biểu diễn và phương pháp xử lý phù hợp. Dưới đây là một số mô hình dùng để biểu diễn văn bản:

Sinh viên thực hiện: Hoàng Thị Nhung – Lớp HTTTA-K11 Trang 9/67

1.2.4.1 Mô hình không gian vector (Vector Space Model)

Theo mô hình này [5][24], mỗi văn bản sẽ được biểu diễn thành một vector mà mỗi thành phần của vector biểu diễn một giá trị thuật ngữ riêng biệt trong tập văn bản gốc (mỗi thành phần vector được gán một giá trị của hàm f của từng thuật ngữ trong văn bản). Giá trị f này thường là trọng số của từ trong văn bản, được xác định theo nhiều cách biểu diễn khác nhau. Ví dụ dưới đây mô tả việc biểu diễn các vector văn bản trong không gian 2 chiều (chỉ có 2 thuật ngữ):

Thuật ngữ 2

Thuật ngữ 1 Văn bản 1

Văn bản 2

Văn bản 3

Văn bản 4

Hình 1-4: Biểu diễn các vector văn bản trong không gian chỉ có 2 thuật ngữ.

Một số mô hình không gian vector thường được áp dụng trong bài toán xử lý văn bản như: mô hình Boolean, TF, IDF, TFxIDF.

Để biểu diễn tập văn bản theo các mô hình trên, ta giả sử tập gồm m văn bản: D

= {d1, d2,…, dm}. Mỗi văn bản được biểu diễn dưới dạng một vector gồm n thuật ngữ T

= {t1, t2,…, tn}. Gọi W = {wij} là ma trận trọng số, trong đó wij là giá trị của thuật ngữ ti trong văn bản dj.

Khi đó, giá trị trọng số được xác định theo từng mô hình biểu diễn cụ thể như sau:

Mô hình Boolean

Đây là mô hình biểu diễn vector với hàm f cho giá trị rời rạc với duy nhất 1 và 0 (true/false). Hàm f(t) tương ứng với thuật ngữ ti sẽ cho giá trị đúng nếu và chỉ nếu thuật ngữ ti xuất hiện trong văn bản đó.

𝑤𝑖𝑗 = 1 nếu 𝑡𝑖 ∈ 𝑑𝑗 0 nếu 𝑡𝑖 ∉ 𝑑𝑗

Mô hình tần suất (Term Frequency - TF)

Các giá trị wij được tính dựa trên tần số xuất hiện của thuật ngữ trong văn bản.

Gọi fij là số lần xuất hiện của thuật ngữ ti trong văn bản dj, khi đó wij được tính bởi công thức:

wij = fij

wij =1+ log(fij), với log(X) – là hàm logarit cơ số 10 đối số X.

Sinh viên thực hiện: Hoàng Thị Nhung – Lớp HTTTA-K11 Trang 10/67

wij = fij .

Trong phương pháp này, trọng số wij tỷ lệ với số lần xuất hiện của thuật ngữ ti

trong văn bản dj. Khi số lần xuất hiện thuật ngữ ti trong văn bản dj càng lớn thì điều này có nghĩa là văn bản dj càng phụ thuộc vào thuật ngữ ti, hay nói cách khác ti mang nhiều thông tin trong văn bản dj.

Mô hình nghịch đảo tần số văn bản (Inverse Document Frequency - IDF)

Trọng số wij được xác định theo phương pháp này sẽ dựa trên độ quan trọng của thuật ngữ ti trong văn bản dj. Nếu ti xuất hiện trong càng ít văn bản, có nghĩa là nếu nó xuất hiện trong văn bản dj thì trọng số của nó đối với văn bản dj càng lớn hay hàm lượng thông tin trong nó càng lớn.

𝑤𝑖𝑗 = 𝑙𝑜𝑔𝑚

𝑕𝑖 = 𝑙𝑜𝑔 𝑚 − 𝑙𝑜𝑔 𝑚 nếu 𝑡𝑖 ∈ 𝑑𝑗 0 nếu 𝑡𝑖 ∉ 𝑑𝑗 trong đó:

- m là tổng số văn bản;

- hi là số văn bản có chứa thuật ngữ ti.

Mô hình kết hợp TFxIDF

Phương pháp này là sự kết hợp hai phương pháp TF và IDF, do đó nó có những ưu điểm của cả hai phương pháp này. Giá trị thành phần ma trận trọng số được tính như sau:

𝑤𝑖𝑗 = (1 − 𝑙𝑜𝑔 𝑓𝑖𝑗 )𝑙𝑜𝑔𝑚

𝑕𝑖 nếu 𝑡𝑖 ∈ 𝑑𝑗 0 nếu 𝑡𝑖 ∉ 𝑑𝑗

Trọng số wij được tính bằng tần số xuất hiện của thuật ngữ ti trong văn bản dj và độ hiếm của thuật ngữ ti trên toàn bộ cơ sở dữ liệu.

1.2.4.2 Áp dụng phương pháp vector thưa trong biểu diễn văn bản

Khi biểu diễn văn bản theo mô hình vector chuẩn, việc xử lý các phép toán trên vector sẽ phụ thuộc vào độ lớn của ma trận Wij, trong đó i = {1,…,n} với n là số thuật ngữ hay số chiều của vector; j = {1,, m} với m là số lượng văn bản trong cơ sở dữ liệu. Trên thực tế, số lượng thuật ngữ và số văn bản trong cơ sở dữ liệu thường rất lớn, có thể lên đến hàng nghìn hoặc hơn nữa. Khi đó số lượng phần tử trong ma trận Wij sẽ lên đến con số hàng triệu và việc lưu trữ ma trận Wij sẽ tốn quá nhiều tài nguyên bộ nhớ đồng thời các phép toán trên các vector sẽ rất phức tạp. Để khắc phục vấn đề này ta sẽ sử dụng kỹ thuật xử lý trên vector thưa thay vì việc lưu trữ và xử lý trên các vector đầy đủ.

Vector thưa là dạng vector chỉ lưu trữ những thành phần từ khoá có số lần xuất hiện trong một văn bản là lớn hơn 0, nó sẽ không lưu trữ những từ không xuất hiện trong văn bản. Cấu trúc của một phần tử trong vector thưa sẽ phải gồm hai thành phần:

Chỉ số của thuật ngữ, số lần xuất hiện hoặc trọng số của thuật ngữ đó trong văn bản.

Xét ví dụ biểu diễn vector thưa như sau:

Sinh viên thực hiện: Hoàng Thị Nhung – Lớp HTTTA-K11 Trang 11/67

Bảng 1-2: Ví dụ biểu diễn vector thưa.

wij máy tính virus buôn bán thị trường học sinh nhà trường

d0 (CNTT) 2 3 0 0 0 0

d1 (kinh tế) 1 0 7 4 0 0

d2 (giáo dục) 1 0 0 0 3 5

Trong ví dụ trên, các vector chuẩn có dạng:

d0 = (2, 3, 0, 0, 0, 0).

d1 = (1, 0, 7, 4, 0, 0).

d2 = (1, 0, 0, 0, 3, 5).

Đối với vector thưa:

d0 = ((0,2), (1,3)).

d1 = ((0,1), (2,7), (3,4)).

d2 = ((0,1), (4,3), (5,5)).

1.3 Bài toán phân loại văn bản

Một phần của tài liệu phân loại văn bản tiếng việt sử dụng phương pháp máy hỗ trợ vector (support vector machine – svms) (Trang 20 - 23)

Tải bản đầy đủ (PDF)

(79 trang)