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ơ sở dữ liệu.
Cập nhập cơ sở dữ liệu:
Như đã nĩi ở trên, để tăng hiệu quả về mặt thời gian thực Blue Coat sẽ tự động cập nhập những thơng tin đã được phân tích của các trang web sau khi người dùng truy cập. Những dữ liệu cập nhập này được gọi là cơ sở dữ liệu địa phương. Chúng được cập nhập thường xuyên để đảm bảo các trang web đĩ vẫn cịn hoạt động bình thường. Tính năng này giống như việc cập nhập giá cả.
4.3.2 Chức năng ứng dụng chặn nội dung web
Giao diện chính chương trình chặn nội dung web:
Hình 4.5: Giao diện chặn nội dung web
Bảng mơ tả các chức năng của giao diện chặn nội dung web:
Chức năng Mơ tả
Stop Dừng việc phân tích url được nhập vào trình duyệt
Refresh Khởi tạo các giá trị mặc địch cho các textfield Close Thốt hồn tồn khởi chương trình
Setting Cửa sổ cài đặt đối với dữ liệu phân lớp và chỉ ra những nội dung web bị chặn
About Cửa sổ giới thiệu về chương trình
Phân tích Thực hiện việc phân tích địa chỉ url được nhập vào textfield tương ứng để thực hiện việc cho phép hoặc chặn truy cập với url đĩ
Cho phép Cho phép địa chỉ url được nhập vào text field tương ứng được truy cập
Chặn Chặn địa chỉ url được nhậpvào text field tương ứng khơng được truy cập
Danh sách url cho phép truy cập
Một danh sách gồm những địa chỉ url đã được phân tích là thuộc vào những url được phép truy cập
Danh sách url bị chặn truy cập
Một danh sách gồm những địa chỉ url đã được phân tích là thuộc vào những url bị chặn khơng được truy cập
Bảng 4.8: Chức năng giao diện chặn nội dung web
Tại giao diện chính khi người dùng tắt cửa sổ bằng button close của cửa sổ cĩ hình x
thì cửa sổ sẽ được thu nhỏ xuống thanh system tray. Nếu muốn hiển thị lại người dùng chỉ việc nhấp chuột phải vào biểu tượng chương trình tại thanh system tray rồi chọn
show. Ngồi lựa chọn show bạn cĩ thể chọn start, stop hay exit.
Hình 4.6: Cửa sổ setting
Chức năng setting rất đơn giản như sau: mặc định ban đầu khi bạn cài đặt chương trình chặn nội dung web đã cĩ dữ liệu phân lớp. Nếu như bạn muốn sử dụng dữ liệu phân lớp nào khác thì cĩ thể dùng button “...” để chỉ ra đường dẫn tới thư mục chứa dữ liệu phân lớp mới của bạn. Sau khi lựa chọn xong dữ liệu phân lớp, tất cả các chủ đề của dữ liệu được liệt kê trong Danh sách các chủ đề phân lớp như hình vẽ. Trong số các chủ đề đĩ, bạn cĩ thể chọn 1 hay nhiều chủ đề sẽ bị chặn truy cập và nhấp vào button “=>” để chuyển vào danh sách các chủ đề bị chặn. Sau khi đã cài đặt xong bạn nhấp vào button Lưu để lưu lại những thay đội hoặc Thốt để trở lại với cài đặt trước đấy.
Chương 5: Kết luận
5.1 Kết quả đạt được
Thơng qua việc tìm hiểu và nghiên cứu một số phương pháp phân loại văn bản như: Nạve Bayes, k-Nearest Neighbor, Linear Least Squares Fit, Support Vector Machine, mơ hình cực đại Entropy giúp hiểu rõ về các phương pháp phân loại văn bản, những ưu nhược điểm của từng phương pháp. Qua việc phân tích ưu nhược điểm này giúp lựa chọn phương pháp phân loại văn bản tốt nhất cho bài tốn phân loại văn bản, phục vụ cho mục đích cuối cùng của luận văn. Với ưu điểm mềm dẻo và linh hoạt của mơ hình cực đại entropy, luận văn sử dụng mơ hình cực đại entropy để giải quyết bài tốn phân loại văn bản. Lý thuyết mơ hình cực đại entropy được trình bày chi tiết tại chương 3 với những khái niệm về dữ liệu huấn luyện, thống kê, đặc trưng và các ràng buộc. Nguyên lý hoạt động của mơ hình cực đại entropy với bài tốn phân loại văn bản. Cách tính các tham số với thuật tốn IIS và cơ sở lựa chọn các đặc trưng.
Dựa trên những cơ sở lý thuyết của mơ hình cực đại entropy để phát triển chương trình phân loại văn bản. Chương trình được viết bằng ngơn ngữ lập trình Java với giao diện tiện dụng và đầy đủ các chức năng (huấn luyện, kiểm thử và gán nhãn). Chương trình chặn nội dung web là một ứng dụng của bài tốn phân loại văn bản. Chương trình dựa trên nội dung của trang web và chương trình phân loại văn bản ở trên để phân loại trang web theo các chủ đề. Bên cạnh tính năng phân loại, chương trình cĩ khả năng chặn truy cập những trang web theo một số chủ đề nào đĩ được chỉ ra bởi người quản trị. Điều đĩ giúp quản lý việc truy cập Internet cĩ hiệu quả hơn và tránh được những trang web cĩ nội dung khơng tốt. Tồn bộ mã nguồn của chương trình phân loại văn bản và chặn nội dung web được sử dụng trong luận văn đều được xây dựng và phát triển từ đầu.
Về mặt thực nghiệm, những kết quả thực nghiệm của chương trình chặn nội dung web được thống kê chi tiết tại chương 4. Theo đĩ, về mặt thời gian huấn luyện cũng như tỷ lệ gán nhãn thành cơng trong kiểm thử của chương trình đạt kết quả rất tốt. Tỷ lệ gán nhãn đúng trong kiểm thử qua nhiều lần thực nghiệm hơn 98%. Kết quả này cịn được cải thiện tốt hơn với việc thay đổi các tham số điều khiển như: khởi tạo λ, lựa chọn đặc trưng và giá trị hội tụ của Δλ. Với chương trình chặn nội dung web, chương trình được kiểm tra với trình duyệt Internet Explorer. Chương trình tự động kiểm tra những địa chỉ url mà
người dùng nhập vào trình duyệt. Sau đĩ phân tích nội dung của trang web đĩ. Nếu nội dung thuộc chủ đề được phép truy cập chương trình sẽ cập nhập địa chỉ url vào danh sách các địa chỉ url được phép truy cập trên giao diện chương trình. Điều đĩ tương ứng với địa chỉ url bị chặn, chỉ khác ở chỗ địa chỉ url bị chặn sẽ được đưa vào danh sách url bị chặn của ip-sec của window thơng qua các luật. Ngồi chức năng phân tích tự động thơng qua trình duyệt Internet Explorer, người quản trị cũng cĩ thể phân tích trực tiếp một địa chỉ url nào đĩ từ chương trình chặn nội dung web thơng qua giao diện cũng như trực tiếp cho phép truy cập hay chặn truy cập với một url nào đĩ.
5.2 Những hạn chế và hướng giải quyết
Qua những thống kê thực nghiệm của chương trình phân loại văn bản. Một hướng giải quyết mới giúp nâng cao khả năng gán nhãn sẽ là việc thay đổi các tham số điều khiển (khởi tạo λ, lựa chọn đặc trưng và giá trị hội tụ của Δλ). Bằng việc thay đổi đĩ sẽ giúp tìm ra được mơ hình hồn thiện nhất ứng với những tập dữ liệu huấn luyện khác nhau.
Do thời gian cĩ hạn nên trong khuơn khổ luận văn mới chỉ phát triển được những tính năng cở bản của chương trình chặn nội dung web nhằm ứng dụng bài tốn phân loại văn bản. Chương trình vẫn cịn nhiều hạn chế như: chương trình mới chỉ làm việc trên trình duyệt Internet Explorer và cơ chế chặn truy cập hoạt động chưa được tốt.
Tài liệu tham khảo
Tài liệu tiếng Anh
[1] Adam Berger; The Improved Iterative Scaling Algorithm: A Gentle Introduction; 1997
[2] Adam L. Berger & Stephen A. Della Pietra & Vincent J. Della Pietra; A Maximum Entropy Approach to Natural Language Processing; 1996
[3] Adwait Ratnaparkhi; A Simple Introduction to Maximum Entropy Models for Natural Language Processing; 1997
[4] Adwait Ratnaparkhi; Maximum Entropy Models for Natural Language Ambiguity Resolution; 1998
[5] Blue Coat; Blue Coat WebFilterTMTechnology.
[6] Christopher D. Manning & Hinrich Schutze; Foundations of Statistical Natural Language Processing; 1999; 612 - 645
[7] Jeffrey C. Reynar & Adwait Ratnaparkhi;A Maximum Entropy Approach to identifying sentence boundaries; 1997.
[8] Jun’ichi Kazama & Jun’ichi Tsujii; Evaluation and Extension of Maximum Entropy Models with Inequality Constraints; 2003
[9] Kamal Nigam & John Lafferty & Andrew McCallum; Using Maximum Entropy for Text Classification
[10] Radu Ioan Bot & Sorin Mihai Grad & Gert Wanka; Maximum Entropy Optimization for Textclassification problems;1999
[11] RobertMalouf; A comparison of algorithms for maximum entropy parameter estimation
[12] Ronald Rosenfeld; A Maximum Entropy Approach to Adaptive Statistical Language Modeling
[13] Stanley F. Chen & Ranald Rosendfeld; A Gausan Prior for smoothing Maximum Entropy Models; 1999
[14] Thorsten Joachims; A probabilistic analysis of the Rocchio algorithm with TFIDF for text categorization; 1997
Tài liệu tiếng Việt
[1] Hồ Quốc Bảo, Đơng Thị Bích Thủy; Ứng dụng xử lý ngơn ngữ tự nhiên trong tìm kiếm thơng tin trên văn bản tiếng việt;
[2] Nguyễn Lính Gian, Nguyễn Mạnh Hiển; Phân loại văn bản tiếng việt với bộ phân loại vector hỗ trợ SVM; 2005
[3] Nguyễn Thị Ngọc Hợp; Phân loại văn bản sử dụng hạt nhân của chuỗi;
[4] Vũ Thanh Nguyên, Trang Nhật Quang; Ứng dụng thuật tốn phân lớp rút trích thơng tin văn bản FSVM trên Internet; 2008
[5] Đỗ Phúc, Mai Xuân Hùng, Nguyễn Thị Kim Phụng; Gom cụm đồ thị và ứng dụng vào việc rút trích nội dung chính của khối thơng điệp trên diễn đàn thảo luận; 2008
[6] Phạm Thị Thơm; Ứng dụng phương pháp phân loại văn bản Naive Bayes vào việc xây dựng chương trình mail client với khả năng lọc thư rác tự động; 2006
Phụ lục
Chức năng của các các lớp sử dụng trong chương trình phân loại văn bản:
Tên lớp Mơ tả
EmpiricalDistribution Lớp bao gồm các hàm: get_distribution_xy, get_distribution_x. Được dùng để tính xác suất thực nghiệm và xác suất ngữ cảnh Feature Lớp bao gồm các hàm: set_feature, get_c. Dùng để gán giá trị {0,1} cho các đặc trưng và tính giá trị C (giá trị tổng các đặc trưng của từng nhãn lớn nhất)
IIS Lớp bao gồm các hàm: get_z, get_p_yx,
get_empirical_expectation, get_model_expectation,
delta_lamda, lamda, write_lamda, write_all. Dùng để cài đặt thuật tốn IIS cho việc tính tốn trọng số cho từng đặc trưng InputFile Lớp bao gồm các hàm: read_input, write_input, set_lamda,
set_model_distribution. Dùng để tính trọng số của từng đặc trưng cho file cần gán nhãn và đưa ra tên nhãn được gán LamdaFile Lớp bao gồm các hàm: cut_tag_name, read_lamda_file,
read_all. Dùng để đọc nội dung của các file đã được huấn luyện gồm các từ và trọng số vào các mảng
NonsensicalWord Lớp bao gồm các hàm: read_nonsensical_word,
nonsensical_word. Dùng để đọc vào nội dung file chứa các từ stop-word và kiểm tra một từ nào đĩ cĩ phải là stop-wrod hay khơng
Test Lớp bao gồm các hàm: cut_tag_name, test_event, set_tag. Dùng để kiểm thử dữ liệu đã được huấn luyện và gán nhãn cho văn bản bất kỳ
Training Dùng cho chức năng huấn luyện
TrainingFile Lớp bao gồm các hàm: cut_tag_name, read_training, read_all, set_frequency, set_frequency_all_data, feature_selection,
write_train, write_all, update_training. Dùng để đọc nội dung các file trong dữ liệu huấn luyện, gán tần số xuất hiện cho từng từ và lọc những từ cĩ tần số nhỏ hơn mức tối thiểu (mặc định là 10)
Main Lớp là giao diện đồ họa của chương trình, xử lý các sự kiện ứng với từng chức năng của chương trình
Chức năng các hàm cụ thể được sử dụng trong chương trình phân loại văn bản:
Tên hàm Mơ tả