Giá trị gần đúng

Một phần của tài liệu Mô hình maximum entropy và ứng dụng (Trang 34)

Thuật tốn 2 khơng phải là phương thức thực tế cho việc lựa chọn đặc trưng tăng dần. Với mỗi đặc trưng ứng cử f € F được xem xét trong bước 2, chúng phải tính xác suất mơ hình pSυf, đĩ là cơng việc rất tốn kém trong việc tính tốn ngay cả với thuật tốn iis. Bởi vậy chúng tơi giới thiệu một thuật tốn cải tiến, đĩ là thuật tốn tham ăn cĩ tính khả thi hơn. Chúng ta thay vì tính tốn độ gia tăng ∆L(S,f̃) của một đặc trưng f với phép tính xấp xỉ, thì chúng ta biểu diễn bằng ~∆L(S,f̃).

Nhắc lại rằng một xác suất mơ hình pS cĩ tập các tham số λ, với mỗi đặc trưng trong tập S. Xác suất mơ hình pSυf chứa tập các tham số này, cộng với tham số mới α, tương ứng với f.

Với cấu trúc này, chúng ta cĩ thể hy vọng rằng giá trị tối ưu của λ sẽ khơng thay đổi khi đặc trưng f được nối tếp vào tập S. Trường hợp này, khi sử dụng thêm ràng buộc sẽ yêu cầu tham số tối ưu α làm tăng liklihood. Thực vậy, khi một ràng buộc mới được sử dụng, các giá trị tối ưu của tồn bộ các tham số sẽ thay đổi.

Tuy nhiên, để dễ dàng tính tốn được thứ hạng của các đặc trưng, chúng ta xấp xỉ chúng, những đặc trưng thêm vào f chỉ tác động tới α, những giá trị λ cịn lại được kết hợp với những đặc trưng khác khơng thay đổi. Vì vậy, khi quyết định độ gia tăng trên xác suất mơ hình pS, chúng ta ràng buộc rằng mơ hình tốt nhất chứa các đặc trưng Sυf phải cĩ dạng như sau: ) , ( . exp( ) | ( 1 , P y x f x y Z

pSα f = S α với các giá trị thật của α (24)

Chỉ duy nhất tham số mà nĩ phân biệt được các mơ hình cĩ dạng (24) là α. Trong số các mơ hình đĩ, chúng ta quan tâm tới mơ hình mà nĩ làm tăng tính gần đúng.

) ( ) ( ) ( , ,f S f S S L P L P G α = α − = −∑x~p(x)logZα(x)+αE~(f ) (26)

Chúng ta sẽ biểu diễn sự tăng thêm của mơ hình này bởi:

) ( max ) , ( ~ ∆L S f = α GS,f α (27)

và mơ hình tối ưu bởi:

) ( max arg ~ PSf = GS,f α trên pα S,f (28)

Tính tốn giá trị gần đúng trong likelihood từ việc thêm các đặc trưng f vào pS đã đưa bài tốn tối ưu về dạng 1 chiều đơn giản hơn với một tham số α, nĩ cĩ thể được giải quyết bởi bất kỳ kỹ thuật tìm kiếm tuyến tính thơng thường nào (chẳng hạn như phương thức của Newton). Điều đĩ giúp tránh được những phép tính phức tạp và tăng độ chính xác của bài tốn, một bài tốn tối ưu n chiều yêu cầu nhiều phương thức phức tạp hơn như gradient liên hợp. Nhưng việc tiết kiệm chi phí đĩ: với một đặc trưng riêng biệt f nào đĩ, chúng ta hầu như đánh giá thấp giá trị của nĩ, và điều đĩ giúp chúng ta lựa chọn đặc trưng f mà giá trị gần đúng ~∆L(S,f) của nĩ là cao nhất thơng qua đặc trưng f với việc tăng tối đa giá trị ∆L(S,f).

Log-likelihood được biểu diễn như một hàm lồi tùy ý với 2 tham số (như hình vẽ): λ tương ứng với tham số cũ, và α ứng với tham số mới. Giữ cố định giá trị λ và thay đổi α để tăng log-likelihood bao gồm việc tìm kiếm trên tồn bộ khơng gian (λ,α).

Hình 3.2: log-likelihood được biểu diễn như hàm lồi 2 tham số

(trích dẫn: trang 15 quyển A Maximum Entropy Approach to Natural Language Processing)

Chương 4: Thực nghiệm phân loại văn bản 4.1 Thống kê kết quả thực nghiệm

Dữ liệu được sử dụng trong huấn luyện và kiểm thử là những bài báo được lọc ra từ trang web http://www.vnexpress.net/ bao gồm 6 chủ đề: kinh doanh, pháp luật, thể thao, văn hĩa, vi tính và xã hội. Mỗi chủ đề tương ứng với một thư mục với tên: kinh_doanh, phap_luat, the_thao, van_hoa, vi_tinh và xa_hoi. Với dữ liệu huấn luyện: kinh_doanh cĩ 540 file, phap_luat cĩ 240 file, the_thao cĩ 660 file, van_hoa cĩ 360 file, vi_tinh cĩ 660 file và xa_hoi cĩ 300 file. Với dữ liệu kiểm thử: kinh_doanh cĩ 423 file, phap_luat cĩ 179 file, the_thao cĩ 450 file, van_hoa cĩ 294 file, vi_tinh cĩ 524 file và xa_hoi cĩ 219 file.

Số lượng file của dữ liệu huấn luyện:

Tên chủ đề Số lượng file

kinh_doanh 540 phap_luat 240 the_thao 660 van_hoa 360 vi_tinh 660 xa_hoi 300

Bảng 4.1: Số lượng file của dữ liệu huấn luyện

Số lượng file của dữ liệu kiểm thử:

kinh_doanh 423 phap_luat 179 the_thao 450 van_hoa 294 vi_tinh 524 xa_hoi 219

Bảng 4.2: số lượng file của dữ liệu kiểm thử

Từ tập dữ liệu huấn luyện và kiểm thử thơ ban đầu này, trước khi được sử dụng để huấn luyện và kiểm thử cần qua một số bước lọc bỏ các đặc trưng khơng tốt. Bước thứ nhất, lọc bỏ các từ vơ nghĩa (stop word), các ký tự đặc biệt như {‘!’ ‘@’ ‘,’ ‘.’ ‘:’ ‘;’ ....} và gom nhĩm các từ vào cùng một nhĩm cĩ tính chất giống nhau. Ví dụ như gom các giá trị số đếm, ngày tháng năm... vào nhĩm number. Trong bước này, danh sách từ vơ nghĩa được xác định bằng thuật tốn TFIDF dựa trên tập dữ liệu huấn luyện và danh sách từ vơ nghĩa mẫu. Bước tiếp theo là lọc bỏ các đặc trưng theo tần số. Những đặc trưng cĩ tần số xuất hiện trong dữ liệu huấn luyện thấp hơn một giá trị nào đĩ (mặc định là 10) sẽ bị loại bỏ. Bước cuối cùng được thực hiện sau khi đã gán các trọng số cho từng đặc trưng. Tại bước này, những đặc trưng nào khơng làm tăng entropy của mơ hình thì sẽ bị loại bỏ.

Với chức năng huấn luyện của chương trình phân loại văn bản. Người dùng cĩ thể khởi tạo giá trị cho một số biến điều khiển như sau: lựa chọn feature (lọc bỏ những đặc trưng cĩ tần số nhỏ hơn giá trị được khởi tao), khởi tạo giá trị ban đầu cho λ, khởi tạo giá trị hội tụ Δλ trong thuật tốn IIS.

Với cùng một tập dữ liệu huấn luyện và kiểm thử như trên, tiến hành thực nghiệm với các giá trị khởi tạo khác nhau ta thu được những thống kê sau:

 Với các giá trị khởi tao: lựa chọn feature = 10, khởi tạo lamda = 0, giá trị hội tụ = 0. Chương trình chạy chức năng huấn luyện với thời gian 6 phút 41 giây. Với chức năng kiểm thử, tỉ lệ gán nhãn đúng trung bình là 98.19%. Trong đĩ tương ứng với từng chủ đề tỷ lệ gán nhãn đúng được biểu diễn như trong biểu đồ sau:

100 93.4 97.78 97.27 99.04 99.08 98.19 90 92 94 96 98 100 102 kinh doanh

pháp luật thể thao văn hĩa vi tính xã hội Trung

bình Tỷ lệ gán nhãn đúng (%) (adsbygoogle = window.adsbygoogle || []).push({});

 Với các giá trị khởi tao: lựa chọn feature = 20, khởi tạo lamda = 0, giá trị hội tụ = 0. Chương trình chạy chức năng huấn luyện với thời gian 2 phút 40 giây. Với chức năng kiểm thử, tỉ lệ gán nhãn đúng trung bình là 98.19%. Trong đĩ tương ứng với từng chủ đề tỷ lệ gán nhãn đúng được biểu diễn như trong biểu đồ sau:

100 88.83 98 96.93 99.23 98.17 97.72 82 84 86 88 90 92 94 96 98 100 102 kinh doanh

pháp luật thể thao văn hĩa vi tính xã hội Trung

bình Tỷ lệ gán nhãn đúng (%)

 Với các giá trị khởi tao: lựa chọn feature = 10, khởi tạo lamda = 0.3, giá trị hội tụ = 0. Chương trình chạy chức năng huấn luyện với thời gian 7 phút 00 giây. Với chức năng kiểm thử, tỉ lệ gán nhãn đúng trung bình là 98.43%. Trong đĩ tương ứng với từng chủ đề tỷ lệ gán nhãn đúng được biểu diễn như trong biểu đồ sau:

100 93.9 99.77 95.91 99.42 97.71 98.43 90 91 92 93 94 95 96 97 98 99 100 101 kinh doanh

pháp luật thể thao văn hĩa vi tính xã hội Trung

bình Tỷ lệ gán nhãn đúng (%)

Qua đĩ rút ra nhận xét rằng, kết quả của việc huấn luyện phụ thuộc phần nào vào việc khởi tạo giá trị lựa chọn lamda (lọc bỏ những đặc trưng cĩ tần số nhỏ hơn mức tối thiểu), vào giá trị khởi tạo λ và gí trị hội tụ của Δλ. Cặp giá trị khởi tạo này cĩ thể tốt với tập dữ liệu huấn luyện này nhưng lại là khơng tốt với tập dữ liệu khác. Do đĩ làm thế nào cĩ thể tìm được những giá trị khởi tạo tốt nhất cho từng tập dữ liệu huấn luyện riêng là điều rất khĩ. Điều đĩ địi hỏi nhiều kinh nghiệm trong quá trình xử lý với những tập dữ liệu huấn luyện khác nhau.

4.2 Các thành phần và chức năng của chương trình

Chương trình phân loại văn bản với mục đích kiểm nghiệm phương pháp phân loại văn bản cực đại entropy với tiếng Việt và đồng thời cũng là cơ sở để tích hợp vào hệ thống chặn nội dung web. Với tập dữ liệu huấn luyện tiếng Việt. Chương trình dựa vào phương pháp phân loại cực đại entropy để huấn luyện đưa ra tập dữ liệu đã được huấn luyện. Dữ liệu này sẽ được sử dụng cho việc kiểm thử, gán nhãn cho văn bản cần phân loại.

Chương trình gồm 3 chức năng chính: chức năng huấn luyện, chức năng kiểm thử và chức năng gán nhán.

4.2.1 Chức năng huấn luyện

Giao diện chính của chức năng như sau:

Hình 4.1: Giao diện chức năng huấn luyện

Bảng mơ tả các chức năng của giao diện huấn luyện:

St t

Mơ tả

2 Bắt đầu huấn luyện 3 Thốt khỏi chương trình 4 Lựa chọn đường dẫn thư mục

5 Chọn giá trị lọc feature (lọc bỏ các feature cĩ tần số <10)

6 Gán giá trị khởi tạo lamda cho thuật tốn iis 7 Gán giá trị hội tụ trong thuật tốn iis

8 Lựa chọn cĩ ghi file tần số hay khơng

9 Lựa chọn ngơn ngữ của tập dữ liệu huấn luyện

Bảng 4.3: Mơ tả giao diện huấn luyện

Mục Chọn đường dẫn cĩ 3 đường dẫn cần lựa chọn. Thứ nhât, đường dẫn tới nơi lưu dữ liệu huấn luyện cần huấn luyện. Thứ hai, là đường dẫn lưu dữ liệu sau khi được huấn luyện. Thứ ba, là đường dẫn lưu file tần số. Đường dẫn này chỉ được lựa chọn khi nút checkbox ghi file tần số được đánh dấu.

Bảng thơng báo kết quả huấn luyện cĩ dạng như sau:

Stt Tên nhãn Số lượng file Số lượng feature

1 kinh_doanh 540 1328 2 phap_luat 240 648 3 the_thao 660 1911 4 van_hoa 360 949 5 vi_tinh 660 1653 6 xa_hoi 300 1031

Với bài tốn phân loại văn bản, việc định nghĩa các đặc trưng được dựa trên các từ xuất hiện trong một chủ đề nào đĩ. Theo đĩ, nếu từ đĩ xuất hiện trong chủ đề thì đặc trưng đĩ được bật giá trị là 1 và ngược lại giá trị là 0. Ví dụ: xuất hiện từ “tiền” trong chủ đề là “kinh doanh” thì đặc trưng f(tiền, kinh_doanh) = 1 cịn f(đá_bĩng, kinh_doanh) = 0.

4.2.2 Chức năng kiểm thử (adsbygoogle = window.adsbygoogle || []).push({});

Giao diện chính chức năng kiểm thử:

Hình 4.2: Giao diện chức năng kiểm thử

Bảng mơ tả các chức năng của giao diện kiểm thử:

St t

Mơ tả

1 Trả lại giá trị mặc định của chức năng huấn luyện

2 Bắt đầu kiểm thử

3 Thốt khỏi chương trình 4 Lựa chọn đường dẫn thư mục

huấn luyện được chọn

Bảng 4.5: Mơ tả chức năng kiểm thử

Bảng thơng báo kết quả kiểm thử cĩ dạng như sau:

Stt Tên nhãn Số lượng file Số lượng feature 1 kinh_doanh 423 0 2 phap_luat 197 13 3 the_thao 450 10 4 van_hoa 423 0 Bảng 4.6: Kết quả kiểm thử 4.2.3 Chức năng gán nhãn

Hình 4.3: Giao diện chức năng gán nhãn

Các thành phần của chức năng gán nhãn tương tự như chức năng kiểm thử.

Bảng thơng báo kết quả gán nhãn cĩ dạng như sau:

St t Tên file Gán nhãn 1 file1.txt kinh_doanh 2 file2.txt phap_luat 3 file3.txt kinh_doanh 4 file4.txt the_thao 5 file5.txt van_hoa 6 file6.txt the_thao Bảng 4.7: Kết quả gán nhãn

Hình 4.4: Giao diện giới thiệu

4.3 Ứng dụng chặn nội dung web

Nhiệm vụ của chương trình là kiểm sốt nội dung của những trang web được người dùng truy cập và mạng Internet thơng qua trình duyệt (Internet Explorer). Mỗi khi người dùng nhập một địa chỉ url của một trang web vào trình duyệt. Chương trình sẽ bắt url và sử dụng địa chỉ url đĩ để lấy nội dung của trang web đĩ về. Sau đĩ xử lý nội dung, lọc bỏ những đoạn mã HTML để lấy những nội text của trang web (chính là những dịng text hiển thị trên màn hình khi trang web được load về máy người dùng). Nội dung đĩ sẽ được qua xử lý lọc bỏ các ký tự vơ nghĩa và một số thao tác tiền xử lý. Dựa vào hệ thống phân loại văn bản đã được kiểm thử ở trên, nội dung của trang web được tải về sẽ được phân loại vào chủ đề cụ thể. Qua việc phân loại đĩ giúp ta quyết định được với địa chỉ trang web đĩ cĩ được cho phép hay bị chặn lại.

4.3.1 Kỹ thuật lọc web Blue Coat

Kỹ thuật lọc web Blue Coat là một giải pháp lọc nội dung web thơng qua một “proxy”. Nĩ giúp cho các tổ chức kinh doanh cũng như các nhà cung cấp các dịch vụ mạng bảo vệ cho những người dùng và hệ thống của họ khỏi những mối đe dọa tới từ

Internet. Những mối đe dọa cĩ thể là các phần mềm gián điệp (spyware), các vụ tấn cơng lừa đảo...

Blue Coat bao gồm hơn 15 triệu các phạm trù, đại diện cho hàng tỉ các trang web, được sắp xếp theo các phạm trù hữu ích nhất. Để đảm bảo độ chính xác, mỗi trang web cĩ thể được phân thành nhiều phạm trù, nĩ cũng cho phép khách hàng xác định một số lượng khơng hạn chế các phạm trù được cho phép truy cập hay bị chặn để phù hợp với từng yêu cầu cụ thể (ví dụ như chặn các trang web được phân loại là thể thao hoặc vi tính). Đối với những trang web chưa được phân loại vào các phạm trù ở trên, thì việc cho phép hay chặn dựa trên kỹ thuật Dynamic Real-Time Rating (DRTR) là một kỹ thuật phân loại các trang web khi người dùng cố gắng truy cập.

Độ bao phủ của cơ sở dữ liệu:

Độ bao phủ của cơ sở dữ liệu là khả năng xác định trang web được phân loại vào một phạm trù nhất định. Để đánh giá độ bao phủ của cơ sở dữ liệu chúng ta xét ví dụ sau: Trong số 100 trang web thuộc phạm trù thể thao được sử dụng để đánh giá độ bao phủ của cơ sở dữ liệu. Với cơ sở dữ liệu đĩ, nĩ phân loại bao nhiêu trang web vào phạm trù thể thao. Khi đĩ số lượng những trang web được phân loại đúng càng cao thì độ bao phủ của cơ sở dữ liệu đĩ càng lớn.

Để cĩ độ bao phủ của cơ sở dữ liệu, bộ lọc web phải cĩ khả năng sau:

 Đánh giá tên miền (thay vì url hay địa chỉ ip) khi thích hợp:

Một tên miền cá nhân cĩ thể cĩ hàng ngàn các url. Url mới cĩ thể được thêm vào các phạm trù (trong cơ sở dữ liêu) hàng ngày. Đối với các tên miền đồng nhất, thì việc đánh giá theo tên miền sẽ cĩ nhiều lợi ích hơn so với url hay ip. Bằng cách đánh giá theo tên miền, tất cả những url mới được thêm vào tên miền trên ngay lập tức được kiểm sốt.

 Tỷ lệ các trang web tập hợp được chủ yếu từ yêu cầu của người sử dụng: Khơng nhà cung cấp nào cĩ thể đánh giá được tất cả 16 tỷ các trang web và cũng khơng cần thiết phải làm điều đĩ. Một tỷ lệ lớn các trang web này cĩ thể đã khơng cịn tồn tại. Blue Coat ưu tiên những trang web mà người dùng truy cập đã được phân loại trong cơ sở dữ liệu. Điều này được được thực hiện bởi kỹ thuật Dynamic Real-Time Rating (DRTR). Sau những lần truy

cập và phân tích các trang web. Những thơng tin đĩ sẽ được cập nhập cho cơ (adsbygoogle = window.adsbygoogle || []).push({});

Một phần của tài liệu Mô hình maximum entropy và ứng dụng (Trang 34)