Khóa luận Phân lớp tài liệu web độc lập ngôn ngữ

MỤC LỤC

LỜI CẢM ƠN. i

TÓM TẮT NỘI DUNG. i

MỤC LỤC . ii

BẢNG KÍ HIỆU VIẾT TẮT . iv

DANH MỤC BẢNG SỐLIỆU.v

DANH MỤC HÌNH ẢNH. vi

MỞ ĐẦU .1

CHƯƠNG 1. KHÁI QUÁT VỀPHÂN LỚP VĂN BẢN ĐỘC LẬP NGÔN NGỮ.3

1.1. Bài toán phân lớp văn bản .3

1.1.1. Tổng quan.3

1.2. Phân lớp văn bản độc lập ngôn ngữ.4

1.2.1. Đặt vấn đề.4

1.2.2. Phân lớp văn bản độc lập ngôn ngữ.5

1.2.3. Ý nghĩa và ứng dụng .5

CHƯƠNG 2. CÁC MÔ HÌNH VÀ THUẬT TOÁN PHÂN LỚP VĂN BẢN.7

2.1. Giới thiệu.7

2.2. Mô hình Maximum Entropy.7

2.2.1. Giới thiệu.7

2.2.2. Xây dựng mô hình .9

2.3. Tổng kết chương.16

CHƯƠNG 3. PHÂN LỚP TÀI LIỆU WEB ĐỘC LẬP NGÔN NGỮVỚI MÔ HÌNH

ENTROPY CỰC ĐẠI .17

3.1 Giới thiệu .17

3.2. Bài toán phân lớp văn bản độc lập ngôn ngữ.17

3.2.1. Vấn đềnhập nhằng ngôn ngữ.17

3.2.2. Vấn đềbùng nổ đặc trưng .18

3.3. Quy trình xây dựng bộphân lớp.19

3.3.1. Tiền xửlý dữliệu .19

3.3.2. Xây dựng đặc trưng .20

3.3.3. Lựa chọn đặc trưng.21

3.3.4. Huấn luyện mô hình .23

3.3.5. Phân lớp văn bản mới.23

3.4. Đánh giá độchính xác của bộphân lớp .24

iii

3.4.1. Các độ đo.24

3.4.2. Áp dụng phương pháp ước lượng chéo trên k tập con .25

3.5. Xây dựng bộphân lớp trên cây phân lớp thông minh .25

3.5.1. Bản chất bài toán .26

3.5.2. Phân lớp cho văn bản mới .26

3.5.3. Thảo luận .27

3.6. Tổng kết chương.27

CHƯƠNG 4. KẾT QUẢTHỬNGHIỆM VÀ ĐÁNH GIÁ .28

4.1. Môi trường thửnghiệm .28

4.1.1. Môi trường phần cứng .28

4.1.2. Công cụphần mềm.28

4.2. Dữliệu kiểm thử.29

4.2.1. Tiền xửlý dữliệu .29

4.2.2. Cây phân lớp.30

4.3. Kết quảthửnghiệm .31

4.3.1. Quá trình huấn luyện .31

4.3.2. Lần lặp cho độchính xác cao nhất .34

4.3.3. Kết quảkiểm tra trên dữliệu mới .35

4.4. Tổng kết chương.36

KẾT LUẬN .37

PHỤLỤC. DANH SÁCH STOP-WORD .38

TÀI LIỆU THAM KHẢO .41

pdf50 trang | Chia sẻ: oanh_nt | Lượt xem: 1660 | Lượt tải: 3download
Bạn đang xem trước 20 trang tài liệu Khóa luận Phân lớp tài liệu web độc lập ngôn ngữ, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
rác (non-Spam), để xem xét (warning). Quan sát từ tập dữ liệu mẫu là 1.000 thư đã được gán nhãn, ta có nhận xét như sau: “nếu thư có chứa cụm từ “sản phẩm mới”, thì xác suất thư đó là thư rác là 80%”. Đây chính là một thống kê. Trong [4] đưa ra cách biểu diễn sự kiện “thư có chứa cụm từ “sản phẩm mới” là thư rác” như sau: ( ), 1 if and, 0document_has san_pham_moi Spam y Spam document_has san_pham_moi true f x y = =⎧= ⎨⎩ Gọi hàm f được biểu diễn như trên là hàm đặc trưng hay đặc trưng. Giá trị kì vọng của f đối với phân phối thực nghiệm ( , )p x y% là giá trị thống kê được một cách chính xác (trong ví dụ trên thì đó là: 0,8): số lần xuất hiện của f trong tập dữ liệu huấn luyện. Nó được biểu diễn như sau: ( ) ( ) , , ,p i i x y E f p x y f x y=∑% % (4) Bất kì thống kê nào sinh ra từ tập dữ liệu mẫu cũng có thể được biểu diễn một hàm kì vọng của đặc trưng f theo quy tắc như trên. Trong [16] cung cấp một cách có hệ thống cách xây dựng hàm đặc trưng. Thông tin “thư có chứa cụm từ “sản phẩm mới”” được xây dựng thành một mệnh đề thông tin ngữ cảnh: [document_has sản phẩm mới] → { },true false kí hiệu là ( )cp x , hàm này là một ánh xạ cặp ( ),x y một giá trị trong tập { },true false . Nó có dạng tổng quát như sau: ( ) { }: ,cp x X true false→ Trong [16] biễu diễn hàm đặc trưng dạng tổng quát: ( ) ( ), ' 1 ', 0cp y y y cp x true f x y = =⎧= ⎨⎩ nÕu vµ ng−îc l¹i 11 Hàm đặc trưng là hàm kiểm tra sự xuất hiện đồng thời của mệnh đề thông tin ngữ cảnh và lớp được dự đoán. Thống kê vừa nêu trong ví dụ ở phần trước là một thông tin quan trọng: xác suất xuất hiện lên tới 80%. Trong quá trình quan sát tập dữ liệu, ta sẽ nhận được rất nhiều thống kê hữu ích. Vì thế, nếu coi đó là một điều kiện mà mô hình phải tuân theo thì sẽ giúp mô hình dự đoán được lớp của văn bản một cách chính xác hơn. Biểu diễn theo toán học, ta có phương trình như sau: p i p iE f E f=% (5) Phương trình này được gọi là ràng buộc, gọi đầy đủ là phương trình ràng buộc, trong đó: ( ) ( ) ( ) , | ,p i i x y E f p x p y x f x y=∑ % (6) p iE f là kì vọng của f đối với mô hình ( )|p y x Từ (4), (5) và (6) ta có: ( ) ( ) ( ) ( ) ( ) , , , , | ,i i x y x y p x y f x y p x p y x f x y=∑ ∑% % Thêm một ràng buộc có nghĩa là đã loại bỏ bớt đi những mô hình không tuân theo dữ liệu mẫu, điều này được biễu diễn một cách hình học ở Hình 1. Đến đây, chúng ta thấy được ý nghĩa của việc biễu diễn các cứ liệu thống kê được từ dữ liệu mẫu (chính là p iE f% ), và ý nghĩa của việc ràng buộc mô hình của chúng ta tuân theo những sự kiện đó (chính là p i p iE f E f=% ). 2.2.2.3. Nguyên lý entropy cực đại Giả sử quá trình thống kê từ tập dữ liệu huấn luyện sinh ra n đặc trưng if , mỗi đặc trưng này sẽ xác định một ràng buộc. Gọi P là không gian của tất cả các phân phối xác suất, C là tập con của P sẽ được mô tả như sau: { }{ }| 1,2,..,p i p iC p P E f E f i n≡ ∈ = ∈víi% Hình 1 mô tả 4 trường hợp tập C khi có các ràng buộc. P biểu diễn không gian của tất cả các phân phối xác suất. Ở hình (a), không có ràng buộc nào, tất cả các Pp∈ đều thoả mãn. Ở hình (b), C1 cắt bớt đi một phần các mô hình p có thể. Đến hình (c), mô hình của ta chỉ còn nằm trong phần giới hạn bởi C1 và C2: 21 CCp ∩∈ . Trong 12 hình (d), hai ràng buộc C1 và C3 mâu thuẫn ( 1 3C C∩ =∅ ), không có Pp∈ nào thoả mãn cả hai ràng buộc đó. (a) (b) (c) (d) P P P C1 C1 C2 C1 C3 Hình 1. Tập ràng buộc C Nguyên lý entropy cực đại được phát biểu rằng: “Từ tập các phân bố xác suất có thể được là C, sẽ tìm ra được một mô hình *p C∈ thoả mãn điều kiện làm cực đại độ đo entropy H(p): ( )* argmax p C p H p ∈ = Dễ dàng chỉ ra rằng *p luôn luôn xác định và trong bất kì một tập C nào, cũng chỉ có duy nhất một mô hình *p làm cực đại entropy [4]. 2.2.2.4. Dạng tham số Từ nguyên lý entropy cực đại ta có thể phát biểu lại rằng: tư tưởng chủ đạo của entropy cực đại là ta phải xây dựng được một phân phối thoả mãn các ràng buộc và gần nhất với phân phối đều. Vấn đề đặt ra ở đây là làm thế nào để ta tối ưu được 13 các ràng buộc, tức tìm ra được *p C∈ làm cực đại ( )H p . Trong những trường hợp đơn giản, chúng ta dễ dàng tìm ra mô hình phù hợp bằng các phương pháp giải tích. Tuy nhiên trong thực tế, số các ràng buộc là rất lớn và chồng chéo nhau. Vì vậy, chúng ta sẽ giải bài toán này theo một hướng tiếp cận khác. Với mỗi một đặc trưng if , ta đưa vào một tham số iλ là một thừa số nhân Lagrange. Hàm Lagrange ( ),p λΛ được định nghĩa như sau: ( ) ( ) ( ), i p i p i i p H p E f E fλ λΛ ≡ + −∑ % (7) Theo lý thuyết thừa số Lagrange, phân phối xác suất ( | )p y x làm cực đại độ đo entropy ( )H p và thoả mãn tập ràng buộc C thì cũng làm cực đại hàm ( ),p λΛ trên không gian phân phối xác xuất P. Gọi pλ là mô hình làm cực đại hàm Lagrange ( ),p λΛ , và ( )λΨ là giá trị cực đại. ( )argmax , p P p pλ λ∈= Λ (8) ( ) ( ),pλλ λΨ = Λ (9) Ta gọi ( )λΨ là hàm đối ngẫu (dual function). Các hàm pλ , ( )λΨ đã được tính toán, chúng có công thức như sau: ( ) ( ) 1( | ) exp ,i i i p y x f x y Z xλ λ λ⎛ ⎞= ⎜ ⎟⎝ ⎠∑ (10) ( ) ( ) ( )log i p i x i p x Z x E fλλ λΨ = − +∑ ∑ %% (11) Trong đó ( )Z xλ là thừa số chuẩn hoá để thoả mãn ( )| 1 y p y xλ =∑ đối với mọi x: ( ) ( )iexp ,i y i Z x f x yλ λ⎛ ⎞= ⎜ ⎟⎝ ⎠∑ ∑ Cuối cùng thay cho việc phải tìm phân phối thoả mãn tập ràng buộc lớn và phức tạp làm cực đại độ đo entropy, ta đưa về bài toán chỉ cần tìm tập tham số *λ làm cực đại hàm đối ngẫu ( )λΨ không còn ràng buộc. 14 Kết quả này có một ý nghĩa quan trọng. Khi đó, bất kì một thuật toán tìm cực đại *λ cho hàm ( )λΨ có thể sử dụng để tìm ra phân phối cực đại *p của ( )H p thoả mãn *p C∈ . 2.2.2.5. Mối quan hệ với Maximum Likelihood Maximum likelihood là một phương pháp thống kê cổ điển, tư tưởng của nó là làm cực đại độ đo likelihood giữa phân phối mô hình và phân phối thực nghiệm. Hàm log-likelihood ( )pL p% của phân phối thực nghiệm p% được định nghĩa: ( ) ( ) ( ) ( ) ( ), ,, log | , log |p x yp x yx y L p p y x p x y p y x≡ =∑∏ %% % (12) Gọi pλ là mô hình làm cực đại hàm likelihood ( )pL p% , thay (10) vào phương trình (12) ta thu được biểu thức nằm bên vế phải của phương trình (11). Từ đó ta có: ( ) ( )pL pλλΨ = % Đến đây với kết quả từ phần trước, ta kết luận được rằng: “Mô hình *p C∈ với entropy cực đại là mô hình dưới dạng tham số ( )|p y xλ làm cực đại likelihood trên mẫu dữ liệu huấn luyện”. Sự tương đương này cung cấp một phương pháp mới cho phép ước lượng tham số cho các phân phối mô hình dựa trên nguyên lý entropy cực đại bằng cách sử dụng các phép ước lượng tham số cho likelihood cực đại. 2.2.2.6. Các thuật toán ước lượng tham số Có nhiều thuật toán dùng để ước lượng tham số, điển hình là các thuật toán GIS, IIS, L-BFGS. Trong khoá luận này, chúng tôi xin giới thiệu thuật toán L-BFGS là thuật toán ước lượng tập tham số hiệu quả nhất hiện nay. Cho tập dữ liệu huấn luyện ( ) ( ){ }1 1, ,..., ,N NT x y x y= . Phân phối mũ: ( ) ( ) 1( | ) exp ,i i i p y x f x y Z xλ λ λ⎛ ⎞= ⎜ ⎟⎝ ⎠∑ Huấn luyện mô hình entropy cực đại chính là ước lượng tập trọng số { },...,i kλ λ λ= để phân phối mũ ở trên đạt cực đại cao nhất. 15 Thuật toán L-BFGS là phương pháp giới hạn bộ nhớ cho phương pháp quasi- Newton (Limited memory BFGS). Phương pháp này cung cấp khả năng tối ưu hàng triệu tham số với tốc độ rất nhanh vì vậy trong các nghiên cứu mới đây nó được đánh giá là hiệu quả hơn các phương pháp khác. Viết lại hàm log-likelihood khi thay ( )|p y xλ từ () vào (): ( ) ( ) ( ) 1 1 1 1 , log exp , N k N k j j i i j j i i j i a A j L p f x y f y xλ λ λ = = = ∈ = ⎛ ⎞= − ⎜ ⎟⎝ ⎠∑∑ ∑ ∑ ∑ Tư tưởng của thuật toán là sử dụng phương pháp leo đồi tìm kiếm cực đại toàn cục. Vì bề mặt của hàm ( )L pλ là lồi nên hoàn toàn có thể thực hiện được điều này. Các thủ tục lặp được sử dụng để tiến gần đến tối ưu toàn cục của hàm ( )L pλ . Tại mỗi bước lặp ta tìm vec-tơ gradient nào có hướng tiến tới cực đại toàn cục nhất. Trên bề mặt của một hàm lồi, vec-tơ gradient thoả mãn điều kiện đó sẽ có giá trị bằng 0 r . Với mỗi một vec-tơ gradient ( ) ( ) 1 ,..., N L p L pλ λ λ λ ∂ ∂⎛ ⎞⎜ ⎟∂ ∂⎝ ⎠ hiện tại xác định cho ta một tập các trọng số. Thành phần thứ i của vec-tơ gradient của ( )L pλ là: ( ) ( ) ( )( ) ( )( )( ) ( ) ( ) ( ) ( ) ( ) n i=1 n 1 1 i=1 1 1 exp , , , exp , , | , , , N N i i j j jy Y i j j j ji i i jy Y N N i j j j i j j j y Y p i p i f y x f y xL p f x y f y x f x y p y x f y x E f x y E f x yλ λ λ λ λ λ ∈ = = ∈ = = ∈ ∂ = −∂ = − = − ∑ ∑∑ ∑ ∑ ∑ ∑ ∑∑ % Trong mỗi bước lặp thủ tục L-BFGS yêu cầu giá trị hiện tại của ( )L pλ và vec-tơ gradient hiện tại. Sau đó nó tính toán để cập nhật giá trị mới cho tập tham số { }1,..., Nλ λ . Cuối cùng, ta thu được tập trọng số tối ưu { }* *1 ,..., Nλ λ sau một số hữu hạn các bước lặp. ( ) ( ) ( )( ) | | p x y p y p y x p x = 16 2.3. Tổng kết chương Trong chương này chúng ta đã xem xem xét các vấn đề cơ bản của nguyên lý entropy cực đại theo hướng ứng dụng vào bài toán phân lớp văn bản. Chúng ta đã hiểu được tư tưởng chủ đạo của nguyên lý entropy, thấy được khả năng cho phép tích hợp được hàng nghìn đặc trưng của mô hình này. Chương này cũng trình bày được mối liên hệ giữa lilelihood cực đại và entropy cực đại, đó là sự tương đương trong ước lượng tham số cho mô hình tối ưu. Thuật toán ước lượng L-BFGS là phương pháp ước lượng tham số tối ưu thông qua log-likelihood cũng đã được trình bày ở đây. Điều đó khẳng định sức mạnh của phương pháp entropy cực đại, đặc biệt là khi ứng dụng vào bài toán phân lớp văn bản. Chương đầu đã giới thiệu về bài toán phân lớp văn bản độc lập ngôn ngữ nói chung và bài toán phân lớp tài liệu web độc lập ngôn ngữ nói riêng. Chương tiếp theo sẽ đề cập đến bài toán chính của khoá luận một cách chi tiết, phân tích những vấn đề sẽ gặp phải với bài toán phân lớp văn bản độc lập ngôn ngữ. Và cũng trong chương tới, chúng ta sẽ xem xét việc xây dựng bộ phân lớp tài liệu web độc lập ngôn ngữ với mô hình entropy cực đại. 17 Chương 3 PHÂN LỚP TÀI LIỆU WEB ĐỘC LẬP NGÔN NGỮ VỚI MÔ HÌNH ENTROPY CỰC ĐẠI 3.1 Giới thiệu Trong chương 1, chúng ta đã giới thiệu một cách tổng quát về bài toán phân lớp văn bản độc lập ngôn ngữ, về các những nhu cầu thực tế, ứng dụng cũng như ý nghĩa của bài toán. Chương này trình bày việc giải quyết bài toán phân lớp độc lập ngôn ngữ, phân tích đầy đủ các vấn đề là thách thức đối với bài toán, và đưa ra các cách giải quyết cho các vấn đề đó. Trong đó có đề xuất một chiến lược loại bỏ stop- word trong n-gram khá hiệu quả. Đồng thời, trong chương này cũng trình bày được các bước xây dựng bộ phân lớp ứng dụng nguyên lý entropy cực đại. Đặc biệt ở phần cuối chương chúng tôi đề xuất cách xây dựng một bộ phân lớp văn bản có khả năng đặc biệt, cho phép phân lớp và nhận dạng ngôn ngữ cho văn bản mà không cần sử dụng công cụ nhận dạng. 3.2. Bài toán phân lớp văn bản độc lập ngôn ngữ Như đã phân tích ở chương 1, nhu cầu phân lớp và lọc các tài liệu web đa ngôn ngữ hiện nay là rất cần thiết. Vì vậy bài toán phân lớp văn bản cho nhiều ngôn ngữ ra đời. Kèm theo đó là những vấn đề mà bài toán phân lớp văn bản đa ngôn ngữ nói chung, bài toán phân lớp văn bản độc lập ngôn ngữ nói riêng cần phải giải quyết. Hai vấn đề quan trọng nhất: 9 Sự nhập nhằng ngôn ngữ: giữa hai hay nhiều ngôn ngữ có từ trùng nhau - vấn đề này chưa hề xuất hiện trong các bài toán phân lớp văn bản trên một ngôn ngữ. 9 Số lượng đặc trưng vô cùng lớn có thể dẫn tới bùng nổ tổ hợp. Vì vậy nhiệm vụ cốt lõi cho bài toán là phải có những chiến lược trích chọn đặc trưng tốt. 3.2.1. Vấn đề nhập nhằng ngôn ngữ Trường hợp xuất hiện các từ giống nhau giữa hai ngôn ngữ không phải hiếm, trong khoá luận này tạm gọi đó là hiện tượng nhập nhằng ngôn ngữ. Ở đây đã loại trừ 18 trường hợp hai chữ khác nhau của hai ngôn ngữ có mã giống nhau vì Unicode đã hỗ trợ khả năng mã hoá và nhận diện được chúng. Ở một số ngôn ngữ có số lượng từ trùng nhau nhiều nhưng nghĩa của chúng lại gần như tương đồng. Ví dụ, chữ Trung Quốc và Nhật Bản cùng sử dụng một lượng lớn chữ Kanji nhưng nghĩa lại hoàn toàn giống nhau. Hoặc với tiếng Anh, Pháp, Đức là ba ngôn ngữ có hệ từ vựng khá giống nhau, các từ giống nhau thì nghĩa cũng khá giống nhau. Các trường hợp nêu trên thường chỉ xảy ra với các ngôn ngữ cùng một Hệ chữ viết. Còn trong trường hợp các ngôn ngữ khác hệ chữ viết, có khi cả các ngôn ngữ trong cùng một Hệ chữ viết vẫn xảy ra sự nhập nhằng. Ví dụ: chữ “can” trong tiếng Việt có nghĩa hoàn toàn khác với chữ “can” trong tiếng Anh. Nếu xét về bản chất, vấn đề này giống như hiện tượng đồng âm khác nghĩa của từ trong bài toán phân lớp văn bản đơn ngôn ngữ. Do đó nghĩa của từ dễ dàng được xác định khi có sự hỗ trợ của các từ xung quanh. Rõ ràng “can_nước” khác với “can_you” nên đặc trưng của các N- gram này có độ tin cậy cao khi phân lớp. Mà xu thế những đặc trưng có đô tin cậy cao thì được gán trọng số lớn hơn trong quá trình học. Như vậy, qua đây có thể khẳng định vấn đề nhập nhằng ngôn ngữ không ảnh hưởng đến độ chính xác của bộ phân lớp, nếu có cũng chỉ là rất nhỏ. 3.2.2. Vấn đề bùng nổ đặc trưng Trong các bài toán phân lớp văn bản trên một ngôn ngữ thì giai đoạn lựa chọn đặc trưng luôn được coi là một nhiệm vụ quan trọng. Đặc trưng càng được lựa chọn tinh tế thì độ chính xác và tốc độ của bộ phân lớp càng tăng. Với bài toán phân lớp văn bản đa ngôn ngữ nói chung và bài toán phân lớp văn bản độc lập ngôn ngữ nói riêng còn xảy ra hiện tượng bùng nổ đặc trưng: số lượng các đặc trưng quá lớn. Ví dụ, giả sử một văn bản có độ dài trung bình là 2.000 từ, giả sử ta dùng n-gram với n= 1, 2, 3 thì với 16.000 văn bản Anh, Pháp và Việt số đặc trưng sẽ xấp xỉ 96 triệu. Đây quả là một con số khổng lồ, đòi hỏi phải thao tác trên máy tính có hiệu năng rất lớn. Với tập các đặc trưng lớn như vậy còn nảy sinh hai vấn đề: dữ liệu thưa và overfitting. Dữ liệu thưa tồn tại các đặc trưng xuất hiện rất ít, hoặc rất nhiều. Overfitting là hiện tượng tương đối đặc biệt và ít gặp trong thực tế. Vì vậy có thể nói, nhiệm vụ lựa chọn đặc trưng là một nhiệm vụ quan trọng trong bài toán phân lớp đa ngôn ngữ. 19 Để giải quyết vấn đề này, trong khoá luận chúng tôi cố gắng một cách tối đa loại bỏ những đặc trưng không quan trọng. Điều này được thực hiện trong các bước xây dựng mô hình như lọc các nhiễu một cách triệt để, đưa ra và sử dụng các chiến lược lựa chọn đặc trưng như: loại bỏ các n-gram chứa stop-word, đặt ngưỡng, sử dụng trọng số TF.IDF. 3.3. Quy trình xây dựng bộ phân lớp Các bước xây dựng bộ phân lớp được tiến hành theo một quy trình như sau: Xử lý dữ liệu Dữ liệu huấn luyện Sinh N-gram Xây dựng đặc trưng Lựa chọn đặc trưng Huấn luyện mô hình Tập trọng số Văn bản mới Văn bản được phân lớp Hình 2. Mô tả các bước xây dựng bộ phân lớp 3.3.1. Tiền xử lý dữ liệu 3.3.1.1. Lọc nhiễu Tập dữ liệu huấn luyện trong các kĩ thuật học máy giám sát luôn đòi hỏi phải được làm sạch trước khi đưa vào huấn luyện. Trên Internet có rất nhiều thông tin xuất hiện dưới nhiều dạng khác nhau. Loại bỏ đi những thông tin dưới dạng hình ảnh, âm thanh, quảng cáo, thông tin không nằm trong phần nội dung của trang web, các thẻ html,… được gọi là lọc nhiễu. 20 Làm sạch dữ liệu cho bài toán phân lớp không phải là một việc dễ dàng, và với bài toán phân lớp nhiều ngôn ngữ thì còn đòi hỏi nhiều công sức hơn. Thông thường ta lấy dữ liệu từ nhiều nguồn, nên mỗi một trang sẽ có một bố cục khác nhau, điều này gây khó khăn cho chúng ta khi muốn xây dựng một công cụ lọc nhiễu áp dụng cho tất cả các trang web. 3.3.1.2. Cây phân lớp chuẩn Cũng như các mô hình phân lớp văn bản đơn ngôn ngữ, mô hình phân lớp văn bản độc lập ngôn ngữ cũng phải xây dựng một cây phân lớp chuẩn. Cây phân lớp chuẩn là tập các lớp mà ta muốn xếp văn bản vào. Với mỗi một ứng dụng cụ thể ta phải xây dựng những cây phân lớp khác nhau. Ví dụ, cây phân lớp cho bộ lọc thư rác là: Spam, non-Spam, Warning; cây phân lớp cho bộ phân lớp lĩnh vực sách giáo khoa: Toán học, Vật lý, Hoá học,… Cây phân lớp phải đảm bảo tính toàn vẹn và tính tách rời. Một văn bản bất kì phải được phân vào một trong các lớp của cây. 3.3.2. Xây dựng đặc trưng Chúng tôi sử dụng mô hình ngôn ngữ N-gram để xây dựng các mệnh đề thông tin ngữ cảnh, từ đó xây dựng các đặc trưng trước khi đưa vào huấn luyện mô hình. 3.3.2.1. Mô hình ngôn ngữ N-gram Xét trong một văn bản, N-gram là một cụm từ gồm N từ liên tiếp cùng xuất hiện trong văn bản đó. Nếu độ dài tính theo từ của một văn bản là L, thì số N-gram sinh ra là 2 )1(* +− NLL . Như vậy N càng lớn thì số lượng N-gram sinh ra càng lớn. Qua quá trình thử nghiệm, xây dựng đặc trưng với 1, 2, 3, 4N = và với 1, 2, 3N = chúng tôi nhận thấy với cách sử dụng tối đa 3N = thời gian huấn luyện và thời gian phân lớp nhanh hơn so với cách sử dụng tối đa 4N = , trong khi đo độ chính xác mô hình là gần như nhau. Vì vậy chúng tôi sử dụng 1, 2, 3N = . 3.3.2.2. Đặc trưng Có được tập hợp các N-gram, ta tiến hành xây dựng các mệnh đề thông tin ngữ cảnh. Mệnh đề mô tả thông tin ngữ cảnh là một mệnh đề chỉ ra văn bản hiện tại chứa một N-gram nào đó. Ví dụ, [document has giá_xăng_dầu] 21 Theo cách mà nguyên lý Entropy đã cung cấp để xây dựng đặc trưng: một đặc trưng là sự kết hợp giữa mệnh đề mô tả thông tin ngữ cảnh ( )cp x và nhãn của lớp tương ứng với văn bản. Ví dụ, với 'y là lớp “bss” (business) ta có một đặc trưng như sau: ( ) ⎩⎨ ⎧ === 0 ___andif1 ,,___ truedauxanggiahasdocumentbssy yxf bssdauxanggiahasdocument Đặc trưng này sẽ có giá trị đúng nếu văn bản hiện tại chứa cụm từ “giá xăng dầu” và nó được gán nhãn “bss”. Cần chú ý rằng, số lượng các mệnh đề thông tin ngữ cảnh sinh ra nhỏ hơn số lượng các N-gram (vì có những N-gram trùng nhau cũng xuất hiện trong một văn bản), và cũng không bằng số lượng các đặc trưng. 3.3.3. Lựa chọn đặc trưng 3.3.3.1. Chiến lược loại bỏ stop-word Bản chất của các ngôn ngữ tự nhiên là luôn có các từ xuất hiện nhiều, nhưng không mang nhiều ý nghĩa để phân loại. Trong tiếng Anh gọi đó là stop-word. Ngôn ngữ nào cũng có stop-word, tuy nhiên do tiếng Anh được xử lý nhiều nên người ta xây dựng danh sách stop-word cho nó khá rõ ràng. Ở một số ngôn ngữ khác, ví dụ như tiếng Việt cũng sẽ có danh sách stop-word cụ thể như tiếng Anh nếu được xử lý nhiều trong tương lai [2]. Stop-word không những dư thừa, khi kết hợp với các từ khác để xây dựng đặc trưng chúng còn gây ra hiện tượng overfitting. Qua thử nghiệm trên một bộ phân lớp văn bản trên tiếng Anh, sau khi lọc stop-word độ chính xác huấn luyện (trainning accuracy) tăng lên đáng kể. Vì vậy loại bỏ stop-word là rất cần thiết. Tuy nhiên, nếu đối với bài toán phân lớp văn bản trên nhiều ngôn ngữ, loại bỏ stop-word cho văn bản thì nghiễm nhiên các văn bản đã mất đi sự bình đẳng. Nói cách khác, các văn bản đòi hỏi được nhận dạng ngôn ngữ. Bài toán phân lớp trong Khóa luận không hướng tới việc nhận dạng ngôn ngữ để loại bỏ stop-word nhưng làm thế nào để loại bỏ chúng. Ở đây, chúng tôi đề xuất một phương pháp khá hiệu quả: vẫn tận dụng được đặc điểm về ngôn ngữ mà vẫn giữ tính độc lập ngôn ngữ của bài toán. Phương pháp này áp dụng sau khi sinh n-gram, và loại bỏ theo hai quy tắc sau: - Loại bỏ các 1-gram, 2-gram, 3-gram là stop-word: điều này có lợi với các ngôn ngữ mà đơn vị nhỏ nhất không phải là từ. Ví dụ, với tiếng Việt đơn vị nhỏ nhất là âm tiết: từ “có_thể” rõ ràng là một stop-word. 22 - Loại bỏ 2-gram, 3-gram mà mỗi gram là một stop-word. Ví dụ, câu “he is in Hanoi” sinh ra 2-gram “is_in” chứa 2 stop-word là “is” và “in”. Qua thực nghiệm mà chúng tôi tiến hành, phương pháp này làm giảm đi 31,7% tổng số đặc trưng so với loại stop-word từ văn bản trước khi sinh n-gram là 33%. Như vậy đây thực sự là chiến lược tốt. 3.3.3.2. Đặt ngưỡng Thực tế cho thấy, có những mệnh đề thông tin ngữ cảnh xuất hiện nhiều lần trong một văn bản và những mệnh đề thông tin ngữ cảnh xuất hiện rất ít lần. Ví dụ trong câu “Giá dầu đang ngày một leo thang”: [document has dầu_đang_ngày] Để loại bỏ những mệnh đề thông tin ngữ cảnh không có nhiều ý nghĩa này, chiến lược lọc đặt ngưỡng chỉ đơn giản đặt ngưỡng cho sự xuất hiện của một mệnh đề thông tin ngữ cảnh trong toàn bộ tập mệnh đề thông tin ngữ cảnh: nếu số lần xuất hiện nằm ngoài một khoảng nào đó thì bị loại bỏ. 3.3.3.3. TF.IDF TF.IDF là một kĩ thuật thống kê đánh giá ý nghĩa, độ quan trọng của một cụm từ đối với một văn bản, hoặc một lớp. TF (term frequency) là độ đo tần số: tần suất xuất hiện của cụm từ trong một văn bản: i kk ntf n = ∑ in là số lần xuất hiện của cụm từ trong toàn bộ văn bản. IDF (inverse document frequency) là độ đo tổng quát độ quan trọng của cụm từ: Trọng số TF.IDF được tính bằng công thức: ( ). log j i D tf idf tf d t ⎛ ⎞⎜ ⎟= × ⎜ ⎟⊃⎝ ⎠ trong đó, - D: là số các văn bản trong tập dữ liệu huấn luyện. - ( )ij td ⊃ : là số các văn bản mà cụm từ ti xuất hiện thoả mãn in khác 0. 23 Một cụm từ t xuất hiện nhiều lần trong văn bản, và xuất hiện ít lần trong các văn bản khác của tập dữ liệu mẫu thì có trọng số TF.IDF cao. Với tính chất như vậy, TF.IDF có ý nghĩa trong việc lọc bỏ các cụm từ chung. Chúng ta cũng có thể sử dụng phương pháp này để tìm những cụm từ mang ý nghĩa phân lớp cao bằng cách đánh trọng số của từ trên một lớp. 3.3.4. Huấn luyện mô hình Sau khi đã xây dựng được tập các đặc trưng ta tiến hành huấn luyện mô hình. Ở bước này chính là lúc áp dụng các thuật toán ước lượng tham số để tìm ra tập trọng số λ (mỗi một đặc trưng if sẽ được gán một trọng số iλ ). Một văn bản mới có một tập các đặc trưng, chính tập trọng số sẽ quyết định mức độ quan trọng của các đặc trưng và chúng ảnh hưởng trực tiếp đến quá trình phân lớp cho văn bản mới, từ đó dự đoán một cách chính xác lớp cho văn bản đó. Trong quá trình huấn luyện mô hình, chúng ta cần tiến hành đánh giá độ chính xác của bộ phân lớp. Nói cách khác, trong quá trình này cần đánh giá khả năng đoán nhận của mô hình thông qua độ chính xác (accuracy) của quá trình huấn luyện. 3.3.5. Phân lớp văn bản mới Với một văn bản mới, bộ phân lớp sẽ thực hiện tính toán xác suất trên từng lớp của văn bản. Tổng các giá trị xác suất này bằng 1. Lớp nào có giá trị cao nhất, văn bản sẽ thuộc lớp đó. Lớp cho văn bản mới được tính theo công thức sau: * argmax ( | ) y y p y xλ= trong đó, *y là lớp tương ứng với xác suất ( )xyp |λ cao nhất. Hàm argmax là hàm cực đại đối số, nó trả về giá trị của argument (ở đây là y) mà tại đó hàm đạt max. Rõ ràng, những đặc trưng quan sát được trong văn bản mới mà không có trong mô hình, tức là không quan sát thấy trong tập dữ liệu huấn luyện sẽ nhận giá trị sai, xem như là không có vì vậy chúng không làm ảnh hưởng đến xác suất của văn bản trên từng lớp. Chỉ những đặc trưng có giá trị là đúng mới có ý nghĩa quan trọng quyết định văn bản đó thuộc lớp nào. Thực tế, tính tách rời của cây phân lớp chuẩn khó có thể được đảm bảo, vì có rất nhiều văn bản có thể được chia vào nhiều lớp. Trong trường hợp này, chúng ta sẽ sử dụng chiến lược phân đa lớp dựa trên độ lệch chuẩn đã đề xuất tại [1]. 24 3.4. Đánh giá độ chính xác của bộ phân lớp Bên cạnh việc xây dựng một bộ phân lớp hoàn chỉnh thì việc đánh giá ước lượng độ chính xác của bộ phân lớp đó không kém phần quan trọng. Trên cơ sở đó mới so sánh được chất lượng của các bộ phân lớp khác nhau (trên cùng một tập dữ liệu thử nghiệm). Đã có rất nhiều các phương pháp ước lượng độ chính xác của một bộ phân lớp, ví dụ như: handout method, ước lượng chéo trên k tập con (k-fold cross validation), hay leave-one-out cross validation,… Trong khoá luận, chúng tôi sử dụng phương pháp ước lượng chéo trên k tập con. Ý nghĩa của phương pháp này là để đo độ chính xác của mô hình trên toàn tập dữ liệu; có nghĩa là đánh giá mức độ thích ứng cũng như sức mạnh phân lớp của mô hình một cách chính xác hơn, toàn diện hơn. 3.4.1. Các độ đo Độ hồi tưởng, độ chính xác, độ đo F1 là các độ đo cơ bản trong lý thuyết nhận thông tin (Information Retrival). 2* * num_of_matchprecision num_of_model num_of_matchrecall num_of_manual precision recallF1 precision recall = = = + trong đó, - num_of_match: số lượng văn bản trùng hợp mà mô hình và con người cùng phân lớp vào một lớp nào đó. - num_of_model: số lượng văn bản mà mô hình đã gán cho một lớp nào đó. - num_of_manual: số lượng văn bản được con người (gán bằng tay) gán vào một lớp nào đó. Độ chính xác mà chúng ta sử dụng để đánh giá mô hình được tính là số lượng văn bản được phân lớp đúng bởi mô hình chia cho tổng số lượng văn bản. Vì vậy nếu xét trên tổng thế thì độ chính xác

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

  • pdfPhân lớp tài liệu web độc lập ngôn ngữ.pdf