Đồ án Xử lý ngôn ngữ tự nhiên - Phân loại văn bản

MỤC LỤC

1. Tóm tắt đồ án . 1

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

2.1 Giới thiệu . 2

2.2 Phát biểu bài toán . 2

2.3 Mô hình tổng quát . 3

2.3.1 Giai đoạn huấn luyện . 4

2.3.2 Giai đoạn phân lớp . 5

2.4 Tiền xử lý văn bản . 6

2.5 Phương pháp biểu diễn văn bản . 7

2.5.1 Mô hình không gian vector . 7

2.5.2 Khái niệm trọng số . 7

2.6 Đánh giá bộ phân lớp . 9

2.6.1 Macro-Averaging . 11

2.6.2 Micro-Averaging . 11

3. Các phương pháp phân loại văn bản . 12

3.1 Thuật toán Naïve Bayes . 12

3.1.1 Định lý . 12

3.1.2 Thuật toán . 13

3.1.3 Áp dụng trong phân loại văn bản . 15

3.2 Cây quyết định (Decision Tree) . 18

3.2.1 Khái niệm . 18

3.2.2 Thuật toán xây dựng cây . 19

3.2.2.1 Thuật toán ID3 . 19

3.2.2.2 Các độ đo trong thuật toán : . 20

3.2.2.3 Ví dụ . 20

3.2.3 Áp dụng vào phân loại văn bản . 23

3.2.3.1 Biểu diễn văn bản . 23

3.2.3.2 Giai đoạn huấn luyện . 24

3.2.3.3 Cross-validation . 28

3.2.3.4 Giai đoạn phân lớp . 29

3.3 Mô hình xác xuất Entropy tối đại (Maximum Entropy Modeling) . 29

3.3.1 Entropy . 29

3.3.1.1 Khái niệm . 29

3.3.1.2 Entropy của biến ngẫu nhiên . 30

3.3.2 Áp dụng vào phân loại văn bản . 30

3.3.2.1 Biểu diễn văn bản . 30

3.3.2.2 Hàm đặc trưng và ràng buộc . 31

3.3.2.3 Một số kí hiệu : . 31

3.3.2.4 Mô hình . 31

3.3.2.5 Thủ tục huấn luyện Generalized iterative scaling . 32

3.3.2.6 Giai đoạn phân lớp . 34

5. Tài liệu tham khảo . 35

pdf38 trang | Chia sẻ: netpro | Lượt xem: 4636 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Đồ án Xử lý ngôn ngữ tự nhiên - Phân loại văn bản, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
viết (văn bản) tác giả sử dụng trong các thử nghiệm này là 12,902 bài viết. 2.3 Mô hình tổng quát Có rất nhiều hướng tiếp cận bài toán phân loại văn bản đã được nghiên cứu như: tiếp cận bài toán phân loại dựa trên lý thuyết đồ thị, cách tiếp cận sử dụng lý thuyết tập thô, cách tiếp cận thống kê… Tuy nhiên, tất cả các phương pháp trên đều dựa vào các phương pháp chung là máy học đó là : học có giám sát, học không giám sát và học tăng cường. 4 Vấn đề phân loại văn bản theo phương pháp thống kê dựa trên kiểu học có giám sát được đặc tả bao gồm 2 giai đoạn : giai đoạn huấn luyện và giai đoạn phân lớp. 2.3.1 Giai đoạn huấn luyện Chúng ta có một tập huấn luyện, mỗi phần tử trong tập huấn luyện được gán vào một hoặc nhiều lớp mà chúng ta sẽ thể hiện chúng bằng một mô hình mã hoá (được trình bày chi tiết ở Phương pháp biểu diễn văn bản). Thông thường, mỗi phần tử trong tập huấn luyện được thể hiện theo dạng ( ⃗⃗⃗ ). Trong đó, là vector biểu diễn cho văn bản trong tập huấn luyện. Sau đó, chúng ta định nghĩa một lớp mô hình và một thủ tục huấn luyện. Lớp mô hình là họ các tham số của bộ phân loại, thủ tục huấn luyện là một giải thuật (hay thuật toán) để chọn ra một họ các tham số tối ưu cho bộ phân loại. Nhưng làm thế nào để đánh giá được họ các tham số là tối ưu ? Câu hỏi này sẽ được trình bày trong phần Đánh giá bộ phân lớp. Hình 2.3: Mô hình giai đoạn huấn luyện Đầu vào : ngữ liệu huấn luyện và thuật toán huấn luyện Đầu ra : mô hình phân lớp (bộ phân lớp – classifier) Một ví dụ về một họ các tham số cho bộ phân loại nhị phân : ( ) ⃗⃗ . Ở đây, bộ phân loại nhị phân chỉ phân loại cho 2 lớp. Chúng ta gọi lớp c1 là lớp với các văn bản có ( ) và lớp c2 là lớp với các văn bản có ( ) .Họ các tham số cần xác định là vector ⃗⃗ và ngưỡng . Chi tiết giai đoạn huấn luyện bộ phân lớp 5 Hình 2.4: Chi tiết giai đoạn huấn luyện Trong đó :  Ngữ liệu huấn luyện : kho ngữ liệu thu thập từ nhiều nguồn khác nhau.  Tiền xử lý : chuyển đổi tài liệu trong kho ngữ liệu thành một hình thức phù hợp để phân loại.  Vector hoá : mã hoá văn bản bởi một mô hình trọng số (chi tiết ở phần Phương pháp biểu diễn văn bản).  Trích chọn đặc trưng : loại bỏ những từ (đặc trưng) không mang thông tin khỏi tài liệu nhằm nâng cao hiệu suất phân loại và giảm độ phức tạp của thuật toán huấn luyện.  Thuật toán huấn luyện : Thủ tục huấn luyện bộ phân lớp để tìm ra họ các tham số tối ưu.  Đánh giá : bước đánh giá hiệu suất (chất lượng) của bộ phân lớp (chi tiết trong phần Đánh giá bộ phân lớp). Thủ tục huấn luyện sẽ được thực thi lặp nhiều lần để tìm họ các tham số tối ưu sau mỗi lần lặp. Tuy nhiên, do ban đầu họ các tham số được gán với một giá trị khởi tạo, do đó nếu giá trị khởi tạo ban đầu được gán sai thì kết quả tối ưu của họ các tham số có thể chỉ là tối ưu cục bộ. 2.3.2 Giai đoạn phân lớp Sau khi đã hoàn thành giai đoạn huấn luyện, mô hình phân lớp sẽ được áp dụng cho các văn bản mới cần phân loại. 6 Hình 2.5: Mô hình giai đoạn phân lớp Chi tiết giai đoạn phân lớp Hình 2.6: Mô hình giai đoạn phân lớp 2.4 Tiền xử lý văn bản Văn bản trước khi được vector hoá, tức là trước khi sử dụng, cần phải được tiền xử lý. Quá trình tiền xử lý sẽ giúp nâng cao hiệu suất phân loại và giảm độ phức tạp của thuật toán huấn luyện. Tuỳ vào mục đích bộ phân loại mà chúng ta sẽ có những phương pháp tiền xử lý văn bản khác nhau, như :  Chuyển vẳn bản về chữ thường  Loại bỏ dấu câu (nếu không thực hiện tách câu)  Loại bỏ các kí tự đặc biệt biệt([ ],[.], [,], [:], [“], [”], [;], [/], [[]], [~], [`], [!], [@], [#], [$],[%],[^],[&],[*],[(],[)]), các chữ số, phép tính toán số học  Loại bỏ các stopword (những từ xuất hiện hầu hết trong các văn bản) không có ý nghĩa khi tham gia vào phân loại văn bản.  … 7 2.5 Phương pháp biểu diễn văn bản Một trong những nhiệm vụ đầu tiền trong việc xử lý phân loại văn bản là chọn được một mô hình biểu diễn văn bản thích hợp. Một văn bản ở dạng thô (dạng chuỗi) cần được chuyển sang một mô hình khác để tạo thuận lợi cho việc biểu diễn và tính toán. Tuỳ thuộc vào từng thuật toán phân loại khác nhau mà chúng ta có mô hình biểu diễn riêng. Một trong những mô hình đơn giản và thường được sử dụng trong nhiệm vụ này là mô hình không gian vector. Một văn bản trong nhiệm vụ này được biểu diễn theo dạng , với là một vector n chiều để đo lường giá trị của phần tử văn bản. 2.5.1 Mô hình không gian vector Mô hình không gian vector là một trong những mô hình được sử dụng rộng rãi nhất cho việc tìm kiếm (truy hồi) thông tin. Nguyên nhân chính là bởi vì sự đơn giản của nó. Trong mô hình này, các văn bản được thể hiện trong một không gian có số chiều lớn, trong đó mỗi chiều của không gian tương ứng với một từ trong văn bản. Phương pháp này có thể biểu diễn một cách hình tượng như sau : mỗi văn bản D được biểu diễn dưới dạng (vector đặc trưng cho văn bản D). Trong đó, ( ), và n là số lượng đặc trưng hay số chiều của vector văn bản, là trọng số của đặc trưng thứ i (với 1 i  n). Như vậy, nếu trong kho ngữ liệu của quá trình huấn luyện nhiều văn bản, ta kí hiệu Dj, là văn bản thứ j trong tập ngữ liệu, và vector ⃗⃗ ⃗ ( ) là vector đặc trưng cho văn bản Dj, và xij là trọng số thứ i của vector văn bản . 2.5.2 Khái niệm trọng số Một vấn đề quan trọng nữa trong việc biểu diễn một văn bản đó là tính trọng số cho vector đặc trưng của văn bản. Có nhiều cách khác nhau để tính trọng số này như :  Word frequency weighting  Boolean weighting  tf*idf weighting 8  Entropy weighting Tuy nhiên, để đơn giản cho vấn đề này, chúng ta sẽ chỉ xem xét cách tính Word frequency weighting (trọng số tần suất từ) và tf*idf, một cách đơn giản đó là đếm số từ đó trong văn bản. Tuy nhiên vẫn có nhiều cách khác nhau để tính trọng số dạng này. Hình 2.7: Ba giá trị trong cách tính trọng số thuật ngữ (từ) thường dùng Có ba thông tin được sử dụng trong cách tính trọng số bằng tần suất từ là : term frequency (tfij số lần suất hiện của từ wi trong văn bản dj), document frequency (dfi số văn bản có chứa từ wi), collection frequency (cfi số lần suất hiện của từ wi trong cả tập ngữ liệu). Trong đó, và ∑ . Thông tin được nắm bắt bởi term frequency là sự nổi bật của thông tin (hay từ) trong một văn bản. Term frequency càng cao (số lần xuất hiện càng nhiều trong văn bản) thì đó là từ miêu tả tốt cho nội dung văn bản. Giá trị thứ hai, document frequency, có thể giải thích như là một bộ chỉ định nội dung thông tin. Một từ được tập trung ngữ nghĩa thường xảy ra nhiều lần trong một văn bản nếu nó cũng xuất hiện trong tất cả các văn bản khác. Nhưng từ không được tập trung ngữ nghĩa trải đều đồng nhất trong tất cả các văn bản. Hãy xem xét một ví dụ sau, kho ngữ liệu của báo New York Times, và hai từ try và insurance được thống kế như sau : Hai từ try và insurance có giá trị gần như nhau. Nhưng ngược lại, với giá trị , từ insurance chỉ xuất hiện trong hẫu như chỉ một nửa kho ngữ liệu. Điều này giải thích là bởi vì, từ try có thể được sử dụng trong hầu hết các chủ đề, nhưng từ insurance chỉ được dùng để ám chỉ đến một khái niệm nhỏ mà chỉ liên quan đến một số lượng nhỏ các chủ đề. Một tính chất nữa của từ được tập trung ngữ nghĩa đó là, nếu chúng xuất hiện trong một văn bản thì chúng sẽ xuất hiện vài lần. 9 Để thể hiện trọng số phản ánh hết thông tin của từ, thường ta sẽ kết hợp cả hai loại trọng số là và trong một đơn vị chung. Dạng biểu diễn trọng số này được gọi là . Công thức kết hợp hai giá trị trọng số : ( ) { ( ( )) ( ) Trong đó, N là tổng số văn bản. Biểu thức thứ nhất áp dụng cho các từ có xuất hiện trong văn bản, còn biểu thức thứ hai cho các từ không xuất hiện trong văn bản. 2.6 Đánh giá bộ phân lớp Sau khi đã tìm được họ các tham số tối ưu cho bộ phân lớp (hay có thể nói là bộ phân lớp đã được huấn luyện xong), nhiệm vụ tiếp theo là cần phải đánh giá (kiểm tra) bộ phân lớp đó cho kết quả như thế nào? Tuy nhiên, quá trình kiểm tra phải được thực hiện trên một tập ngữ liệu khác với tập ngữ liệu huấn luyện, còn được gọi với cái tên là tập ngữ liệu kiểm tra (a test set). Việc kiểm tra bộ phân lớp là một sự đánh giá trên một tập ngữ liệu chưa được biết vì thế đó là sự đo lường, đánh giá duy nhất cho biết khả năng thực sự của một bộ phân lớp. Để đơn giản, ta sẽ xem xét một bộ phân lớp nhị phân (phân hai lớp). Những bộ phân lớp thường được đánh giá bằng cách lập một bảng thống kê sau : Trong đó,  a : là số lượng đối tượng thuộc về lớp đang xét và được bộ phân lớp gán vào lớp.  b : là số lượng đối tượng không thuộc về lớp đang xét nhưng được bộ phân lớp gán vào lớp.  c : là số lượng đối tượng thuộc về lớp đang xét nhưng được bộ phân lớp loại khỏi lớp. 10  d : là số lượng đối tượng không thuộc về lớp đang xét và được bộ phân lớp loại khỏi lớp. Để đánh giá chất lượng bộ phân lớp, hai đơn vị đo lường quan trọng đó là độ đúng đắn (accuracy) được đo bằng công thức và độ sai lỗi (Error) được tính bằng công thức . Độ đo này phản ánh đầy đủ chất lượng của bộ phân lớp. Tuy nhiên, khi đánh giá bộ phân lớp, thường người ta chỉ xem xét những đối tượng thuộc về lớp và được phân lớp đúng, còn những đối tượng không thuộc về lớp thường sẽ ít được quan tâm. Do đó, một số độ đo khác đã được định nghĩa. Các độ đo bao gồm :  Precision (độ chính xác) :  Recall (Độ bao phủ, độ đầy đủ) :  Fallout (Độ loại bỏ) : Tuy nhiên, trong một số trường hợp thực tế, nếu tính độ precision và độ recall riêng rẽ sẽ cho kết quả không cân đối. Do đó, để thuận tiện, người ta kết hợp hai độ đo này vào một đơn vị đo tổng quát duy nhất. Để làm điều này, người ta sử dụng đơn vị đo lường F được định nghĩa như sau : ( ) Trong đó:  P là độ chính xác Precision  R là độ bao phủ Recall   là một hệ số xác định sự cân bằng của độ quyết định và độ bao phủ. Giá trị =5 thường được chọn cho sự cân bằng giữa P và R. Với giá trị này độ đo được tính đơn giản là ( ). Những độ đo trên được dùng để đánh giá cho những bộ phân lớp nhị phân (phân hai lớp). Tuy nhiên, trong thực tế, thường các bộ phân lớp phải phân chia nhiều lớp, chính vì vậy để đánh giá tổng thể toàn bộ các lớp phân loại, sau khi lập 11 bảng thống kê cho từng lớp, hai phương pháp nữa đã được áp dụng để đánh giá đó là micro-averaging và macro-averaging. 2.6.1 Macro-Averaging Đây là phương pháp tính trung bình các độ đo precious và recall của từng lớp. Các lớp sau khi đã lập bảng thống kê và tính các độ đo precious và recall cho từng lớp. Các độ đo này sẽ được tính trung bình lại. Công thức tính macro-averaging : | | ∑ | | | | ∑ | | Trong đó : |C| là số lớp cần phân loại. 2.6.2 Micro-Averaging Đây là phương pháp tính trung bình các kết quả thống kê của từng lớp. Các lớp sau khi đã lập bảng thống kê. Các bảng này sẽ được cộng này lại tương ứng theo từng ô. Sau đó, sẽ tính độ đo Precision và Recall cho bảng thống kê lớn đó. Công thức micro-averaging : ∑ | | ∑ ( ) | | ∑ | | ∑ ( ) | | 12 3. Các phương pháp phân loại văn bản Phần này trình bày một số phương pháp phân loại văn bản phổ biến hiện nay theo phương pháp thống kê : thuật toán Naïve Bayes, Cây quyết định, Maximun Entropy Modeling và KNN. Phần này cũng trình bày một số ví dụ về cách thực hiện các phương pháp phân loại. 3.1 Thuật toán Naïve Bayes 3.1.1 Định lý Đây là thuật toán được xem là đơn giản nhất trong các phương pháp. Bộ phân lớp Bayes có thể dự báo các xác suất là thành viên của lớp, chẳng hạn xác suất mẫu cho trước thuộc về một lớp xác định. Chúng giả định các thuộc tính là độc lập nhau (độc lập điều kiện lớp). Thuật toán Naïve Bayes dựa trên định lý Bayes được phát biểu như sau : ( | ) ( | ) ( ) ( ) Trong đó:  Y đại diện một giả thuyết, giả thuyết này được suy luận khi có được chứng cứ mới X.  P(X) : xác xuất X xảy ra (Xác suất biên duyên của X).  P(Y) : xác xuất Y xảy ra (Điều kiện tiên nghiệm của Y).  P(X|Y) : xác xuất X xảy ra khi Y xảy ra (xác suất có điều kiện, khả năng của X khi Y đúng).  P(Y|X) : xác suất hậu nghiệm của Y nếu biết X. Áp dụng trong bài toán phân loại, các dữ kiện cần có :  D: tập dữ liệu huấn luyện đã được vector hoá dưới dạng ( )  Ci : tập các tài liệu của D thuộc lớp Ci với i={1,2,3,…}  Các thuộc tính x1,x2,…xn độc lập xác suất đôi một với nhau. Theo định lý Bayes :  13 ( | ) ( | ) ( ) ( ) Theo tính chất độc lập điều kiện : ( | ) ∏ ( | ) ( | ) ( | ) ( | ) Khi đó, luật phân lớp cho các tài liệu mới Xnew = {x1,x2,…,xn} là: ( ( )∏ ( | ) ) Trong đó :  P(Ci) : được tính dựa trên tần suất xuất hiện tài liệu trong tập huấn luyện.  P(xk|Ci) : được tính từ những tập thuộc tính đã được tính trong quá trìnhuấn luyện. 3.1.2 Thuật toán Các bước thực hiện thuật toán Naïve Bayes: Bước 1 :  Huấn luyện Naïve Nayes(dựa vào tập dữ liệu o Tính xác suất P(Ci) o Tính xác suất P(xk|Ci) Bước 2 :  Xnew được gán vào lớp có giá trị lớn nhất theo công thức ( ( )∏ ( | ) ) Xét một ví dụ kinh điển là ví dụ dự đoán xem quyết định của người chơi có đi chơi Tennis hay không với các điều kiện về thời tiết đã được biết trước. Trong ví dụ này, ta có một bảng dữ liệu huấn luyện như sau : 14 Bước 1 : Tính các xác suất P(Ci)  Với C1 = “yes” P(C1) = P(“yes”) = 9/14  Với C2 = “no” P(C2) = P(“no”) = 5/14 Tính xác suất P(xk|Ci)  Với thuộc tính Outlook : có các giá trị sunny, overcast, rain P(sunny|yes) = 2/9 P(sunny|no) = 3/5 P(overcast|yes) = 4/9 P(overcast|no) = 0/5 P(rain|yes) = 3/9 P(rain|no) = 2/5  Với thuộc tính Temp : có các giá trị Hot, Cold, Mild P(hot|yes) = 2/9 15 P(hot|no) = 2/5 P(cold|yes) = 3/9 P(cold|no) = 1/5 P(mild|yes) = 4/9 P(mild|no) = 2/5  Với thuộc tính Humidity : có các giá trị Normal,High P(normal|yes) = 6/9 P(normal|no) = 1/5 P(high|yes) = 3/9 P(high|no) = 4/5  Với thuộc tính Wind : có các giá trị Weak, Strong P(weak|yes) = 6/9 P(weak|no) = 2/5 P(strong|yes) = 3/9 P(strong|no) = 3/5 Bước 2 : Phân lớp Xnew = {sunny, cool, high, strong} Tính các xác suất P(yes)*P(Xnew|yes) = 0.005 P(no)* P(Xnew|no) = 0.021 Xnew thuộc vào lớp No 3.1.3 Áp dụng trong phân loại văn bản Để áp dụng thuật toán Naïve Bayes vào phân loại văn bản, ta cần thực hiện các bước tiền xử lý và vector hoá các văn bản trong tập huấn luyện. Các phương pháp tiền xử lý và vector hoá đã được trình bày ở những phần trước. Tuy nhiên, do thuật toán Naïve Bayes dựa trên xác suất văn bản và xác suất đặc trưng, do đó ở phương pháp này, chúng ta sẽ sử dụng phương pháp vector hoá bằng cách đếm tần suất từ (Word frequency weighting). 16 Sau khi đã vector hoá các văn bản, ta cần thực hiện rút chọn các đặc trưng cho các văn bản huấn luyện. Ta cũng có rất nhiều cách để thực hiện rút chọn đặc trưng như sử dụng các độ đo (xem thêm trong sách [1]), sử dụng Heuristic, sử dụng từ điển… Sau khi đã rút chọn đặc trưng, ta sẽ thực hiện thuật toán huấn luyện. Ta có thể tóm tắt các bước như sau : Bước 1 : Huấn luyện  Từ tập huấn luyện, ta rút trích tập từ vựng (các đặc trưng)  Tính xác suất P(Ci) và P(xk|Ci) ( ) | | | |  docsi : số tài liệu của tập huấn luyện thuộc lớp ci.  : số tài liệu có trong tập huấn luyện. ( | ) | | hoặc ( | ) | | (làm mịn với luật Laplace)  n : tổng số từ đôi một khác nhau của lớp ci.  nk : tổng số từ xk trong tập từ vựng trong lớp Ci.  |Texti|: tổng số từ vựng (không phân biệt đôi một) trong lớp Ci. Bước 2 : Phân lớp | | ( ( ) ∏ ( ( | ) | | ) )  positions : tập từ vựng trong bộ huấn luyện. Xét ví dụ : ta có tập tài liệu để huấn luyện sau khi đã vector hoá (sử dụng phương pháp đơn giản đếm sô lần xuất hiện) và rút trích đặc trưng như sau :  Bộ từ vựng (đặc trưng) : var, bit, chip, log 17 Docs Var Bit Chip Log Class Doc1 42 25 7 56 Math Doc2 10 28 45 2 Comp Doc3 11 25 22 4 Comp Doc4 33 40 8 48 Math Doc5 28 32 9 60 Math Doc6 8 22 30 1 Comp  Bước huấn luyện : Tính xác xuất các lớp Ci trong tập huấn luyện ( ) ( ) Tính xác xuất P(xk|Ci)  Lớp C1 = “Comp” Tổng = 208 ( | ) ( | ) ( | ) ( | )  Lớp C2 = “Math” Tổng = 388 ( | ) ( | ) ( | ) 18 ( | )  Bước phân lớp : cho văn bản có vector đặc trưng sau ( ) Xác định lớp cho văn bản mới ? Tính các xác xuất : ( ) , ( | ) ( | ) ( | ) ( | ) - ( ) , ( | ) ( | ) ( | ) ( | ) -  Kết quả : Văn bản Docnew thuộc về lớp Math do max(P new )= 598,62 3.2 Cây quyết định (Decision Tree) 3.2.1 Khái niệm Cây quyết định là một cấu trúc cây với :  Mỗi nút trong (internal node) ứng với một phép kiểm tra trên một thuộc tính.  Mỗi nhánh biểu diễn một kết quả của phép kiểm tra.  Các nút lá (leaf node) biểu diễn các lớp hay các phân bố lớp.  Nút cao nhất trong cây là nút gốc (root node). Hình 3.1: Cây quyết định cho phân lớp mua máy tính hay không ? 19 3.2.2 Thuật toán xây dựng cây 3.2.2.1 Thuật to|n ID3 Sườn chung về quy nạp trên cây quyết định : 1. Chọn thuộc tính tốt nhất theo một độ đo lựa chọn cho trước. 2. Mở rộng cây bằng thêm các nhánh mới cho từng thuộc tính. 3. Sắp xếp các mẫu huấn luyện vào nút lá. 4. Nếu các mẫu được phân lớp rõ thì dừng ngược lại lặp lại các bước 1-4 cho các nút lá. 5. Tỉa các nút lá không ổn định. Hình 3.2: Một ví dụ chi tiết về cây quyết định Chi tiết chiến lược để xây dựng cây quyết định theo thuật toán ID3  Bắt đầu từ nút đơn biểu diễn tất cả các mẫu  Nếu các mẫu thuộc về cùng một lớp, nút trở thành nút lá và được gán nhãn bằng lớp đó  Ngược lại, dùng độ đo thuộc tính để chọn thuộc tính sẽ phân tách tốt nhất các mẫu vào các lớp  Một nhánh được tạo cho từng giá trị của thuộc tính được chọn và các mẫu được phân hoạch theo  Dùng đệ quy cùng một quá trình để tạo cây quyết định  Tiến trình kết thúc chỉ khi bất kỳ điều kiện nào sau đây là đúng 20 o Tất cả các mẫu cho một nút cho trước đều thuộc về cùng một lớp. o Không còn thuộc tính nào mà mẫu có thể dựa vào để phân hoạch xa hơn. 3.2.2.2 C|c độ đo trong thuật to|n :  Entropy : đặc trưng cho độ hỗ tạp của (tinh khiết) của một tập bất kỳ các mẫu thử. ( ) ∑ Trong đó : o S : tập các mẫu thử (tập huấn luyện) o c : là phân lớp trong mẫu thử o pi : xác suất (tỉ lệ) các mẫu thử thuộc phân lớp ci  Information Gain : đo sự giảm sút mong muốn của Entropy gây ra bởi một thuộc tính A. ( ) ( ) ∑ | | ( ) ( ) Trong đó : o Value(A) : tập các giá trị có thể cho thuộc tính A. o Sv : tập con của S mà A nhận giá trị v. 3.2.2.3 Ví dụ Xét lại ví dụ về phân lớp cho quyết định chơi Tennis đã được nêu ở phương pháp Naïve Bayes như sau : 21 Ta gọi các mẫu thuộc lớp “Yes” là lớp dương và các mẫu thuộc lớp “No” là lớp âm, vậy ta có 9 mẫu dương và 5 mẫu âm, kí hiệu [9+,5-]. Theo thuật toán ID3, ta có nút đầu tiên thể hiện tất cả các mẫu của tập huấn luyện. Tính Entropy cho nút S : ( ) Tính Information Gian cho các thuộc tính trong tập huấn luyện : ( ) ( ) ∑ | | ( ) * + ( ) ( ) ( ) Trong đó : 22 ( ) ( ) Tính tương tự cho các thuộc tính còn lại, ta có kết quả như sau : ( ) ( ) ( ) ( ) Dựa vào kết quả trên, ta sẽ chọn thuộc tính Outlook làm điều kiện phân tách cây. Làm tiếp theo cho hai tập con : Ssunny={D1, D2, D3, D9, D11} Srain={D4, D5, D6, D10, D14} Cuối cùng ta được cây quyết định hoàn chỉnh : 23 Sử dụng cây quyết định để phân lớp văn bản mới sau : Xnew = {sunny, cool, high, strong} Áp dụng cây phân lớp, từ nút gốc là thuộc tính outlook , Xnew có giá trị Sunny, ta sẽ rẽ nhánh trái của cây. Đến nút Humidity, Xnew có giá trị high, tiếp tục rẽ nhánh trái => Xnew thuộc lớp No. 3.2.3 Áp dụng vào phân loại văn bản 3.2.3.1 Biểu diễn văn bản Như đã trình bày, có nhiều phương pháp để biểu diễn (vector hoá) văn bản. Trong phạm vi tài liệu đang tham khảo, tác giá đã sử dụng một cách đơn giản để biểu diễn văn bản như sau : Gọi ( ) là vector biểu diễn văn bản, và wij là các trọng số của các đặc trưng trong văn bản. Trọng số của các đặc trưng được tính theo công thức sau : ( ( ) ( ) ) Trong đó  : tần suất của từ i trong văn bản j  : chiều dài của văn bản j  Nếu từ i không xuất hiện trong văn bản thì wij sẽ được gán là 0 Ví dụ, trong một văn bản từ “profit” xuất hiện 6 lần, và chiều dài của văn bản là 89 từ, thì trọng số cho từ “profit” là và được làm tròn là 5. Mặc dù đã có phương pháp để biểu diễn văn bản, tuy nhiên vấn đề là sử dụng bao nhiêu đặc trưng và nhưng đặc trưng nào để biểu diễn cho văn bản đó. Cách đơn giản là ta chọn những từ xuất hiện nhiều nhất trong văn bản làm được trưng và số lượng chọn phải hợp lý. Tuy nhiên, trong phân loại văn bản, không phải những từ xuất hiện nhiều trong văn bản là những đặc trưng tốt. Do đó, ta cần phải sử dụng một độ đo tốt hơn để quyết định chọn xem đặc trưng nào. 24 Trong chương này, tác giả đã sử dụng độ đo 2 (đọc là chi-square test). 20 đặc trưng có độ đo 2 = ∑ ( ) cao nhất được sử dụng để biểu diễn văn bản. Ở phần này, chúng ta không tập trung chi tiết vào tìm hiểu độ này, nếu cần đọc chi tiết có thể xem ở phần 5.3.3 của cuốn sách. Hình 3.3: Một ví dụ biểu diễn văn bản 3.2.3.2 Giai đoạn huấn luyện Như đã trình bày ở phân thuật toán, để xây dựng cây phân lớp, chúng ta sẽ đi từ nút gốc chứa tất cả các văn bản cần phân loại. Trong thử nghiệm của tác giá, ông đã dùng 7681 văn bản để huấn luyện. Và mục tiêu là phân lớp văn bản thuộc về chủ đề “earning”. Trong đó có, 2304 văn bản thuộc chủ đề cần phân loại, còn lại là 5377 văn bản không thuộc nhóm chủ đề đó. Biểu diễn nút gốc như sau : 25 Trong đó :  P(c|n1) : xác suất một văn bản tại node 1 thuộc về lớp c. Xác suất được tính bằng công thức ( | ) | | ( |C| số lượng lớp) Để mở rộng nút gốc ta sẽ tính độ lợi thông tin cho từng đặc trưng của văn bản. Tuy nhiên, trong ví dụ ở phần trên, các thuộc tính của tập mẫu có giá trị rời rạc, còn trong tập mẫu ngữ liệu văn bản, các đặc trưng được biểu diễn bằng một lượng liên tục. Vậy làm thế nào để chọn một giá trị làm giá trị để phân tách tập ngữ liệu ? Vấn đề này vấn chưa có một lời giải cụ thể. Trong thực tế, người ta vẫn dùng một giải thuật Heuristic để tìm ra giá trị tối ưu cho từng thuộc tính. Công thức để tính độ lợi thông tin cho một đặc trưng trong tập ngữ liệu : Trong đó :  G(a,y) : độ lợi thông tin của đặc trưng a với giá tị phân tách là y.  H(t) : Entropy tại node cha (node đang xét).  pL : tỉ lệ các phần tử được truyền qua node trái.  pR : tỉ lệ các phần tử được truyền qua node phải.  H(tL) : Entropy của node trái.  H(tR) : Entropy của node phải. Ví dụ, trong tập ngữ liệu trên, ta chọn đặc trưng “cts”, và ta chọn được giá trị phân tách tối ưu cho đặc trưng này là 2. Khi đó, nhánh trái sẽ là nhánh chứa những văn bản có giá trị =2. Ta sẽ tính độ lợi thông tin cho đặc trưng “cts” ứng với giá trị 2 như sau : Entropy node 1 : ( ) ( ) ( ) Entropy node trái : 26 ( ) ( ) ( ) Entropy node phải : ( ) ( ) ( ) Suy ra, độ lợi thông tin đặc trưng “cst” với giá trị 2 là : ( ) ( ) ( | ) ( ) Tính tương tự cho các đặc trưng còn lại trong văn bản, ta sẽ thấy rằng độ lợi thông tin của “cts” là cao nhất. Do đó, “cts” sẽ được chọ làm đặc trưng phân tách với giá trị là 2. Cây quyết định được hình thành tăng lên như sau : Lặp lại những bước tính toán trên cho từng nhánh trái và phải của cây đẻ tiếp tục phát triển cây cho đến khi các node đều xác định rõ văn bản tại node đó thuộc về lớp nào. Những node chỉ chứa văn bản thuộc về một lớp chính là điều kiện dừng của thuật toán và được gọi là node lá hay điều kiện dừng của thuật toán. 27 Hình 3.4: Một cây quyết định đơn giản Tuy nhiên, sau khi cây quyết định được xây dựng đầy đủ, chúng ta phải thực hiện cắt tỉa cây để tránh tình trạng quá khớp cho cây. Tình trạnh quá khớp có thể hiểu là cây chỉ có thể nhận diện đúng cho tập dữ liệu đó còn đối với những tập khác sẽ khó có thể phân loại đúng. Có 2 phương pháp tiếp cận cho việc cắt tỉa cây : tỉa trước và tỉa sau.  Tỉa trước : phương pháp tiếp cận ngừng xây dựng cây trước khi nó đạt tới điểm phân loại các dữ liệu huấn luyện.  Tỉa sau : phương pháp tiếp cận sau khi hoàn thành cây và sau đó tita cây. Mặc dầu phương pháp đầu tiên có vẽ chính xác hơn nhưng cách tiếp cận thứ 2 của việc xén sau cho thấy thành hữu dụng hơn trong thực tế. Điều này là do những khó khăn trong tiếp cận đầu tiên của việc ước tính chính xác khi ngừng xây dựng cây. Bất chấp của việc lựa chọn phương pháp xén trước hay xén sau, một câu hỏi đặt ra là tiêu chuẩn nào sẽ được dùng để xác định kích thước cuối cùng của cây. Một vài cách tiếp cận như : Xén giảm bớt lỗi (reduced-error-pruning, Quinlan 1987) và xén sau (C4.5, Quinlan 1993)

Các file đính kèm theo tài liệu này:

  • pdfPhân Loại Văn Bản.pdf