Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Hình 3.2: Biểu diễn các vector văn bản trong không gian chỉ có 2 thuật ngữ
Xem xét các ví dụ sau: Văn bản 1:
“Xác định đối tƣợng sát hại dã man một phụ nữ Chị Vàng Thị Cầu bị chồng, với sự giúp sức của mẹ chồng trói lại, sau đó chém chết.Ngày 20/7, Công an tỉnh Hà Giang cho biết, vừa phát hiện đối tƣợng sát hại dã man chị Vàng Thị Cầu, sinh năm 1987, cƣ trú tại xóm Tìa Sính, xã Lũng Chinh (Mèo Vạc, Hà Giang) chiều 16/7 vừa qua, đã tự sát. Đó là Giàng Mí Pó, 31 tuổi, chồng của nạn nhân.”
Văn bản 2:
“Xác định đối tƣợng khai thác vàng trái phép. Sáng nay 21/7, Công an huyện Vũ Quang cho biết, vừa bắt quả tang 8 đối tƣợng đang khai thác vàng trái phép tại khu vực Khe Vạy thuộc địa bàn xã Hƣơng Thọ, huyện Vũ Quang (Hà Tĩnh).Trong lúc vây bắt chúng cố gắng bỏ trốn khỏi nhƣng không thành.
Đến khoảng 10h trƣa 12/7, lực lƣợng Công an ập vào bãi vàng đang khai thác. Tại đây, đoàn đã bắt giữ 8 đối tƣợng cùng tang vật khai thác.
Qua đấu tranh các đối tƣợng đã khai nhận, trong 8 đối tƣợng này có 4 ngƣời ở tỉnh Nam Định và 4 ngƣời ở Ninh Bình. Cả nhóm đã rủ nhau vào đây để khai thác vàng trái phép nhƣng mới đƣợc một tuần thì bị bắt giữ.”
Có thể biểu diễn các văn bản trên dƣới dạng các thuật ngữ và hàm f biểu diễn số lần xuất hiện của thuật ngữ trong văn bản. Cách biểu diễn này gọi là biểu diễn văn bản theo tần số xuất hiện.
văn bản 1 văn bản 2 văn bản 4 văn bản 3 Thuật ngữ 1 Thuật ngữ 2
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Bảng 3.1: Vector biểu diễn văn bản 1 và văn bản 2 theo tần suất xuất hiện
Từ khóa Văn bản 1 Văn bản 2
Xác định 1 1 Công an 1 2 Đối tượng 2 5 Lực lượng 0 1 Nạn nhân 1 0 Cư trú 1 0 Bỏ trốn khỏi 0 1 Giúp sức 1 0 Chém chết 1 0 Phát hiện 1 0 Đấu tranh 0 1 3.3.2. Mô hình BOOLEAN
Một mô hình biểu diễn vector với hàm f cho ra giá trị rời rạc với duy nhất hai giá trị đúng và sai (true và false, hoặc 0 và 1) gọi là mô hình Boolean.Hàm f tƣơng ứng với thuật ngữ ti sẽ cho ra giá trị đúng nếu và chỉ nếu thuật ngữti xuất hiện trong văn bản đó. Khi đó biểu diễn của văn bản 1 sẽ nhƣ sau:
Văn bản 1:
“Xác định đối tƣợng sát hại dã man một phụ nữ Chị Vàng Thị Cầu bị chồng, với sự giúp sức của mẹ chồng trói lại, sau đó chém chết. Ngày 20/7, Công an tỉnh Hà Giang cho biết, vừa phát hiện đối tƣợng sát hại dã man chị Vàng Thị Cầu, sinh năm 1987, cƣ trú tại xóm Tìa Sính, xã Lũng Chinh (Mèo Vạc, Hà Giang) chiều 16/7 vừa qua, đã tự sát. Đó là Giàng Mí Pó, 31 tuổi, chồng của nạn nhân.”
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Bảng 3.2: Vector Boolean biểu diễn văn bản 1
Thuật ngữ f Xác định 1 Công an 1 Đối tượng 1 Lực lượng 1 Nạn nhân 1 Cư trú 1 Giúp sức 0 Chém chết 1 Phát hiện 1 Bỏ trốn khỏi 1 Mô hình Boolean đƣợc định nghĩa nhƣ sau:
Giả sử có một cơ sở dữ liệu 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 nthuật ngữ T = {t1, t2,…tn}. Gọi W = {wij} là ma trận trọng số, trong đó wij là giá trị trọng số của thuật ngữ ti trong văn bản dj.
Mô hình Boolean là mô hình đơn giản nhất đƣợc xác định nhƣ sau:
l¹i ng-îc nÕu trong mÆt cã nÕu 0 d t 1 wij i j (1) 3.3.3. Mô hình tần suất
Trong mô hình tần suất, ma trận W = {wij} đƣợc xác định dựa trên tần số xuất hiện của thuật ngữ ti trong văn bản dj hoặc tần số xuất hiện của thuật ngữ ti trong toàn bộ cơ sở dữ liệu.
3.3.3.1. Phương pháp dựa trên tần số thuật ngữ (TF)
Các giá trị wij đƣợc tính dựa trên tần số (hay số lần) 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
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
1. wij = fij (2)
2. wij = 1 + log(fij) (3)
3. wij = fij (4)
Trong phƣơng pháp này, trọng sốwijtỷ lệ thuận với số lần xuất hiện của thuật ngữ titrong văn bản dj. Khi số lần xuất hiện thuật ngữ ti trong văn bản djcàng lớn thì điều đó 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 thuật ngữ ti mang nhiều thông tin trong văn bản dj.
Ví dụ, khi văn bản xuất hiện nhiều thuật ngữ công an, điều đó có nghĩa là văn bản đang xét chủ yếu liên quan đến lĩnh vực pháp luật..
Nhƣng suy luận trên không phải lúc nào cũng đúng.Một ví dụ điển hình là từ
“và” xuất hiện nhiều trong hầu hết các văn bản, nhƣng trên thực tế từ này lại không mang nhiều ý nghĩa nhƣ tần suất xuất hiện của nó.Một phƣơng pháp khác ra đời khắc phục đƣợc nhƣợc điểm của phƣơng pháp TF, đó là phƣơng pháp IDF.
3.3.3.2. Phương pháp dựa trên nghịch đảo tần số văn bản (TDF)
Trong phƣơng pháp này, giá trị wijđƣợc tính theo công thức sau:
l¹i ng-îc nÕu liÖu tµi trong xuÊt hiÖn thuËt ng- nÕu 0 d t h m h m
wij log i log( ) log( i) i j (5)
ở đó m là số lƣợng văn bản và hi là số văn bản mà thuật ngữ ti xuất hiện.
Trọng số wij trong công thức này đƣợc tính 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, điều đó có nghĩa là nếu nó xuất hiện trong dj thì trọng số của nó đối với văn bản dj càng lớn hay nó là điểm quan trọng để phân biệt văn bản dj với các văn bản khác và hàm lƣợng thông tin trong nó càng lớn. Ví dụ các thuật ngữ “tiền đạo”, “hậu vệ”, “thủ môn” chỉ xuất hiện trong các bài báo nói về lĩnh vực bóng đá. Nhƣ vậy, hàm lƣợng thông tin về bóng đá trong các thuật ngữ trên là rất lớn.
3.3.3.3. Phương pháp TF × IDF
Phƣơng pháp này là tổng hợp của hai phƣơng pháp TF và IDF, giá trị của ma trận trọng số đƣợc tính nhƣ sau:
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn l¹i ng-îc nÕu nÕu 1 0 h h m f wij [ log( ij)]log i ij 1 (6)
Đây thực chất là tổ hợp của các công thức (3) và (5).
Phƣơng pháp này kết hợp đƣợc ƣu điểm của cả hai phƣơng pháp trên.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 trong toàn bộ cơ sở dữ liệu.
3.3.4. Phương pháp xử lý vector thưa
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 Wnm ở đó n là số lƣợng thuật ngữ hay số chiều của vector và
m là số lƣợng văn bản có trong cơ sở dữ liệu.Trên thực tế, số lƣợng thuật ngữ và số văn bản có thể lên đến vài chục nghìn.Khi đó số lƣợng phần tửtrong ma trận Wnm sẽ lên đến con số trăm triệu và việc lƣu trữ ma trận Wnm 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 có thể 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 chuẩn.
Các điều kiện để có thể áp dụng phƣơng pháp vector thƣa:
* Các vector thực sự thưa: số phần tử có trọng số khác 0 nhỏ hơn rất nhiều so với số thuật ngữ trong cơ sở dữ liệu.
* Phép xử lý vector là đơn giản nhất: số vector cùng bị tác động trong một phép xử lý cơ bản là nhỏ nhất. Thƣờng số vector bị tác động này đƣợc quy định tối đa là 3 hoặc 4.
Trên thực tế, số thuật ngữ xuất hiện trong một văn bản thƣờng dƣới 1000.Đối với các văn bản dài và đa chủ đề thì số thuật ngữ xuất hiện có thể nhiều hơn.Trong khi đó, số lƣợng thuật ngữ có trong từ điển có thể lên đến con số 100,000 từ.Đây chính là điều kiện để áp dụng phƣơng pháp vector thƣa.
Việc thỏa mãn điều kiện thứ hai còn phụ thuộc vào thuật toán đƣợc áp dụng cho quá trình xử lý văn bản.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Trong phần này, giới thiệu hai tiếp cận dùng đồ thị để đặc trƣng cho văn bản. Tiếp cận thứ nhất do Adam Schenker đề xuất. Trong tiếp cận này, mỗi từ xuất hiện trong văn bản, trừ các phụ từ nhƣ “thì”, “mà”, “là”, “bị”… là các từ chứa ít thông tin đều đƣợc biểu diễn bằng một đỉnh trong đồ thị biểu diễn văn bản. Nhãn của đỉnh là từ mà nó biểu diễn.Cho dù từ có xuất hiện nhiều lần trong văn bản, từ đó cũng đƣợc biểu diễn bằng một đỉnh duy nhất. Các cung của đồ thị đƣợc tạo nhƣ sau: nếu từ t2 đi liền sau từ t1 trong một đơn vị s của văn bản thì sẽ có một cung có hƣớng nối từ đỉnh biểu diễn cho từ t1 hƣớng đến đỉnh biểu diễn từ t2 và nhãn của cung này là s. Đơn vị s của văn bản có thể là tiêu đề, kết luận, đoạn văn, liên kết… Mỗi loại đơn vị sẽ đƣợc gán các tên nhãn khác nhau. Một ví dụ tiêu biểu cho đồ thị biểu diễn văn bản theo cách này đƣợc trình bày trong hình 3.3. Hình bầu dục chỉ các đỉnh và nhãn tƣơng ứng, các cung đƣợc gán nhãn tiêu đề (TI), liên kết (L), văn bản (TX). Ví dụ văn bản có tiêu đề “BIỂU DIỄN”, có liên kết đến văn bản với nhãn liên kết là “TIẾP” và nội dung văn bản là “VĂN BẢN BẰNG ĐỒ THỊ”.
Hình3.3: Đồ thị biểu diễn văn bản
Để nối hai từ có nghĩa tƣơng tự nhau dùng cung có nhãn là TS (text similarity).
Ví dụ từ “túc cầu” và “bóng đá” là hai từ có nghĩa giống nhau. Trong tiếng Anh, từ điển Wordnet đƣợc sử dụng để đo sự tƣơng đồng về nghĩa của hai từ. Đối với tiếng Việt, chúng tôi đã xây dựng từ điển từ đồng nghĩa và gần nghĩa cho các từ thông dụng và từ chuyên ngành CNTT. Biểu diễn Văn bản Bằng Đồ thị Tiếp TI TX TX L
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Một tiếp cận khác dùng đồ thị để biểu diễn văn bản khác đƣợc J.Tomita và cộng sự trình bày đã dùng đồ thị đồng hiện để biểu diễn văn bản. Đồ thị đồng hiện đƣợc tạo theo các bƣớc sau:
Rút trích các từ phổ biến trong văn bản.
Tính các thành phần có ý nghĩa dựa trên tần suất xuất hiện đồng thời của hai từ trong một câu, đọan văn bản ….Nếu tần suất xuất hiện đồng thời của hai từ lớn hơn một ngƣỡng cho trƣớc thì sẽ xuất hiện một cung nối hai từ này.
Một đồ thị đồng hiện tiêu biểu theo tiếp cận này đƣợc trình bày trong hình 3.4.
Hình3.4. Đồ thị đồng hiện của văn bản
3.4. Các thuật toán phân loại văn bản
3.4.1. Bộ phân loại Vector hỗ trợ (SVM)
Đặc trƣng cơ bản quyết định khả năng phân loại của một bộ phân loại là hiệu suất tổng quát hóa, hay là khả năng phân loại những dữ liệu mới dựa vào những tri thức đã tích lũy đƣợc trong quá trình huấn luyện. Thuật toán huấn luyện đƣợc đánh giá là tốt nếu sau quá trình huấn luyện, hiệu suất tổng quát hóa của bộ phân loại nhận đƣợc cao. Hiệu suất tổng quát phụ thuộc vào hai tham số là sai số huấn luyện và năng lực của máy học. Trong đó sai số huấn luyện là tỷ lệ lỗi phân loại trên tập dữ liệu huấn luyện. Còn năng lực của máy học đƣợc xác định bằng kích thƣớc Vapnik-Chervonenkis (Kích thƣớc VC). Kích thƣớc VC là một khái niệm quan trọng đối với một họ hàm phân tách (hay là bộ phân loại). Đại lƣợng này đƣợc xác định bằng cực đại mà họ hàm có thể phân tách hoàn toàn trong không gian đối tƣợng. Một bộ phân loại tốt là phân loại có năng lực thấp nhất (có nghĩa là đơn giản
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
nhất) và đảm bảo sai số huấn luyện nhỏ. Phƣơng pháp SVM đƣợc xây dựng dựa trên ý tƣởng này.
Xét bài toán phân loại đơn giản nhất – phân loại hai phân lớp với tập dữ liệu mẫu:
{(xi, yi)| i = 1, 2, ..., N, xi∈Rm }
Trong đó mẫu là các vector đối tƣợng đƣợc phân loại thành các mẫu dƣơng và các mẫu âm:
- Các mẫu dƣơng là các mẫu xi thuộc lĩnh vực quan tâm và đƣợc gán nhãn yi = 1;
- Các mẫu âm là các mẫu xi không thuộc lĩnh vực quan tâm và đƣợc gán nhãn yi = -1;
Hình3.5. Mặt phẳng tách các mẫu dương khỏi các mẫu âm
Trong trƣờng hợp này, bộ phân loại SVM là mặt siêu phẳng phân tách các mẫu dƣơng khỏi các mẫu âm với độ chênh lệch cực đại, trong đó độ chênh lệch còn gọi là lề (margin) xác định bằng khoảng cách giữa các mẫu dƣơng và các mẫu âm gần mặt siêu phẳng nhất (Hình 3.5). Mặt siêu phẳng này còn đƣợc gọi là mặt siêu phẳng lề tối ƣu.
Các mặt siêu phẳng trong không gian đối tƣợng có phƣơng trình là:
WTx + b = 0, trong đó w là vector trọng số, b là độ dịch. Khi thay đổi w và b, hƣớng và khoảng cách từ gốc tọa độ đến mặt siêu phẳng thay đổi. Bộ phân loại SVM đƣợc định nghĩa nhƣ sau:
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
f(x) = sign (wTx + b)(7) Trong đó
sign(z) = +1 nếu z ≥ 0,
sign(z) = -1 nếu z < 0,
Nếu f(x) = +1 thì x thuộc lớp dƣơng (lĩnh vực đƣợc quan tâm), và ngƣợc lại, nếu f(x) = -1 thì x thuộc lớp âm (các lĩnh vực khác).
Máy học SVM là họ các mặt siêu phẳng phụ thuộc vào các tham số w và b. Mục tiêu của phƣơng pháp SVM là ƣớc lƣợng w và b để cực đại hóa lề giữa các lớp dữ liệu âm và dƣơng. Các giá trị khác nhau của lề cho ta các họ mặt siêu phẳng khác nhau, và lề càng lớn thì năng lực của máy học càng giảm. Nhƣ vậy cực đại hóa lề thực chất là việc tìm một máy học có năng lực nhỏ nhất. Quá trình phân loại là tối ƣu khi sai số phân loại là cực tiểu.
Nếu tập dữ liệu huấn luyện là khả tách tuyến tính, ta có các rằng buộc sau: WTxi + b ≥ +1 nếu yi = +1 (8)
WTxi + b ≤ −1 nếu yi = -1 (9) Hai mặt siêu phẳng có phƣơng trình WT
x + b = ± 1 đƣợc gọi là các mặt siêu phẳng hỗ trợ (các đƣờng nét đứt trên hình 3.5).
Để xây dựng một mặt siêu phẳng lề tối ƣu, ta phải giải bài toán quy hoạch toàn phƣơng sau:
Cực đại hóa: 𝛼𝑖 − 𝑁 𝑖=1 1 2 𝛼𝑖 𝑁 𝐽 =1 𝑁 𝑖=1 𝛼𝑗yiyjxiTxj(10)
Với các rằng buộc:
𝛼𝑖 ≥ 0 (11) 𝛼𝑖𝑦𝑖 = 0 (12)
𝑁
𝑖=1
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Vector w sẽ đƣợc tính từ các nghiệm của bài toán toàn phƣơng nói trên nhƣ sau:
𝑤 = 𝛼𝑖𝑦𝑖 𝑥𝑖
𝑁
𝑖=1
(13)
Để xác định độ dịch b, ta chọn một mẫu xi sao cho với 𝛼𝑖 > 0, sau đó sử dụng điều kiện Karush-Kuhn-Tucker (KKT) nhƣ sau:
𝛼𝑖 𝑦𝑖 𝑤𝑇𝑥𝑖 + 𝑏 − 1 = 0 (14)
Các mẫu xi tƣơng ứng với 𝛼𝑖 > 0 là những mẫu nằm gần mặt siêu phẳng quyết định nhất (thỏa mãn dấu đẳng thức trong (8), (9)) và đƣợc gọi là các vector hỗ trợ. Những vector hỗ trợ là những thành phần quan trọng nhất của tập dữ liệu huấn luyện. Bởi vì nếu chỉ có các vector hỗ trợ ta vẫn có thể xây dựng mặt siêu phẳng lề tối ƣu nhƣ khi có một tập dữ liệu huấn luyện đầy đủ.
Nếu tập dữ liệu huấn luyện không khả tách tuyến tính thì ta có thể giải quyết theo hai cách.
Cách thứ nhất sử dụng một mặt siêu phẳng là mềm, nghĩa là cho phép một số mẫu huấn luyện nằm về phía sai của mặt siêu phẳng hỗ trợ tƣơng ứng. Trong trƣờng hợp này, các hệ số Lagrange của bài toán quy hoạch toàn phƣơng có thêm một cận trên C dƣơng - tham số do ngƣời sử dụng lựa chọn. Tham số này tƣơng ứng với giá trị phạt đối với các mẫu bị phân loại sai.
Cách thứ hai sử dụng một ánh xạ phi tuyếnΦ để ánh xạ các điểm dữ liệu đầu vào sang một không gian mới có số chiều cao hơn. Trong không gian này, các điểm dữ liệu trở thành khả tách tuyến tính, hoặc có thể phân tách với ít lỗi hơn so với trƣờng hợp sử dụng không gian ban đầu. Một mặt quyết định tuyến tính trong không gian mới sẽ tƣơng ứng với một mặt quyết định phi tuyến trong không gian ban đầu. Khi đó, bài toán quy hoạch toàn phƣơng ban đầu sẽ trở thành: