3. Cấu trúc của luận văn
3.3. Mơ hình Maximum Entropy (ME)
Hoặc chúng ta cũng cĩ thể định nghĩa entropy theo khái niệm kỳ vọng như sau: Entropy của một phân phối xác suất là giá trị kỳ vọng của thơng tin của phân phối đĩ.
Ngồi cơng thức tính entropy cho một phân phối xác suất, ta cĩ một số cơng thức khác như sau:
Entropy hợp của một cặp biến rời rạc (X,Y):
( , ) ( , ) log (x, y) x y H X Y p x y p (3.4)
Entropy cĩ điều kiện
Ta cĩ định nghĩa về entropy cĩ điều kiện của 2 biến ngẫu nhiên X, Y như sau:
( | ) ( , ) log (y | x) x y H X Y p x y p (3.5) Một số tính chất của entropy H X( ) 0 p x( ) Chứng minh: 0 ≤ ( )p x ≤ 1 log ( ) 0 p x x X
H X( ) log( M) với M là tổng số giá trị ouput khác nhau.
H X( ) 0 p(x) 1 H(X)H X Y( | )
Tính đối xứng: H x x x( ,1 2, 3,...,xn)H x x x( , ,2 1 3,...,xn) Luật xích: H(X, Y)H(X) H(Y | X) H(Y) H(X | Y)
3.3.Mơ hình Maximum Entropy (ME) 3.3.1. Các ràng buộc và đặc trƣng 3.3.1. Các ràng buộc và đặc trƣng
Trong mơ hình entropy cực đại, chúng ta sử dụng các tập mẫu huấn luyện (training data) để sinh ra các ràng buộc cho phân phối điều kiện. Mỗi ràng buộc thể hiện một đặc trưng của tập mẫu mà phân phối đã học cần cĩ. Phân phối sau khi học xong phải thỏa mãn tất cả các ràng buộc sinh ra từ tập mẫu, ngồi ra khơng cho thêm bất kì giả thiết nào khác.
Các hàm đặc trưng ( , )f x y (cịn gọi tắt là đặc trưng) là một hàm nhị phân với 2 tham số: y ∈tập các lớp cần phân loại và x ∈ tập các ngữ cảnh:
{0,1}
f
Giá trị kỳ vọng của f cĩ phân phối xác suất quan sát được ( , )p x y là:
,
( , ) ( , )
p i a b
E f p x y f x y (3.6)
Mọi tri thức quan sát được từ tập mẫu đều cĩ thể được biểu diễn dưới dạng giá trị kỳ vọng của một hàm đặc trưng f phù hợp.
Với k đặc trưng, các ràng buộc được biểu diễn dưới điều kiện:
p i p i
E f E f (3.7)
với 0 ≤ i ≤ k.
Việc chúng ta lựa chọn các hàm đặc trưng là tùy thuộc vào từng bài tốn khác nhau và cách lựa chọn đặc trưng sẽ ảnh hưởng đến chất lượng của bộ phân lớp.
3.3.2. Nguyên lý Entropy cực đại
Giả sử ta cĩ n đặc trưng f là những thống kê quan trọng từ tập mẫu để mơ hình hĩa quá trình ra quyết định phân lớp, ta sẽ muốn mơ hình p sẽ đáp ứng được các ràng buộc thống kê này. Cụ thể, ta muốn mơ hình p sẽ thuộc tập C là tập con của P định nghĩa như sau:
{ | ( )i ( )}i
C pP p f p f với i{1, 2,..., }n (3.8) Theo nguyên lý của entropy cực đại, ta cần chọn ra mơ hình p thuộc C cĩ phân phối đồng đều nhất. Và câu hỏi đặt ra cần trả lời là “đồng đều” cĩ nghĩa là gì và được tính như thế nào?
Từ những tính chất của entropy trong mục 2.1 ta cĩ thể thấy entropy của một phân phối xác suất cịn thể hiện sự đồng đều trong phân phối xác suất. Cụ thể, entropy càng cao thì phân phối càng đều. Nguyên lý Entropy cực đại cho rằng: Với một tập các dữ liệu đã biết trước, phân phối xác suất tốt nhất trong tập các phân phối xác suất cĩ thể để biểu diễn trạng thái hiện tại của tri thức, là phân phối xác suất cĩ entropy cực đại và phân phối này là duy nhất.
Ta cĩ thể tĩm tắt ý tưởng, bản chất của nguyên lý entropy cực đại như sau: Nguyên lý entropy cực đại khơng giả thiết bất cứ điều gì về phân phối xác suất ngồi những gì quan sát được từ tập dữ liệu, đồng thời luơn chọn phân phối xác suất đồng đều nhất phù hợp với các ràng buộc quan sát được này.
3.3.3. Dạng tham số
Bài tốn đặt ra theo nguyên lý entropy cực đại cĩ dạng: tìm p* thuộc C sao cho entropy là lớn nhất. Bài tốn cĩ thể dễ dàng được giải quyết khi số ràng buộc là ít và đơn giản, tuy nhiên, trong thực tế số các ràng buộc tăng lên và chồng chéo nhau như trong ví dụ ở mục 2.1 thì ta cần một hướng giải quyết hiệu quả hơn.
Để giải quyết vấn đề này, chúng ta cĩ thể áp dụng phương pháp thừa số Lagrange như sau [1]:
Với mỗi đặc trưng fi ta cĩ một tham số i (thừa số nhân Lagrange), hàm Lagrange được định nghĩa như sau:
( , ) ( ) i( ( )i ( ))i
i
p H p p f p f
(3.9)
Giữ λ cố định, ta tìm p sao cho hàm khơng ràng buộc ( , ) p cực đại. Ta định nghĩa hàm số ( ) là giá trị của hàm Lagrange tại p .
Ta cĩ cơng thức tính p và ( ) như sau:
1 ( | ) exp ( , ) ( ) i i i p y x f x y x (3.10) ( ) ( ) log ( ) i ( )i x i p x x p f (3.11)
Trong đĩ ( )x là hằng số chuẩn hĩa thỏa mãn: ( | ) 1
y p y x x . Ta cĩ cơng thức tính ( )x : ( ) exp i i( , ) y i x f x y (3.12)
Theo lý thuyết thừa số Lagrange, nếu tìm được * arg max ( ) thì p* là
phân phối cần tìm. Hệ quả quan trọng của kết quả này là ta cĩ thể kết luận: mọi giải thuật tìm *cũng cĩ thể được sử dụng để tìm p* của H(p) với p thuộc C.
3.3.4. Tính tốn các tham số
Đối với tất cả các vấn đề, trừ vấn đề đơn giản nhất, giá trị * làm cho ( )
cực đại khơng thể được tính tốn bằng các phương pháp giải tích mà thay vào đĩ là các phương pháp số học. Cĩ nhiều phương pháp số học được sử dụng, cĩ thể kể đến như IIS (Improved Iterative Scaling), L-BFGS, GIS (Generalized Iterative Scaling).
Trong phần này, chúng tơi sẽ giới thiệu tổng quan về hai phương pháp phổ biến và tốt nhất hiện nay cho bộ phân lớp dựa trên mơ hình entropy cực đại: IIS và L-BFGS [6] .
Phương pháp Improved Iterative Scaling
Phương pháp này được hai nhà khoa học Darroch và Ratcliff giới thiệu vào năm 1972 để tính tốn các xấp xỉ cực đại likelihood cho các tham số của các mơ hình hàm mũ (exponential model). Thuật tốn này được áp dụng với điều kiện các hàm đặc trưng f x yi( , ) khơng âm:
( , ) 0 x, y,i
i
f x y
Trong bài tốn phân lớp chúng ta đang giải quyết, điều kiện này hiển nhiên thỏa mãn do các hàm đặc trưng là các hàm nhị phân. Nội dung của thuật tốn được trình bày như sau:
Input: Các hàm đặc trưng f x yi( , ) và phân phối thực nghiệm ( , )p x y
Output: Các tham số tối ưu i* và mơ hình tối ưu p*
Bước 1: Bắt đầu với i = 0 với mọi i ∈{1,2,…,n}
Bước 2: Với mỗi i thực hiện:
Gọi i là nghiệm của phương trình:
# , ( ) i( , )exp( i ( , )) ( )i x y p x p(y | x)f x y f x y p f (3.13) Trong đĩ: # 1 ( , ) ( , ) n i i f x y f x y
Cập nhật lại giá trị của i theo cơng thức: i=i+i
Bước 3: Quay lại bước 2 nếu như tất cả các i đều chưa hội tụ.
Từ các bước của giải thuật ta thấy bước 2a là bước then chốt để giải bài tốn. Ta cần tìm được giá trị ilà nghiệm của phương trình.
Nếu #
( , )
f x y là hằng số (giả sử bằng M) thì ta cĩ thể tính được giá trị :i 1 ( ) log ( ) i i i p f M p f (3.14) Nếu # ( , )
f x y khơng phải là hằng số thì giá trị của iphải được tính theo phương pháp số học. Một phương pháp đơn giản và hiệu quả là phương pháp Newton. Phương pháp này tính giá trị ∝* của phương trình g(∝*) = 0 lặp đi lặp lại bằng cách tính:
1 ' ( ) ( ) n n n n g g (3.15) Phương pháp L-BFGS (Limited-memory BFGS)
L-BFGS là một thuật tốn tối ưu trong họ các phương pháp quasi-Newton cho phép xấp xỉ thuật tốn BFGS gốc sử dụng bộ nhớ giới hạn của máy tính. Để hiểu rõ phương pháp này, chúng tơi sẽ giới thiệu tổng quan về phương pháp Newton và phương pháp Quasi-Newton trước khi giới thiệu về thuật tốn L-BFGS
Phương pháp Newton
Hầu hết các phương pháp tối ưu số học là các giải thuật lặp trong đĩ ta thử dần các giá trị của biến cần tìm, hội tụ dần về giá trị tối ưu của hàm số đã cho. Hay nĩi cách khác, với hàm số * arg max ( )x f x , giả sử ta cĩ một giá trị xấp xỉ xn, ta mong muốn giá trị thử tiếp theo là xn1 thỏa mãn: f x( )n f x( n1).
Phương pháp Newton tập trung vào xấp xỉ bậc 2 của hàm số cho các điểm xung quanh xn. Giả sử hàm số f là khả vi hai lần (twice-differentiable), chúng ta cĩ thể sử dụng xấp xỉ bậc 2 của hàm f cho các điểm „gần‟ một điểm cố định bằng khai triển Taylor:
2 1 ( ) ( ) ( ) ( ( )) 2 T T f x x f x x f x x f x x (3.16) Trong đĩ f x( ) và 2 ( ) f x
lần lượt là gradient và ma trận Hessian của hàm số f tại điểm x. Xấp xỉ này đúng với giá trị x tiến dần tới 0. Khơng mất tính tổng quát, ta cĩ thể viết: xn1xn x và viết lại phương trình trên như sau: 1 ( ) ( ) 2 T T n n n n h x f x x g x H x (3.17)
Trong đĩ gn và Hn lần lượt là gradient và ma trận Hessian của hàm số f
tại xn.
Chúng ta cần chọn giá trị x để cực đại giá trị xấp xỉ địa phương của hàm
f tại xn. Lấy đạo hàm riêng với xta cĩ:
( ) n n n h x g H x x (3.18)
Để tìm giá trị xsao cho hàm số đạt cực đại địa phương ta chỉ cần giải
phương trình hn( x) 0 x hay ta cĩ: 1 n n x H g (3.19)
Trong thực tế, chúng ta thường lấy giá trị 1 1 n n n n n x x x x H g
với là hằng số sao cho ( )
n
f x vừa đủ nhỏ hơn f x( n1).
Từ lý luận trên, ta cĩ giải thuật lặp NewtonRapshon như sau:
Hình 3.1: Giải thuật lặp NewtonRapshon
Giải thuật trên cĩ thể được chứng minh luơn hội tụ tới điểm tối ưu cho hàm f cực đại nếu f là một hàm số lõm hay hội tụ tới f cực tiểu nếu f là hàm lồi với lựa chọn x0 bất kỳ.
Trong thực tế với các bài tốn học máy như chúng ta đang quan tâm, f
thường là một hàm số nhiều chiều với số chiều tương ứng với số tham số của mơ hình học. Số tham số này thường rất lớn, cĩ thể lên tới hàng trăm triệu hoặc thậm chí hàng tỉ, điều này khiến cho việc thực hiện tính tốn theo phương pháp Newton là khơng thể do khơng thể tính được ma trận Hessian hay nghịch đảo của nĩ. Chính vì vậy, trong thực tế, giải thuật NewtonRapshon rất ít khi được sử dụng với các bài tốn lớn. Tuy nhiên, thuật tốn trên vẫn đúng với ma trận Hessian xấp xỉ đủ tốt mà khơng cần chính xác tuyệt đối. Phương pháp được sử dụng để xấp xỉ ma trận Hessian này là Quasi-Newton.
Quasi-Newton
Phương pháp Quasi-Newton sử dụng một hàm QuasiUpdate để sinh ra ma trận Hessian nghịch đảo tại xn1 dựa trên ma trận Hessian nghịch đảo tại xn:
Hình 3.2: QuasiNewton Update
Ở đây, chúng ta giả sử rằng phương thức QuasiUpdate chỉ cần ma trận nghịch đảo tại điểm liền trước đĩ, độ lệch giữa 2 điểm và độ lệch gradient của chúng.
Bốn nhà nghiên cứu Broyden, Fletcher, Goldfarb và Shanno đã tìm ra phương thức tính xấp xỉ ma trận Hessian nghịch đảo 1
n
H mà ta gọi là phương thức BFGS Update:
Hình 3.3: BFGS Update
Ta chỉ cần sử dụng phương thức này ứng dụng vào trong phương thức QuasiNewton ở trên để xấp xỉ tham số.
Xấp xỉ BFGS Quasi-Newton cĩ ưu điểm là khơng cần chúng ta phải tính tốn ra ma trận Hessian của hàm số f mà thay vào đĩ, ta cĩ thể liên tục cập nhật các giá trị xấp xỉ của nĩ. Tuy nhiên, chúng ta vẫn cần phải lưu lại lịch sử
của các vector sn và yn trong mỗi vịng lặp. Nếu vấn đề cốt lõi của phương pháp NewtonRapshon là bộ nhớ cần thiết để tính tốn ma trận nghịch đảo Hessian là quá lớn thì phương pháp BFGS Quasi-Newton chưa giải quyết được vấn đề này do bộ nhớ liên tục tăng khơng cĩ giới hạn. Chính vì lẽ đĩ, phương pháp L-BFGS ra đời với ý tưởng chỉ sử dụng m giá trị sk và yk gần nhất để tính tốn hàm update BFGS thay vì tồn bộ số lượng vector. Việc này giúp cho bộ nhớ luơn là hữu hạn.
Chƣơng 4
Kết quả thử nghiệm và đánh giá 4.1.Tiến hành thử nghiệm
Bƣớc 1: Tự động thu thập dữ liệu từ các trang mạng trực tuyến: baomoi.com, vnexpress.net và dantri.com.vn.
Bƣớc 2: Tiền xử lý dữ liệu thu thập được: làm sạch và chuẩn hĩa dữ liệu, gán nhãn loại từ cho từng câu bình luận.
Bƣớc 3: Nhận dạng thủ cơng từng câu trong bộ dữ liệu mẫu và phân vào các lớp positive (tích cực), negative (tiêu cực) và other (khác)
Bƣớc 4: Tách 1832 câu trong bộ dữ liệu đã gán nhãn thành bộ test và 7521 câu cịn lại là bộ huấn luyện. Thành phần các nhãn của các tập dữ liệu cụ thể như sau:
Hình 4.1: Thành phần các nhãn trong tập huấn luyện
2257
2148 3116
Tập huấn luyện
Hình 4.2: Thành phần các nhãn trong tập kiểm tra
Bƣớc 5: Chạy bộ phân lớp và so sánh kết quả phân lớp tự động so với kết quả phân lớp thủ cơng.
4.2.Tiền xử lý dữ liệu
Dữ liệu sau khi được crawl tự động về sẽ được đưa qua bộ tiền xử lý dữ liệu trước khi đưa vào nhận dạng thủ cơng. Bộ tiền xử lý là JvnTextPro do các tác giả của trường Đại học Cơng nghệ phát triển.
Ta cĩ một ví dụ sau:
Câu gốc thu được từ các kênh truyền thơng như sau:
“Những ảnh hưởng này xem chừng như khơng rõ ràng lắm, nhất là trong một thí nghiệm với vài chiếc bánh quy”
Sau khi được tiền xử lý, ta cĩ một câu như sau, mỗi câu là một quan sát về tập dữ liệu (observation):
“những/L ảnh_hưởng/N này/P xem/V chừng_như/C khơng/R rõ_ràng/A lắm/R nhất_là/X trong/E một/M thí_nghiệm/N với/E vài/L chiếc/Nc bánh_quy/N”
Trong ví dụ này, các dấu câu đã được loại bỏ, các từ được tokenize và gán nhãn loại từ. Bảng loại từ chi tiết trong Bảng 4.1 [8].
Bảng 4.1: Bảng nhãn từ và ý nghĩa
1 N: danh từ 10 R: phụ từ
2 Np: danh từ riêng 11 E: giới từ
3 Nc: danh từ chỉ loại 12 T: trợ từ, tiểu từ
4 Nu: danh từ đơn vị 13 B: từ mượn
5 V: động từ 14 Y: từ viết tắt
555
514 763
Tập kiểm tra
6 A: tính từ 15 X: các từ khơng phân loại được
7 P: đại từ 16 Mrk: dấu câu
8 L: định từ 17 C: liên từ
9 M: số từ 18 I: thán từ
4.3.Xây dựng mơ hình 4.3.1. Lựa chọn đặc trƣng
Như ta đã biết từ nội dung chương 2, các hàm đặc trưng f gồm hai tham số: ngữ cảnh và nhãn phân lớp.
Các hàm đặc trưng được xác định theo quy tắc sau:
Bƣớc 1: Tìm tất cả unigram, bigram của từng câu hay từng quan sát (observation).
Bƣớc 2: Sắp xếp danh sách các unigram và bigram thu được theo thứ tự giảm dần của loại từ (ưu tiên các tính từ, rồi đến danh từ, rồi đến động từ, rồi đến các loại từ khác).
Bƣớc 3: Lấy top 50 của danh sách sau khi sắp xếp làm đặc trưng cho câu hay quan sát đĩ.
4.3.2. Cài đặt thuật tốn học
Chúng tơi cài đặt bộ phân lớp sử dụng hệ điều hành windows 10 và ngơn ngữ lập trình Java với cơng cụ lập trình Eclipse.
Hệ thống cài đặt thuật tốn học ME sử dụng phương pháp L-BFGS để xấp xỉ tham số cho mơ hình.
4.4.Kết quả thử nghiệm
4.4.1. Các chỉ số đo kiểm chất lƣợng bộ phân lớp
Hệ thống được đánh giá dựa trên bộ ba tiêu chí đánh giá sau: Độ chính xác (precision)
Độ chính xác của bộ phân lớp được định nghĩa như sau:
ộ ố ự
ố ự (4.1)
Độ bao phủ (recall)
Độ bao phủ của bộ phân lớp được định nghĩa như sau: