0
Tải bản đầy đủ (.pdf) (60 trang)

Chức năng ứng dụng chặn nội dung web 40

Một phần của tài liệu LUẬN VĂN: MÔ HÌNH MAXIMUM ENTROPY PDF (Trang 48 -60 )

41

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

Start Bắt đầu phân tích bắt và phân tích url 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 Thoát hoàn toà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 đó

42

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. Ngoài lựa chọn show bạn có thể chọn start, stop hay exit.

Tiếp theo là giao diện chắc năng setting dùng để cài đặt dữ liệu phân lớp như sau:

43

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 Thoát để trở lại với cài đặt trước đấy.

Và cuối cùng là cửa sổAbout giới thiệu về chương trình:

44

Chương 5: Kết lun

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ư: Naï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 toá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 toá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 toán phân loại văn bản. Cách tính các tham số với thuật toá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 toá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. Toà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

45

đượ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. Ngoà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 hoà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 toá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.

46

Tài liu tham kho

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

47

[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 toá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

48

Ph lc

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 toán IIS cho việc tính toá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ỳ

49

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ả

double get_distribution_xy(int context_arg, int tag_arg)

Tính xác suất thực nghiệm của cặp ngữ cảnh (context_arg, tag_arg) và kết quả trả lại kiểu double

double get_distribution_x(int context_arg, int tag_arg)

Tính xác suất ngữ cảnh của ngữ cảnh contex_arg

void set_feature() Hàm gán giá trị cho mảng đặc trưng. Có giá trị 1 nếu đặc trưng xuất hiện trong dữ liệu huấn luyện, 0 nếu ngược lại

double get_c() Trả lại giá trị tổng các đặc trưng của từng nhãn lớn nhất

double get_z() Trả lại giá trị Z trong công thức tính các giá trị

50

double get_p_yx(int tag) Trả lại giá trị xác suất p(y|x) double get_empirical_expectation(int tag, int context) Trả lại giá trị kỳ vọng thực nghiệm ứng của cặp đặc trưng với nhãn tag và ngữ cảnh context double get_model_expectation(int tag, int context)

Trả lại giá trị kỳ vọng mô hình của cặp đặc trưng với nhãn tag và ngữ cảnh context

double delta_lamda(int tag, int context)

Trả lại giá trịΔλ của cặp đặc trưng (tag, context)

void lamda(double

delta_lamda_init, int loop)

Tính trọng số λ cho các cặp đặc trưng với giá trị

hội tụ là delta_lamda_init và số lần lặp tối đa là loop

void write_lamda(String

path_lamda, ArrayList <String> variable, ArrayList <Double> lamda_arg)

Ghi 2 mảng variable (các từ) và mảng trọng số

lamda_arg thành file với đường dẫn là path_lamda

write_all(String path_lamda) Ghi toàn bộ các giá trị trọng số ứng với từng cặp

đặc trưng thành file với đường dẫn path_lamda boolean read_input(String

path_test_file, boolean tieng_viet)

Đọc file đầu vào cần gán nhãn. Trong đó path_test_file là đường dẫn của file đầu vào và tieng_viet là biến điều khiển dữ liệu đầu vào là tiếng việt (nếu true) hay tiếng anh. Trả lại là true nếu tồn tại file và false nếu ngược lại

void set_lamda(LamdaFile lamda_arg)

Gán giá trị trọng số λ cho từng đặc trưng tương

ứng của văn bản cần gán nhãn void

set_model_distribution(LamdaFile

Tính xác suất mà file đầu vào cần gán nhãn thuộc vào các các nhãn tương ứng. Và đưa ra nhãn có

51

lamda_arg) xác suất là lớn nhất. Nghĩa là nhãn được gán cho văn bản đó

void cut_tag_name(String path) Từ đường dẫn path (chỉ ra các file đã được huấn luyện), hàm sẽ gán tên các nhãn có thể được gán cho văn bản cần phân loại vào một mảng

boolean read_lamda_file(String path_lamda_file, int tag_arg)

Đọc file đã được huấn luyện với đường dẫn path_lamda_file và có nhãn là tag_arg rồi lưu vào mảng

void read_all() Đọc tất cả các file đã được huấn luyện với đường dẫn tới các file huấn luyện đã được chỉ ra

boolean

read_nonsensical_word(String fileName)

Đọc file stop-word với đường dẫn file stop-word là fileName

boolean nonsensical_word(String word)

Kiểm tra xem từ word có phải là stop-word không. Nếu đúng kết quả trả lại là true và false nếu ngược lại

void test_event() Thực hiện chức năng kiểm thử

void set_tag() Thực hiện chức năng gán nhãn boolean read_training(String path,

ArrayList <String> variable, boolean tieng_viet)

Đọc file có trong dữ liệu huấn luyện với đường dẫn path vào mảng variable

void read_all(String path, boolean tieng_viet)

Đọc toàn bộ các file có trong dữ liệu huấn luyện với đường dẫn path. Biến tieng_viet để thông báo dữ liệu huấn luyện là tiếng việt (true) hay tiếng Anh (false)

52 <String> tag_arg, ArrayList

<Double> frequency_arg)

luyện

void set_frequency_all_data() Gán giá trị tần số cho toàn bộ các nhãn trong tập dữ liệu huấn luyện void feature_selection(double feature_selection) Lọc bỏ những đặc trưng có tần số xuất hiện nhỏ hơn feature_selection void write_all(String path_frequency)

Một phần của tài liệu LUẬN VĂN: MÔ HÌNH MAXIMUM ENTROPY PDF (Trang 48 -60 )

×