Với các thuật toán và các phương pháp phân lớp tài liệu được mô tả trong luận văn tác giả tiến hành cài đặt hệ thống và cho ra sản phẩm là hệ thống phân lớp tài liệu NVClassification (Naïve Bayes Classification). Hệ thống có ba phần: Phần Client, phần Server, và phần giao tiếp giữa Client và Server sử dụng Thrift 0.84.
Client: được tiến hành phát triển dựa trên nền ứng dụng RCP5
. Ứng dụng được chạy phía client, nhận đầu vào là một đoạn văn bản cần được phân lớp. Đầu ra là danh sách các nhãn phù hợp với văn bản đầu vào.
4http://thrift. apache. org/ 5http://www. eclipse. org/rcp/
Hình 3.8: Giao diện ứng dụng trên Client
Server: phát triển dựa trên ngôn ngữ Java, sử dụng môi trường phát triển Eclipse6. Server nhận các yêu cầu từ Client để tiến hành phân lớp văn bản và trả về tập các nhãn phù hợp với văn bản yêu cầu.
Hình 3.9: Khởi động Server để nhận yêu cầu phân lớp từ Client.
Ví dụ:
Với dữ liệu đầu vào là một giáo trình thuộc lớp điện tử viễn thông. Có mục lục như sau (Bảng 3.6):
Bảng 3.6: Ví dụ một tài liệu đầu vào
Lờinóiđầu
Phần 1. Giới thiệu khái quát về máy vi tính và các thiết bị ngoại vi
1.1 Cấu trúc chung của máy vi tính 1.2 Cấu trúc nên trong của máy vi tính 1.2.1 Hoạt động của PC
1.2.2 Bản mạch chính
1.2.3 Bản mạch ghép nối màn hình
1.2.4 Bản mạch điều khiển ổ đĩa và các ổ đĩa. 1.2.5 Ghép nối song song và nối tiếp
1.2.6 Mạng máy tính
1.2.7 RAM CMOS và đồng hồ đo thời gian thực 1.2.8 Bàn phím
1.2.9 Hệ điều hành DOS, hệ vào ra cơ sở BIOS Phần 2. Bản mạch chính (Main board)
2.1 Hộ 80x86 và vi xử lý 8086 2.1.1 Cấu trúc chung
2.1.2 Các thanh ghi 2.1.3 Địa chỉ bộ nhớ
2.1.4 Truy nhập vật lý bộ nhớ và các thiết bị ngoại vi 2.1.5 Các chíp bổ trợ
2.1.6 Cấu trúc máy PC/XT 2.2 Vi xử lý 80286 2.2.1 Cấu trúc chung 2.2.2 Chân và các tín hiệu
Vector hoá tài liệu đầu vào ta thu được kết quả sau:
Bảng 3.7: Vector tài liệu đầu vào
(6,0. 5340824859302579) (38, 0. 9105600571651701) (39, 0. 059188871390330654) (102, 0. 9395475940384223) (113, 2. 5199979695992702) (127, 0. 659245628884264) (156, 2. 163323025660538) (206, 0. 615760516944525) (213, 1. 6326947745983675) (245, 0. 9395475940384223) (260, 2. 5199979695992702) (321, 3. 367295829986474) (343, 1. 9810014688665833) (500, 2. 386466576974748) (596, 3. 367295829986474) (645, 2. 5199979695992702) (647, 2. 5199979695992702) (786, 2. 856470206220483) (1453, 4. 465908118654584) Kết quả phân lớp: Hình 3.10: Kết quả phân lớp