1. Trang chủ
  2. » Luận Văn - Báo Cáo

hệ thống hỗ trợ tư vấn tuyển sinh đại học

75 740 2

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 75
Dung lượng 2,76 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Hệ thống sử dụng kĩ thuật SVM và thư viện vnTokenizer để phân loại câu hỏi và thư viện SMSlib để trở thành một máy chủ gửi và nhận tin nhắn SMS tự động.. Tuy đã đáp ứng phần nhiều của mộ

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG ĐẠI HỌC CẦN THƠ KHOA CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG

LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC NGÀNH HỆ THỐNG THÔNG TIN

Đề tài

HỆ THỐNG HỖ TRỢ

TƯ VẤN TUYỂN SINH ĐẠI HỌC

Sinh viên: Nguyễn Nam Nhi

Mã số: 1111248 Khóa: K37

Đỗ Lê Nhật Thanh

Mã số: 1117813 Khóa: K37

Cần Thơ, 05/2015

Trang 2

BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG ĐẠI HỌC CẦN THƠ KHOA CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG

BỘ MÔN HỆ THỐNG THÔNG TIN

LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC NGÀNH HỆ THỐNG THÔNG TIN

Đề tài

HỆ THỐNG HỖ TRỢ

TƯ VẤN TUYỂN SINH ĐẠI HỌC

Người hướng dẫn Sinh viên thực hiện

TS Nguyễn Thái Nghe Nguyễn Nam Nhi

Mã số: 1111248

Khóa: K37

Đỗ Lê Nhật Thanh

Mã số: 1117813 Khóa: K37

Cần Thơ, 05/2015

Trang 3

LỜI CẢM ƠN

Trong suốt quá trình 4 năm học tại Trường Đại Học Cần Thơ, chúng em đã được các thầy cô giảng dạy tận tình và truyền thụ cho chúng em thật nhiều bài học bổ ích không chỉ cho ngành nghề, mà còn cả những bài học về cuộc sống Chúng em xin gởi những lời cảm ơn đến quý thầy cô đã dành nhiều thời gian và công sức quý báu của mình để hướng dẫn chúng em Đặc biệt, chúng em xin gởi lời cảm ơn chân thành nhất đến các thầy cô Khoa Công Nghệ Thông Tin Và Truyền Thông nói chung, quý thầy cô bộ môn Hệ Thống Thông Tin nói riêng

Chúng em rất cảm ơn Thầy TS Nguyễn Thái Nghe là giáo viên hướng dẫn luận văn cho chúng em, thầy đã dành rất nhiều thời gian theo sát, quan tâm, hướng dẫn,

hỗ trợ và khích lệ chúng em rất nhiều để chúng em có được thành quả như ngày hôm nay

Xin gởi lời cảm ơn đến anh ThS Nguyễn Thế Anh, anh đã dành thời gian quý báu để giúp chúng em hiểu và hoàn thành các phần trong luận văn tốt nghiệp này

Đề thực hiện đề tài này chúng em đã cố gắng rất nhiều và hoàn thiện nhất Tuy nhiên, vẫn còn nhiều hạn chế và thiếu sót, chúng em rất mong nhận được sự đóng góp của thầy cô và các bạn để đề tài này được hoàn thiện hơn nữa

Sau cùng, chúng em xin kính chúc quý Thầy Cô Khoa Công Nghệ Thông Tin

Và Truyền Thông nói chung, quý thầy cô bộ môn Hệ Thống Thông tin nói riêng dồi dào sức khỏe, niềm tin để tiếp tục thực hiện sứ mệnh cao đẹp của mình là truyền đạt kiến thức cho thế hệ mai sau

Xin chân thành cảm ơn!

TP Cần Thơ, ngày 15 tháng 05 năm 2015

Trang 4

MỤC LỤC

DANH MỤC ĐỒ THỊ, BIỂU BẢNG VÀ HÌNH ẢNH 1

TÓM LƯỢC 3

ABSTRACT 4

PHẦN I – GIỚI THIỆU 5

1 ĐẶTVẤNĐỀ 5

2 LỊCHSỬGIẢIQUYẾTVẤNĐỀ 6

3 MỤCTIÊUĐỀTÀI 7

4 ĐỐITƯỢNGVÀPHẠMVINGUYÊNCỨU 7

5 NỘIDUNGNGHIÊNCỨU 8

6 NHỮNGĐÓNGGÓPCỦAĐỀTÀI 8

7 BỐCỤC 9

PHẦN II – NỘI DUNG 10

CHƯƠNG1.MÔTẢBÀITOÁN 10

1.1 Mô tả chi tiết bài toán 10

1.2 Các giải pháp liên quan 11

1.2.1 Truyền tải dữ liệu số 11

1.2.2 Khai mỏ dữ liệu 18

1.2.3 Phân lớp văn bản 21

CHƯƠNG2.THIẾTKẾVÀCÀIĐẶTGIẢIPHÁP 30

2.1 Môi trường cài đặt 30

2.1.1 Ngôn ngữ lập trình và Framework liên quan 30

2.1.2 Hệ quản trị cơ sở dữ liệu 31

2.2 Xây dựng hệ thống 32

2.2.1 Tổng quan hệ thống, thiết kế tổng thể 32

2.2.2 Cài đặt mô-đun gửi/nhận tin nhắn SMS 35

2.2.3 Cài đặt mô-đun gửi/nhận email 37

2.2.4 Cài đặt mô-đun phân loại câu hỏi bằng SVM 37

2.2.5 Cài đặt mô-đun huấn luyện lại mô hình phân loại 40

2.2.6 Cài đặt mô-đun tính độ tương đồng 41

2.2.7 Xây dựng website quản lý, cấu hình hệ thống 42

CHƯƠNG3.KIỂMTHỬVÀĐÁNHGIÁ 49

3.1 Kiểm thử và kết quả 49

3.2 Đánh giá 50

PHẦN III - KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 51

1 KẾTLUẬN 51

2 HƯỚNGPHÁTTRIỂN 52

TÀI LIỆU THAM KHẢO 53

PHỤ LỤC 54

Trang 5

DANH MỤC ĐỒ THỊ, BIỂU BẢNG VÀ HÌNH ẢNH

1 Danh mục hình ảnh

Hình 1 Hệ thống thông tin di động 11

Hình 2 Quá trình gửi tin nhắn 12

Hình 3 Chức năng của SMS Gateway 12

Hình 4 Ứng dụng SMS kết nối tới SMSC không qua trung gian SMS Gateway 13

Hình 5 Ứng dụng SMS kết nối tới SMSC qua trung gian SMS Gateway 13

Hình 6 Một ứng dụng SMS kết nối đến điện thoại di động hoặc modem thông qua một SMS Gateway 14

Hình 7 Quá trình khám phá tri thức 18

Hình 8 Phân lớp tuyến tính với SVM 20

Hình 9 Sơ đồ phân lớp văn bản với SVM 23

Hình 10 Tách từ theo phương pháp so khớp tối đa 25

Hình 11 Mô hình tổng quan hệ thống 33

Hình 12 Quy trình nhận và trả lời câu hỏi thông qua tin nhắn sms 34

Hình 13 Quy trình nhận và trả lời câu hỏi thông qua email 34

Hình 14 Giao diện trang chủ website 42

Hình 15 Chức năng của khách truy cập 43

Hình 16 Chức năng của cán bộ 43

Hình 17 Chức năng của admin 44

Hình 18 Mô hình thực thể kết hợp (ERD) 44

Hình 19 Giao diện khi đăng nhập với quyền cán bộ 45

Hình 20 Giao diện xem, sửa thông tin cá nhân của cán bộ 45

Hình 21 Giao diện trả lời và phân loại lại câu hỏi của cán bộ 46

Hình 22 Giao diện cập nhật chuyên ngành (phân lớp) 47

Hình 23 Giao diện cập nhật, phân loại tin nhắn bán tự động 47

Hình 24 Giao diện cấu hình hệ thống 48

Hình 25 Giao diện thống kê tin nhắn 48

Hình 26 Giao diện tạo tài khoản cán bộ mới 49

Hình 27 Biểu đồ thể hiện mức độ chính xác từng giải thuật 50

Trang 6

2 Danh mục bảng

Bảng 1 Phân công công việc 8

Bảng 2 Một số lệnh AT liên quan đến việc gửi tin nhắn 14

Bảng 3 Một số lệnh AT liên quan đến việc nhận tin nhắn SMS 15

Bảng 4 Một số hàm nhân thường được dùng 21

Bảng 5 Các điểm khác biệt chính giữa tiếng Việt và tiếng Anh 24

Bảng 6 Các thông số cấu hình modem cần thiết để gửi/đọc tin nhắn qua modem 3G 35

Bảng 7 Các thông số cấu hình cơ sở dữ liệu hệ thống 35

Bảng 8.Các thuộc tính cần quan tâm của bảng smsserver_in 36

Bảng 9 Các thuộc tính cần quan tâm của bảng smsserver_out 37

Bảng 10 Các thuộc tính cần quan tâm của cấu hình mail 37

Bảng 11 Các chuyên ngành tư vấn tuyển sinh 37

Bảng 12 Kết quả thực nghiệm tỉ lệ chính xác các giải thuật 50

Bảng 13 CAN_BO (cán bộ) lưu trữ thông tin cá nhân của các cán bộ 65

Bảng 14 LINH_VUC (lĩnh vực) chứa thông tin liên quan đến lĩnh vực tư vấn 66

Bảng 15 Bảng HOC_HÀM (học hàm) 66

Bảng 16 HOI_TRALOI (câu hỏi trả lời) chứa thông tin câu hỏi và câu trả lời 67

Bảng 17 HOC_VI (học vị) 68

Bảng 18 NGUOI_DAT_CAU_HOI (người đặt câu hỏi) 68

Bảng 19 DON_VI (đơn vị) 69

Bảng 20 CANBO_LINHVUC (cán bộ có lĩnh vực) 69

Bảng 21 THONG_TIN_DANG_NHAP (thông tin đăng nhập) 70

Bảng 22 DAT_CAU_HOI (đặt câu hỏi) 70

Trang 7

TÓM LƯỢC

Bộ Giáo dục và Đào tạo Việt Nam tổ chức các kỳ thi tuyển sinh vào các trường cao đẳng và các trường đại học ở Việt Nam hằng năm Mọi thông tin về các kỳ thi là điều mà các bạn học sinh rất quan tâm, là các bạn bước vào giai đoạn thi tuyển vào đại học, cao đẳng Hơn thế nữa, mỗi năm các qui chế, qui định mới lại thay đổi đôi lúc làm học sinh và phụ huynh lúng túng trong việc cập nhật thông tin chính xác nhất

Vì thế, việc thành lập và phát triển một hệ thống có thể giúp các bạn học sinh cập nhật những điều cần thiết trong những kì thi này là điều quan trọng và có thể chọn lựa chọn chính cho tương lai của mình một ngành nghề phù hợp

Hệ thống hỗ trợ tư vấn tuyển sinh cung cấp các trang web cho phép khách, giáo viên, thí sinh đặt câu hỏi và trả lời câu hỏi bởi các cán bộ có chuyên môn cao Bên cạnh đó, hệ thống này hỗ trợ máy chủ sms – tin nhắn văn bản điện thoại, là hệ thống

tự động nhận sms từ và gửi sms cho khách và cán bộ chuyên trách Sau khi nhận được câu hỏi, hệ thống sẽ phân loại này và gửi đến chuyên viên Khi nhận được câu trả lời

từ chuyên viên, hệ thống sẽ gửi cho khách đặt câu hỏi tương ứng

Hệ thống sử dụng kĩ thuật SVM và thư viện vnTokenizer để phân loại câu hỏi

và thư viện SMSlib để trở thành một máy chủ gửi và nhận tin nhắn SMS tự động Hệ thống hỗ trợ một trang web để hỗ trợ quá trình tư vấn và cấu hình toàn bộ hệ thống của Spring MVC framework, hệ quản trị cơ sở dữ liệu MySQL

Đây là công cụ tốt nhất cho sinh viên, giáo viên, cán bộ viên để cập nhật, hướng dẫn và cung cấp rất nhiều thông tin cần thiết về kì thi một cách hiệu quả

Trang 8

ABSTRACT

Vietnam Ministry of Education and Training organizes entrance examinations into colleges & universities in Viet Nam every year The information about these exams are needed to understand carefully by students who will take entrance exam Therefore, it is important to design and develop a system that could help students update many necessary things in every annual period and have the best choosing major for their future

Admissions advisory support system provide websites for guests, candidates, teachers to make questions, answer questions respectively Besides, this system aslo supports sms server, which is auto system receiving sms from and sending sms to guest and staff After receiving question, system is going to classify this and send them to specialize staff When receiving answer from staff, system is sending this to guest making the question imediately

This system uses SVM technical and vnTokenizer library to classify questions and libSMS library to become a server sms sending and receiving sms automatically There is a website to support advisory process and configure whole system by Spring MVC framework, database mangement system MySQL

This is best tool for students, teachers, specialize staff to update, guide and provide a lot of necessary information about exam effectively

Trang 9

PHẦN I – GIỚI THIỆU

1 ĐẶT VẤN ĐỀ

Xã hội ngày càng phát triển, trình độ của con người ngày càng tiến bộ Mỗi người trong xã hội đều cố gắng nâng cao trình độ tri thức, góp phần làm giàu cho bản thân, gia đình và xã hội Để phục vụ cho nhu cầu quan trọng đó, việc tìm kiếm và có được một công việc thích hợp cho bản thân mỗi người là điều đáng được chú ý và quan tâm sâu sắc Trước khi bước vào ngưỡng cửa tương lai, từ khi còn rất sớm, khi còn ngồi trên ghế nhà trường các bạn học sinh phải tự định hướng cho mình con đường nghề nghiệp: có thể thi vào các trường đại học, cao đẳng hoặc trường trung cấp nghề,…Theo khả năng, sở thích và nguyện vọng của từng bạn Bên cạnh những bạn đã lựa chọn, tìm hiểu và biết được nhu cầu cũng như nguyện vọng của mình cho tương lai thì vẫn còn không ít những bạn chưa biết, làm thế nào để lựa chọn cho mình con đường phù hợp - việc lựa chọn ngành nghề và con đường thích hợp là việc vô cùng quan trọng cho mỗi cá nhân để phát triển, nâng cao về mặt nhận thức, trình độ

và góp phần phát triển bản thân, gia đình và toàn xã hội Mặt khác, nước ta vẫn đang trong quá trình hoàn thiện về giáo dục và đào tạo, mỗi năm lại có những thay đổi đáng kể trong việc tuyển sinh các bậc đại học, cao đẳng, trung cấp, điều đó gây cho các bạn học sinh, các bậc phụ huynh và những cá nhân có quan tâm không ít những băn khoăn, lo lắng, … họ rất cần nhận được giúp đỡ từ các cán bộ có chuyên môn, trách nhiệm để có thể giảm bớt lo lắng, hiểu rõ hơn và thực hiện đúng theo quy định

đã được đề ra

Mỗi năm, ở nước ta đều diễn ra kỳ thi tuyển sinh vào các trường đại học, cao đẳng và trung cấp với số lượng lớn các bạn học sinh trong cả nước Đồng thời, số lượng ngành nghề ngày càng đa dạng và phong phú Vì thế nhu cầu tìm hiểu về các ngành nghề là rất lớn Trong đó, có nhiều ngành còn khá mới, lạ, các bạn có nhu cầu được biết về phương thức đào tạo, môi trường làm việc sau khi tốt nghiệp cũng như nhu cầu của xã hội đối với ngành nghề đó Nắm bắt được nhu cầu thiết thực này của các bạn học sinh, phụ huynh và các thầy cô giáo các đài truyền hình, tổ chức, các trường đại học, cao đẳng đã đưa ra các buổi toạ đàm tư vấn tuyển sinh, các ngày hội tuyển sinh, tư vấn việc làm cho các bạn sắp tốt nghiệp trung học phổ thông ở nhiều khu vực trên toàn quốc Công tác tuyển sinh được xác định là nhiệm vụ quan trọng của nhà trường, là truyền thống và cũng là điều bắt buộc của bộ giáo dục và đào tạo nhằm định hướng và hướng dẫn các em học sinh trung học phổ thông có lựa chọn, và hiểu biết đúng đắn nhằm chọn cho mình ngành nghề phù hợp nhất Nhiệm vụ của những buổi tư vấn hướng nghiệp là nắm bắt tâm tư, nguyện vọng của học sinh để có biện pháp tư vấn, hướng nghiệp phù hợp nhất cho các học sinh bước vào ngưỡng cửa lựa chọn tương lai, cùng với đó phải giúp các học sinh có khả năng nhận thức được khả năng đánh giá năng lực của bản thân trong quá trình chọn nghề Tránh tình trạng chạy theo xu hướng hay định hướng sẵn của người khác (gia đình) mà không hiểu khả năng của mình có theo được hay không hoặc không rõ bản thân có yêu thích ngành nghề đó hay không

Các trường đại học, cao đẳng đã giúp đỡ các bạn học sinh có nhu cầu được biết

về quy chế, các ngành nghề, đào tạo của mình đã cùng nhau tổ chức nhiều ngày hội

Trang 10

tư vấn tuyển sinh, hoặc về trường tư vấn và giúp các bạn có định hướng nghề nghiệp cho tương lai Với sự phát triển của mạng thông tin và các thiết bị di động hiện đại, khả năng tiếp cận với tri thức thông qua mạng Internet và mạng thông tin di động càng ngày càng trở nên đơn giản và phổ biến với tất cả mọi thành phần trong xã hội, đặc biệt là đối với học sinh Ngoài các buổi gặp mặt trực tiếp, các trường còn

mở các website, tổng đài tư vấn thông qua mạng Internet nhằm giúp giải đáp phần nào thắc mắc của các bạn trong kỳ thi tuyển sinh đại học cao đẳng này Các hệ thống tiếp nhận câu hỏi thắc mắc còn chưa đáp ứng kịp số lượng nhiều câu hỏi và tiếp nhận câu hỏi từ mọi lúc trong ngày, còn phụ thuộc rất nhiều vào thao tác và thời gian của

cá nhân có trách nhiệm, … hệ thống tư vấn giải đáp thắc mắc về quy chế ngành nghề vẫn còn nhiều hạn chế, và chưa thuận tiện cho người dùng

Trong thời đại ngày nay, cùng với sự phát triển của xã hội công nghệ thông tin và các giải pháp máy học đã phát triển khá mạnh mẽ và được ứng dụng khá nhiều trong cuộc sống con người Tuy nhiên để áp dụng công nghệ kĩ thuật này vào công tác tư vấn hướng nghiệp vẫn còn khó khăn và hạn chế Một phần là do nguồn dữ liệu về các quy định quy chế, ngành nghề của công tác tư vấn tuyển sinh dành cho khai phá dữ liệu (data mining) còn rất hiếm hoi Và hiện nay, vẫn chưa

có hệ thống tự động tiếp nhận những câu hỏi của các bạn học sinh thông qua giao diện web, email hay tin nhắn từ điện thoại di động

Từ những nhu cầu đặt ra đó, cần thiết xây dựng một hệ thống nhằm hỗ trợ về những điều cần biết, giải đáp thắc mắc về ngành nghề, quy chế cho các thí sinh trong kì thi cao đẳng, đại học hằng năm Đồng thời để thu thập dữ liệu thực tế trong lĩnh vực này là nhu cầu cần thiết cho công tác tư vấn hướng nghiệp ở các trường và tạo nguồn dữ liệu để phát triển các hệ thống có liên quan sau này Hệ thống này sẽ đáp ứng nhanh chóng, kịp thời trả lời những câu hỏi từ các bạn và chuyển cho các cán bộ có chuyên môn, trách nhiệm Hệ thống nói trên thực hiện liên tục 24/24 giờ trong ngày nhằm tiếp nhận thắc mắc mọi lúc từ các bạn học sinh, ngay khi các bạn có nhu cầu cần được giải đáp

2 LỊCH SỬ GIẢI QUYẾT VẤN ĐỀ

Nhiều năm qua các hệ thống, website giúp thí sinh tìm hiểu các thông tin cần thiết trước kì thi càng lúc càng nhiều do nhu cầu lớn của thí sinh cũng như sự phát triển mạnh mẽ của Internet Nhưng đa số các website hầu hết nội dung đều giống nhau Đưa ra dưới dạng tin tức, rất nhiều nhưng lại thiếu đi tính chuyên sâu Việc thí sinh có thể tìm đúng thắc mắc của mình là rất khó vì đặc tính của mỗi ngành nghề, mỗi trường hầu như đều khác nhau Ở các trường đại học trong nước, một số trường

đã có hệ thống hỗ trợ tư vấn tuyển sinh, nhưng hệ thống hoạt động một cách thủ công, thí sinh phải tự đặt câu hỏi và lựa chọn lĩnh vực, sau đó hệ thống sẽ chuyển tiếp cho các cán bộ có trách nhiệm Tuy đã đáp ứng phần nhiều của một hệ thống hỗ trợ tư vấn tuyển sinh, nhưng các hệ thống đã có hầu như không hỗ trợ việc cho phép tự động phân loại các câu hỏi theo từng lĩnh vực, chưa hỗ trợ việc gởi email tự động cho cán

bộ có chuyên trách và người đặt câu hỏi và không hỗ trợ việc hỏi và tư vấn thông qua tin nhắn điện thoại

Trang 11

Chính vì những lý do đó mà các hệ thống, website này chưa đáp ứng được nhu cầu của thí sinh, chưa phải là địa chỉ quen thuộc để thí sinh tìm đến khi có những thắc mắc, câu hỏi mà chỉ có nhưng người trong ngành mới có thể giải đáp được

3 MỤC TIÊU ĐỀ TÀI

Để xây dựng được một hệ thống tư vấn tuyển sinh hoàn chỉnh, hoàn toàn tự động thì cần trải qua hai giai đoạn:

Giai đoạn một: Xây dựng hệ thống hỗ trợ tư vấn tuyển sinh qua mạng Internet

và tin nhắn SMS một cách bán tự động (có sự giám sát của điều phối viên) để thu

thập và xây dựng tập dữ liệu làm nền tảng cho việc phát triển giai đoạn hai của nghiên cứu

Giai đoạn hai: Xây dựng hệ thống tư vấn tuyển sinh qua mạng Internet và tin

nhắn SMS một cách hoàn toàn tự động (không cần sự giám sát của điều phối viên)

Mục tiêu của luận văn là hoàn thành được giai đoạn một của đề tài, là xây dựng được một hệ thống bán tự động để hỗ trợ việc tư vấn qua mạng thông tin di động,

website (có sự giám sát của con người) để thu thập và xây dựng tập dữ liệu làm nền

tảng cho việc phát triển giai đoạn hai của đề tài

Mục tiêu cụ thể cần đạt được của giai đoạn một là:

a Xây dựng được mô-đun tiếp nhận và phân loại (tự động) câu hỏi theo từng lĩnh vực bằng kỹ thuật phân loại máy học véc-tơ hỗ trợ (SVM)

b Xây dựng được mô-đun quản lý, tiếp nhận câu hỏi và hiển thị câu trả lời qua giao diện web

c Xây dựng được mô-đun quản lý, gửi và nhận email

d Xây dựng được mô-đun quản lý, gửi và nhận SMS

e Xây dựng được mô-đun phân loại nội dung tin nhắn (bán tự động)

f Xây dựng được mô-đun quản lý cán bộ và nội dung phản hồi từ cán bộ

g Xây dựng được mô-đun tiếp nhận và đưa ra những câu hỏi có nội dung tương

tự câu hỏi đó

h Xây dựng được website tích hợp các mô-đun trên

4 ĐỐI TƯỢNG VÀ PHẠM VI NGUYÊN CỨU

Nguyên cứu và tìm hiểu cơ sở lý thuyết bao gồm:

a Tìm hiểu, thu thập và xử lý dữ liệu (các câu hỏi/vấn đề) liên quan đến ngành nghề, quy chế tuyển sinh đại học cao đẳng

b SMS và cách gửi nhận tin nhắn văn bản

c Cách gửi nhận email tự động

d Kỹ thuật phân loại văn bản tự động với SVM, các kỹ thuật tách từ tiếng việt

Trang 12

e Kỹ thuật xác định độ tương đồng ngữ nghĩa của văn bản bằng phương pháp Consine Similarity

5 NỘI DUNG NGHIÊN CỨU

a Mô-đun quản lý, gửi, nhận tin nhắn văn bản

b Mô-đun quản lý, gửi, nhận câu hỏi từ website

c Mô-đun quản lý, gửi câu trả lời qua email

d Mô-đun phân loại nội dung câu hỏi tự động

e Mô-đun quản lý cán bộ và nội dung phản hồi từ cán bộ

f Mô-đun thử nghiệm phân loại tự động nội dung tin nhắn văn bản bằng kỹ thuật phân loại Máy học Vectơ Hỗ trợ (SVM)

g Một website để tích hợp các mô-đun trên

Bảng 1 Phân công công việc

6 NHỮNG ĐÓNG GÓP CỦA ĐỀ TÀI

Đưa ứng dụng vào thực tế sử dụng và khai thác để hỗ trợ kịp thời về thông tin cho thí sinh Xây dựng một hệ thống dựa trên tri thức thực sự để đưa ra những hỗ trợ nhanh chóng nhất, chính xác nhất, với chi phí hợp lý nhất, đáp ứng đầy đủ những thắc mắc, yêu cầu của thí sinh

Sau một thời gian vận hành và khai thác, hệ thống sẽ thu thập được một lượng

dữ liệu cần thiết, kết hợp với công nghệ khai phá dữ liệu, xử lý văn bản để xây dựng một hệ thống tư vấn tuyển sinh thông qua giao diện web, thư điện tử và mạng thông tin di động một cách hoàn toàn tự động

Nếu mô hình này thành công thì sẽ có thể nhân rộng sang nhiều mô hình khác, nhiều nhóm ngành nghề, những điều cần biết trong tư vấn tuyển sinh trong giáo dục

và cả các lĩnh vực xã hội khác

1 Tìm hiểu, thiết kế và xây dựng hệ thống Đỗ Lê Nhật Thanh Nguyễn Nam Nhi

5 Xây dựng mô-đun Tư vấn tuyển sinh thông qua nhận

Trang 13

7 BỐ CỤC

Nội dung đề tài được trình bày trong 3 phần:

 Phần Giới Thiệu giới thiệu vấn đề cần giải quyết, mục tiêu cần đạt, đối tượng

và phạm vi của nghiên cứu Đồng thời nêu lên nội dung nghiên cứu, kết quả chính đạt được của nghiên cứu

 Phần Nội Dung

- Chương 1: Mô tả bài toán mô tả chi tiết đề tài, các chức năng trông đợi

của phần mềm, nêu lên các giải pháp có liên quan đến bài toán

- Chương 2: Thiết kế và cài đặt giải pháp nêu lên thiết kế tổng thể của hệ

thống, mô tả cách thức cài đặt của phần mềm bằng Java trên nền Eclipse

- Chương 3: Kiểm thử và đánh giá

 Phần Kết Luận bao gồm kết quả đạt được của đề tài và hướng phát triển

 Tài liệu tham khảo

 Phụ lục

Trang 14

PHẦN II – NỘI DUNG CHƯƠNG 1 MÔ TẢ BÀI TOÁN

1.1 Mô tả chi tiết bài toán

Khi thí sinh truy cập vào website Tư Vấn Tuyển Sinh, đặt câu hỏi – thông tin các ngành nghề, quy chế tuyển sinh và điểm chuẩn nguyện vọng, câu hỏi sẽ được hệ thống phân loại, xem câu hỏi vừa gởi tới thuộc lĩnh vực nào từ đó sẽ gởi đến cho cán

bộ có lĩnh vực tương ứng Ngay sau khi nhận được câu trả lời từ các cán bộ chuyên trách hệ thống sẽ phản hổi qua email được cung cấp từ người dùng, đồng thời hiển thị câu trả lời cho đặt câu hỏi tương ứng Hệ thống làm việc song song tiếp nhận và phản hồi các câu trả lời thông qua website, email và tin nhắn di động hoạt động liên tục mỗi ngày trong tuần

Để xây dựng một hệ thống hoàn chỉnh cần trải qua hai giai đoạn như phần mục đích của đề tài đã trình bày Trong khuôn khổ luận văn chỉ thực hiện giai đoạn một

của đề tài là “Xây dựng hệ thống tư vấn tuyển sinh qua mạng Internet và tin nhắn

SMS một cách bán tự động (có sự giám sát của điều phối viên)” để thu thập và xây

dựng tập dữ liệu làm nền tảng cho việc phát triển giai đoạn hai của đề tài

Khi hệ thống tiếp nhận câu hỏi từ học sinh qua mô-đun: tiếp nhận câu hỏi và hiển thị câu trả lời thông qua giao diện web, trả lời qua email, gửi nhận tin nhắn SMS, mô-đun phân loại tin nhắn tự động sẽ tự động thực hiện một số bước tiền xử lý cơ bản Sau khi tách từ, do văn bản là tin nhắn, nên số lượng từ khóa không nhiều và ít khi lặp lại, nghiên cứu đưa ra hai phương án chọn từ khóa là phương án thủ công và phương án tự động Với phương án thủ công thì hệ thống sẽ giữ lại những từ có trong danh sách từ khóa (tập đặc trưng văn bản) đã được xây dựng thủ công bởi các cán bộ

từ trước, sau đó véc-tơ hóa các từ được giữ lại đó và đưa vào mô hình của phương án này để phân loại Với phương án tự động thì hệ thống sẽ chọn từ khóa bằng cách loại

bỏ các từ dừng (stopwords) là những từ thường xuất hiện trong văn bản nhưng không

có giá trị phân loại chẳng hạn như từ “và”, “nhưng”, “có”, “không”, sau đó véc-tơ hóa tất cả các từ còn lại và đưa vào mô hình phân loại của phương án này để phân loại Trong giai đoạn ban đầu này, bộ từ khóa và tập dữ liệu do tác giả thu thập và xây dựng trong quá trình làm luận văn chưa nhiều, chưa phong phú, đa dạng và khách quan nên việc phân loại tự động chỉ nhằm mục đích minh họa cho mô-đun phân loại

tự động và kiểm tra việc vận hành của hệ thống, còn việc phân loại vẫn là một hệ thống bán tự động, có sự kiểm tra, giám sát của con người Do hệ thống hiện là bán

tự động nên điều phối viên cần kiểm tra kết quả phân loại của mô-đun tự động và thực hiện phân loại lại để làm cơ sở cho việc xây dựng và huấn luyện lại mô hình, sau khi điều phối viên phân loại, câu hỏi mới được chuyển đến cán bộ thích hợp để trả lời Khi nhận được câu trả lời từ cán bộ, hệ thống tự động gửi nội dung trả lời cho thí sinh

Khi hệ thống nhận đủ số lượng tin nhắn SMS mới đến, hệ thống sẽ tự động xây dựng lại bộ từ khóa và huấn luyện lại mô hình với bộ từ khóa và dữ liệu mới, sau khi huấn luyện xong hệ thống sẽ sử dụng mô hình mới huấn luyện vào phân loại tin nhắn mới đến hệ thống Hệ thống sẽ lặp đi lặp đi lặp lại việc xây dựng lại bộ từ khóa và

Trang 15

huấn luyện lại mô hình cho đến khi lượng dữ liệu thu thập đủ lớn và độ chính xác phân loại là chấp nhận được thì hệ thống sẽ chuyển sang giai đoạn hai của đề tài là xây dựng hệ thống hỗ trợ tư vấn tuyển sinh một cách tự động

1.2 Các giải pháp liên quan

1.2.1 Truyền tải dữ liệu số

1.2.1.1 Hệ thống tin nhắn văn bản (SMS)

a Giới thiệu

SMS là viết tắt của Short Message Services (dịch vụ tin nhắn ngắn) Công nghệ SMS cho phép gửi và nhận tin nhắn giữa điện thoại di động với nhau, giữa máy vi tính hoặc thiết bị cầm tay với điện thoại di động Mỗi tin nhắn SMS chứa tối đa 140 bytes dữ liệu, vì vậy mỗi tin nhắn chứa:

 Không quá 160 ký tự nếu sử dụng kiểu mã hóa 7-bit (mã hóa ký tự 7 bit phù hợp với kiểu mã hóa ký tự La-tinh chẳng hạn như bảng chữ cái tiếng Anh)

 Không quá 70 ký tự nếu sử dụng kiểu mã hóa UCS2 Unicode (tin nhắn văn bản chứa những ký tự không phải ký tự La-tinh chẳng hạn như tiếng Trung

Hoa, là kiểu mã hóa ký tự 16 bit)

Tin nhắn văn bản SMS hỗ trợ đa ngôn ngữ toàn cầu Tin nhắn SMS có thể truyền tải dữ liệu nhị phân do đó SMS có thể được sử dụng như là một phương tiện truyền tải vô tuyến Công nghệ SMS cho phép “đẩy” thông tin Điều này khác với mô hình

“kéo” là mô hình mà thiết bị phải thường xuyên thăm dò máy chủ để kiểm tra xem

có thông tin mới nào không Mô hình “kéo” thường không phù hợp cho các ứng dụng cảnh báo và thông báo vì nó lãng phí băng thông và tăng tải cho máy chủ Hình 1 mô

tả hệ thống SMS và các thiết bị

Hình 1 Hệ thống thông tin di động

Trang 16

b Trung tâm tin nhắn SMS (SMSC)

Trung tâm tin nhắn SMS chịu trách nhiệm xử lý các hoạt động SMS của mạng

vô tuyến Khi một tin nhắn được gửi từ một thiết bị nhắn tin, trước tiên tin nhắn đó

sẽ được gửi đến trung tâm tin nhắn SMS Sau đó trung tâm tin nhắn sẽ chuyển tiếp tin nhắn này đến máy đích Một tin nhắn SMS có thể phải đi qua nhiều hơn một trạm (nhiều SMSC và nhiều SMS Gateway) trước khi nó đến được máy đích Nhiệm vụ chính của SMSC là định tuyến tin nhắn SMS và điều chỉnh những tiến trình này Nếu máy nhận chưa sẵn sàng (đang tắt máy hoặc hết pin) thì SMSC sẽ lưu trữ tin nhắn đó,

và nó sẽ chuyển tiếp tin nhắn khi máy nhận đã sẵn sàng Hình 2 mô tả cách thức SMS hoạt động thông qua một trung tâm tin nhắn SMS

Hình 2 Quá trình gửi tin nhắn

c SMS Gateway

Một vấn đề của việc truyền tải tin nhắn SMS là những SMSC được phát triển bởi những tổ chức khác nhau sử dụng giao thức truyền thông riêng và hầu hết các giao thức này là độc quyền Chẳng hạn, Nokia có một giao thức SMSC gọi là CIMD trong khi một nhà cung cấp khác là CMG lại có một giao thức gọi là EMI Không thể kết nối hai SMSC này lại với nhau nếu chúng không hỗ trợ cùng một giao thức SMSC chung Để giải quyết vấn đề này, một SMS Gateway được đặt giữa hai SMSC như minh họa trong hình 3

SMS Gateway hoạt động như một cầu nối giữa hai SMSC Nó biên dịch giao thức SMSC này thành giao thức SMSC kia và ngược lại Bằng cách đó, nó có thể kết nối các nhà mạng khác nhau lại để có thể trao đổi tin nhắn SMS trên liên mạng SMS Gateway làm giảm sự phức tạp và thời gian cho việc phát triển các ứng dụng SMS Hình 4 minh họa một ứng dụng tin nhắn SMS kết nối đến SMSC mà không qua trung gian SMS Gateway

Hình 3 Chức năng của SMS Gateway

Trang 17

Ứng dụng SMS nếu không qua SMS Gateway sẽ cần phải hỗ trợ nhiều giao thức SMSC cụ thể bởi vì các nhà mạng khác nhau có thể sử dụng SMSC của các nhà cung cấp khác nhau Với việc cài đặt SMS Gateway để tạo kết nối đến SMSC, ta có thể giải quyết vấn đề phức tạp này Khi đó các ứng dụng SMS chỉ cần biết làm thế nào

để kết nối tới SMS Gateway, các việc còn lại do SMS Gateway tự xử lý Để hỗ trợ thêm SMSC, chỉ cần bổ sung các thiết lập của SMS Gateway vào ứng dụng SMS Hình 5 minh họa một ứng dụng SMS kết nối đến SMSC thông qua một SMS Gateway

Bên cạnh việc sử dụng một kết nối trực tiếp đến trung tâm tin nhắn SMS của nhà mạng không dây để gửi hoặc nhận tin nhắn, có một cách khác để gửi và nhận tin nhắn SMS từ máy vi tính đó là sử dụng điện thoại di động hoặc modem GSM/GPRS/3G kết nối trực tiếp vào máy tính Để làm được điều đó, ứng dụng SMS phải biết làm thế nào để giao tiếp với các thiết bị gửi tin này bằng cách sử dụng lệnh

AT Một vài SMS Gateway có khả năng nắm giữ kết nối đến các thiết bị gửi tin này, Hình 4 Ứng dụng SMS kết nối tới SMSC không qua trung gian SMS Gateway

Hình 5 Ứng dụng SMS kết nối tới SMSC qua trung gian SMS Gateway

Trang 18

nhờ đó để gửi và nhận tin nhắn SMS từ máy tính với một điện thoại di động hoặc modem được kết nối, ứng dụng SMS chỉ cần biết làm cách nào để giao tiếp được với SMS Gateway và không cần phải biết gì về lệnh AT

Hình 6 Một ứng dụng SMS kết nối đến điện thoại di động hoặc modem thông

qua một SMS Gateway

d Cách gửi tin nhắn SMS

Về tổng thể, có 2 cách để gửi tin nhắn SMS từ máy tính đến điện thoại di động:

Cách 1: Kết nối điện thoại di động hoặc modem GSM/GPRS/3G vào máy tính

Sau đó dùng tập lệnh AT để chỉ thị cho điện thoại hoặc modem gửi tin nhắn SMS

Để gửi tin nhắn, trước hết cần lắp SIM được nhà mạng không dây cung cấp vào điện thoại hoặc modem, sau đó kết nối modem vào máy vi tính bằng dây cáp, hồng ngoại hay bluetooth Sau khi kết nối thành công, ta có thể điều khiển modem bằng cách gửi chỉ thị đến nó Chỉ thị được sử dụng để điều khiển modem được gọi là tập lệnh AT Tập lệnh AT là những chỉ thị được sử dụng để điều khiển modem hay điện thoại di động AT là từ viết tắt của ATtention Mọi dòng lệnh đều bắt đầu bởi “AT” hay “at”

Bảng 2 Một số lệnh AT liên quan đến việc gửi tin nhắn

AT + CMMS Gửi thêm tin nhắn

Cách 2: Kết nối máy tính với Trung tâm SMS (SMSC) hoặc SMS Gateway của

mạng không dây hoặc nhà cung cấp dịch vụ SMS Sau đó gửi tin nhắn SMS bằng cách sử dụng các giao thức/giao diện được hỗ trợ bởi SMSC hoặc SMS Gateway

Trang 19

Cách gửi tin nhắn thông qua modem hay điện thoại di động kết nối trực tiếp với máy tính có hạn chế là tốc độ gửi tin nhắn SMS rất thấp Nếu cần tốc độ gửi cao hơn thì cần thiết phải thiết lập kết nối trực tiếp đến Trung tâm SMS hoặc SMS Gateway của mạng không dây Kết nối này có thể được thực hiện qua mạng Internet hoặc kết nối quay số Nếu không thể kết nối trực tiếp đến Trung tâm SMS hoặc SMS Gateway của mạng không dây thì ta có thể kết nối đến SMS Gateway của một nhà cung cấp dịch vụ SMS nào đó, lúc đó SMS Gateway này sẽ chuyển tiếp tin nhắn SMS đến một Trung tâm SMS thích hợp

Sau khi đăng ký và thiết lập tài khoản với nhà mạng không dây hoặc nhà cung cấp dịch vụ SMS, ta đã có thể bắt đầu gửi tin nhắn SMS bằng cách sử dụng các giao thức/giao diện được hỗ trợ bởi SMSC hoặc SMS Gateway

e Cách nhận tin nhắn SMS

Tương tự như việc gửi tin SMS, ta cũng có 2 cách để nhận tin nhắn SMS trên máy tính

Cách 1: Kết nối điện thoại di động hoặc modem GSM/GPRS/3G vào máy tính

Sau đó dùng máy tính và tập lệnh AT để đọc tin nhắn nhận được từ điện thoại đi động hoặc modem

Việc nhận tin nhắn SMS thông qua một modem có một lợi thế là nhà mạng không dây thường không tính phí nhận tin nhắn khi dùng với một Mô-đun Nhận diện Thuê bao (thẻ SIM) Bất lợi của việc nhận tin nhắn theo cách này là modem không thể xử lý một số lượng lớn lưu lượng tin nhắn SMS truy cập Có một cách để giải quyết vấn đề này đó là sử dụng nhiều modem để cân bằng tải lưu lượng SMS truy cập Mỗi một modem sẽ có một thẻ SIM và số thuê bao riêng Trong lập trình, việc gửi và nhận tin nhắn SMS thông qua một modem là tương tự nhau Những gì cần phải làm là gửi các chỉ thị (dưới dạng lệnh AT) cho modem, các việc còn lại modem tự thực hiện

Bảng 3 Một số lệnh AT liên quan đến việc nhận tin nhắn SMS

Lệnh AT Công dụng

AT + CMGL Liệt kê tất cả tin nhắn

Cách 2: Truy cập đến Trung tâm tin nhắn (SMSC) hoặc SMS Gateway của

mạng không dây Mọi tin nhắn SMS nhận được sẽ được chuyển tiếp đến máy tính thông qua giao thức/giao diện được hỗ trợ bởi SMSC hoặc SMS Gateway

Cũng giống như việc gửi tin nhắn, việc nhận tin nhắn thông qua điện thoại hoặc modem GSM/GPRS có một số hạn chế, đó là tốc độ truyền tải SMS quá thấp Nếu cần tốc độ cao hơn thì cần thiết phải thiết lập kết nối trực tiếp đến Trung tâm SMS hoặc SMS Gateway của mạng không dây

Sau khi thiết lập một tài khoản với nhà mạng không dây hoặc nhà cung cấp dịch

vụ SMS, SMSC hoặc SMS Gateway sẽ bắt đầu chuyển tiếp các tin nhắn đến ứng dụng

Trang 20

SMS bằng cách sử dụng một số các giao thức/giao diện Cũng giống như việc gửi tin,

để kết nối đến SMSC, bắt buộc phải có các giao thức SMSC Việc nhận tin nhắn theo cách này cũng dễ như việc gửi

Ngày nay, email chẳng những có thể truyền gửi được chữ, nó còn có thể truyền được các dạng thông tin khác như hình ảnh, âm thanh, phim, và đặc biệt các phần mềm thư điện tử kiểu mới còn có thể hiển thị các email dạng sống động tương thích với kiểu tệpHTML

Phần mềm thư điện tử(email software) là loạiphần mềmnhằm hỗ trợ cho người dùng việc chuyển và nhận các mẫu thông tin (thường là dạng chữ) Thông tin có thể đưa vào phần mềm thư điện tử bằng cách thông dụng nhất là gõ chữ bàn phím hay

cách phương cách khác ít dùng hơn như là dùng máy quét hình (scanner), dùng máy ghi hình số (digital camera) đặc biệt là cácWeb cam Phần mềm thư điện tử giúp đỡ cho việc tiến hành soạn thảo, gửi, nhận, đọc, in, xoá hay lưu giữ các (điện) thư Có hai trường hợp phân biệt phần mềm thư điện tử là

Loại phần mềm thư điện tử được cài đặt trên từng máy tính của người dùng gọi

làemail client, hayphần mềm thư điện tử (cho)máy khách Các thí dụ loại phần mềm này bao gồm: Microsoft Outlook, Microsoft Outlook Express, Netscape Comunicator, hay Eudora Phần mềm thư điện tử này còn có tên làMUA(từ chữmail

client làứng dụng thư điện tử(email application) nếu không bị nhầm lẫn

Ngược lại, loại phần mềm thư điện tử không cần phải cài đặt mà nó được cung

ứng bởi các máy chủ (web server) trên Internet gọi là WebMail, hayPhần mềm thư điện tử qua Web Để dùng được các phần mềm loại này thường các máy tính nối vào phải có mộtmáy truy cậptương thích với sự cung ứng của WebMail Thí dụ loại này

là mail.Yahoo.com, hay hotmail.com

Nơi cung ứng phần mềm cũng như phương tiện chuyển thư điện tử gọi là nhà cung ứng dịch vụ thư điện tử(email sevice provider)

Máy tính làm việc cung ứng các dịch vụ thư điện tử là MTA (từ chữ mail

lẫn với các loại máy chủ khác thì người ta cũng gọi MTA là máy chủ hay rõ hơn

làmáy chủ thư điện tử

Trang 21

Các dịch vu thư điện tử có thể được cung ứng miễn phí hay có lệ phí tuỳ theo nhu cầu và mụch đích của ngưòi dùng Ngày nay, email thường được cung cấp kèm với các phương tiện Internet khi người tiêu dùng ký hợp đồng với các dịch vụ Internet một cách miễn phí

b Phương thức hoạt động của một hệ thống thư điện tử

Hoạt động của hệ thống email hiện nay có thể dược minh họa qua phân tích một thí dụ như sau

Nguyễn dùng MUAcủa mình để soạn một lá thư cóđịa chỉ người nhận là Trần với địa chỉ là nhi@gmail.com Nguyễn nhấn nút Sendvà phần mềm thư điện tử của

điện tử, của Nguyễn Trong thí dụ thì máy chủ này là smtp.a.org được cung cấp từdịch

vụ Internetcủa Nguyễn

MTA này sẽ đọc địa chỉ chỗ nhận (nhi@gmail.com) và dựa vào phần tên miềnnó sẽ tìm hỏi địa chỉ của tên miền này, nơi có máy chủ sẽ nhận email gửi đến, quaHệ thống Tên miền

Máy chủDNScủa b.org là ns.b.org sẽ trả lời về mộtbản ghi trao đổi thư từ, đây

là bảng ghi chỉ ra cách thức làm thế nào định tuyếncho email này Trong thí dụ thì mx.b.org là máy chủ từ dịch vụ cung ứng Internet của Trần

smtp.a.org gửi mẫu thông tin tới mx.b.org dùng giao thức SMTP, điều này sẽ phân phối lá thư đến hộp thư của Trần

Khi đọc Trần ra lệnh nhận thư trên máy (MUA) của Trần, điều này tạo ra việc lấy về mẫu thông tin bằng cách áp dụng giao thức POP3

Trong trường hợp Nguyễn không có MUA mà chỉ dùng Webmail chẳng hạn thì bước 1 sẽ không xảy ra tức làMTAcủa Nguyễn sẽ làm việc trực tiếp Tưong tự cho trường hợp Trần không có MUA riêng

Trước đây, nếu một MTA không thể gửi tới đích thì nó có thể ít nhất ngừng lại

ở chỗ gần với chỗ nhận Sự ngừng này sẽ tạo cơ hội để máy đích có thể nhận về các mẫu thông tin trong thời gian trễ hơn Nhiều MTA sẽ chấp nhận tất cả mẫu thông tin

từ người gửi bất kì và tìm mọi cách để phân nó về đến máy đích Những MTA như vậy gọi là nhữngngưng đọng thư mở(open mail relays) Điều này khá cần thiết vì sự

chất lượng liên lạc của hệ thống Internet lúc đó còn yếu

c Các giao thức

SMTP (từ chữ Simple Mail Transfer Protocol) hay là giao thức chuyển thư đơn giản Đây là một giao thức lo về việc vận chuyển email giữa các máy chủ trên đường trung chuyển đến địa chỉ nhận cũng như là lo việc chuyển thư điện tử từ máy khách đến máy chủ Hầu hết các hệ thống thư điện tử gửi thư qua Internet đều dùng giao thức này Các mẫu thông tin có thể được lấy ra bởi một email client Những email client này phải dùng giao thức POP hay giao thức IMAP

IMAP (từ chữ Internet Message Access Protocol) hay làgiao thức truy nhập thông điệp (từ) Internet Giao thức này cho phép truy nhập và quản lý các mẫu thông

Trang 22

tin về từ các máy chủ Với giao thức này người dùng email có thể đọc, tạo ra, thay

đổi, hay xoá các ngăn chứa, các mẫu tin đồng thời có thể tìm kiếm các nội dung trong

hộp thư mà không cần phải tải các thư về Phiên bản mới nhất của IMAP là IMAP4

tương tự nhưng có nhiều chức năng hơn giao thức POP3 IMAP nguyên thuỷ được

phát triển bởiđại học Standfordnăm1986

POP (từ chữ Post Office Protocol) hay làgiao thức phòng thư Giao thức này

được dùng để truy tìm các email từ một MTA Hầu hết các MUA đều dùng đến giao

thức POP mặc dù một số MTA cũng có thể dùng giao thức mới hơn là IMAP

Hiện có hai phiên bản của POP Phiên bản đầu tiên là POP2 đã trở thành tiêu chuẩn

vào thập niên 80, nó đòi hỏi phải có giao thức SMTP để gửi đi các mẫu thông tin

Phiên bản mới hơnPOP3có thể được dùng mà không cần tới SMTP

1.2.2 Khai mỏ dữ liệu

1.2.2.1 Khám phá tri thức và khai mỏ dữ liệu

Công nghệ khám phá tri thức từ dữ liệu được định nghĩa là sự trích xuất từ dữ

liệu những thông tin hữu ích nhưng tiềm ẩn và chưa được biết đến Khai mỏ dữ liệu

là một bước quan trọng trong quá trình khám phá tri thức từ dữ liệu Khai mỏ dữ liệu

thực hiện việc khảo sát, thống kê, phân tích tỉ mỉ một lượng lớn dữ liệu nhằm phát

hiện ra các mẫu hoặc các luật có ý nghĩa

Quá trình khám phá tri thức là một quá trình lặp phức tạp, sử dụng nhiều kỹ

thuật như cơ sở dữ liệu, máy học, phương pháp thống kê trong phân tích dữ liệu, hiển

thị dữ liệu, trí tuệ nhân tạo, nhằm tìm ra tri thức từ kho dữ liệu khổng lồ

Quá trình khám phá tri thức gồm 3 bước chính: tiền xử lý, khai mỏ dữ liệu và

đánh giá kết quả

 Tiền xử lý bao gồm các bước:

- Tập hợp dữ liệu

- Chọn dữ liệu cần thiết cho mục tiêu đề ra, mẫu tin, trường dữ liệu

- Biểu diễn dữ liệu, chuyển đổi kiểu sao cho phù hợp với giải thuật khai

mỏ dữ liệu mà bước tiếp theo sử dụng

Hình 7 Quá trình khám phá tri thức

Trang 23

- Làm sạch dữ liệu, khắc phục đối với những trường hợp dữ liệu rỗng,

dư thừa hoặc dữ liệu không hợp lệ, có thể tinh giảm dữ liệu hơn

 Khai mỏ dữ liệu

Sau khi tiền xử lý dữ liệu xong, đến bước khai mỏ dữ liệu tiến hành xây dựng các mô hình với sự hỗ trợ của:

- Máy học

- Trí tuệ nhân tạo

- Phân tích dữ liệu nhiều chiều bằng phương pháp thống kê hoặc bằng phương pháp trực quan hiển thị dữ liệu

Các giải thuật khai mỏ dữ liệu được sử dụng nhiều trong cộng đồng khám

phá tri thức bao gồm: Luật kết hợp (Association Rule), K láng giềng

(K-Nearest Neighbor), Bayes thơ ngây (Naive Bayes), Cây quyết định (Decision Tree), Bagging, Boosting, Máy học Véc-tơ Hỗ trợ (Support Vector Machine),

Rừng ngẫu nhiên (Random Forests), Gom cụm kMeans.

Bước khai mỏ dữ liệu được xem là trung tâm của quá trình khám phá tri thức Công việc rất phức tạp, lặp đi lặp lại các công việc như: xây dựng mô hình, tạo tri thức về dữ liệu, kiểm định lại mô hình, nếu chưa đạt thì phải xây dựng mô hình khác

Khai mỏ dữ liệu tập trung giải quyết các vấn đề cơ bản như phân lớp (classification, supervised classification), hồi quy (regression), gom nhóm (clustering, unsupervised classification) và luật kết hợp

 Đánh giá kết quả

Sau bước khai mỏ dữ liệu, kế tiếp phải đánh giá tri thức sinh ra từ việc tiền xử lý và khai mỏ dữ liệu Kiểm định kết quả dựa vào mục tiêu ban đầu của ứng dụng Nghĩa là chỉ có người sử dụng hoặc cán bộ về lĩnh vực mới có khả năng đánh giá được tri thức sinh ra Chính vì vậy kết quả được sinh ra từ quá trình khám phá tri thức cần dễ hiểu, dễ diễn dịch kết quả để giúp người sử dụng hoặc cán bộ có thể đánh giá và hiểu được kết quả sinh ra Nếu kết quả không đạt được so với mục tiêu đề ra, người ta có thể quay lại bước tiền xử lý hay khai mỏ dữ liệu để lặp lại quá trình khám phá tri thức

Tóm lại, khám phá tri thức và khai mỏ dữ liệu là một lĩnh vực rất rộng lớn Trong phạm vi nghiên cứu, khóa luận này chỉ giới thiệu một phần của vấn đề khai

mỏ dữ liệu là bài toán phân lớp và giải thuật Máy học Véc-tơ Hỗ trợ

1.2.2.2 Bài toán phân lớp

Bài toán phân lớp là một bài toán kinh điển trong lĩnh vực khai mỏ dữ liệu Mục tiêu của bài toán là xây dựng một mô hình phân lớp dựa trên tập dữ liệu học có nhãn (lớp) Ví dụ: cho sẵn một tập dữ liệu các câu hỏi đã được gán nhãn là câu hỏi thuộc các lĩnh vực là quy chế - hồ sơ (chẳng hạn “hồ sơ”, “quy định”, “khu vực”…), vấn

đề là cần một phương pháp huấn luyện để xây dựng một mô hình phân lớp từ tập dữ

Trang 24

liệu mẫu này sau đó dùng mô hình này dự đoán lớp của những tin nhắn mới (chưa biết nhãn)

1.2.2.3 Máy học Véc-tơ Hỗ trợ (SVM)

a Giải thuật học SVM

Phương pháp SVM ra đời từ lý thuyết học thống kê do Vapnik và Chervonenkis xây dựng và có nhiều tiềm năng phát triển về mặt lý thuyết cũng như ứng dụng trong thực tiễn SVM được đánh giá là 1 trong 10 giải thuật quan trọng của khai mỏ dữ liệu Các ứng dụng thực tế cho thấy phương pháp SVM có khả năng phân loại khá tốt đối với bài toán phân loại văn bản cũng như trong nhiều ứng dụng khác (như nhận dạng chữ viết tay, phát hiện mặt người trong các ảnh, ước lượng hồi quy, )

Bài toán cơ bản của SVM là bài toán phân loại hai lớp: Cho trước n điểm trong không gian d chiều (mỗi điểm thuộc vào một lớp kí hiệu là +1 hoặc –1, mục đích của giải thuật SVM là tìm một siêu phẳng (hyperplane) phân hoạch tối ưu cho phép chia

n điểm này thành hai phần sao cho các điểm cùng một lớp nằm về một phía với siêu phẳng này Hình 8 minh họa phân lớp với SVM trong mặt phẳng

Xét tập dữ liệu mẫu có thể tách rời tuyến tính {(x1,y1),(x2,y2), ,(xn,yn)} với xi

 Rd và yi{±1} Siêu phẳng tối ưu phân tập dữ liệu này thành hai lớp là siêu phẳng

có thể tách rời dữ liệu thành hai lớp riêng biệt với lề (margin) lớn nhất Tức là, cần tìm siêu phẳng H: y = w.x + b = 0 và hai siêu phẳng H1, H2 hỗ trợ song song với H

và có cùng khoảng cách đến H Với điều kiện không có phần tử nào của tập mẫu nằm giữa H1 và H2, khi đó:

w.x + b >= +1 với y = +1 w.x + b >= 1 với y = 1 Kết hợp hai điều kiện trên ta có:

y(w.x + b) >= 1

Khoảng cách của siêu phẳng H1 và H2 đến H là ||w|| Ta cần tìm siêu phẳng H với lề lớn nhất, tức là giải bài toán tối ưu tìm w

b w.

min với ràng buộc y(w.x + b) >= 1 Hình 8 Phân lớp tuyến tính với SVM

Trang 25

Người ta có thể chuyển bài toán sang bài toán tương đương nhưng dễ giải hơn là

( ( 2

1 ) , , (w b aw21 yw x  b

Trong đó α là các hệ số Lagrange, α≥0 Sau đó người ta chuyển thành bài toán đối ngẫu là cực đại hóa hàm W(α):

maxα W(α) = maxα (minw,bL(w,b,a)) (2)

Từ đó giải để tìm được các giá trị tối ưu cho w,b và α Về sau, việc phân loại một mẫu mới chỉ là việc kiểm tra hàm dấu sign(wx +b)

Giải thuật SVM cơ bản giải quyết được bài toán phân lớp tuyến tính, tuy nhiên nếu ta kết hợp SVM với phương pháp hàm nhân (kernel – based method), sẽ cho phép giải quyết một số bài toán phi tuyến bằng cách ánh xạ dữ liệu vào một không gian có

số chiều lớn hơn Không có bất kỳ thay đổi cần thiết nào về mặt giải thuật, việc duy nhất cần làm là thay thế các tích vô hướng của hai véc-tơ u.v bởi hàm nhân K(u,v)

Bảng 4 Một số hàm nhân thường được dùng

LibSVM (Library for Support Vector Machines) là một phần mềm mã nguồn

mở sử dụng kỹ thuật SVM để huấn luyện dữ liệu và dựa vào kết quả huấn luyện để xác định một dữ liệu thuộc một phân lớp nào đó Phần mềm này được xây dựng bởi nhóm Chih-Chung Chang và Chih-Jen Lin trường đại học Quốc gia Đài Loan

1.2.3 Phân lớp văn bản

1.2.3.1 Khái niệm

Phân lớp văn bản được định nghĩa là việc gán tên các chủ đề (tên lớp/nhãn lớp) cho trước vào các văn bản dựa trên nội dung của nó Phân lớp văn bản là công việc được sử dụng để hỗ trợ cho quá trình tìm kiếm thông tin (Information Retrieval), chiết lọc thông tin (Information Extraction), lọc văn bản hoặc tự động dẫn đường cho các văn bản tới những chủ đề xác định trước đó Để xây dựng bộ phân lớp văn bản tự

động, người ta sử dụng các thuật toán máy học (machine learning) có giám sát

Học có giám sát là một kĩ thuật của ngành máy học để xây dựng một hàm

(function) từ dữ liệu huấn luyện Dữ liệu huấn luyện bao gồm các cặp gồm đối tượng

đầu vào (thường dạng vec-tơ) và đối tượng đầu ra mong muốn Đầu ra của một hàm

Trang 26

có thể là một giá trị liên tục (gọi là hồi qui), hay có thể là dự đoán một nhãn phân loại cho một đối tượng đầu vào (gọi là phân loại) Nhiệm vụ của chương trình học có giám sát là dự đoán giá trị của hàm cho một đối tượng bất kì là đầu vào hợp lệ, sau khi đã xem xét một số ví dụ huấn luyện (nghĩa là, các cặp đầu vào và đầu ra tương ứng) Để đạt được điều này, chương trình học phải tổng quát hóa từ các dữ liệu sẵn có để dự đoán được những tình huống chưa gặp phải theo một cách “hợp lí”

Học có giám sát có thể tạo ra 2 loại mô hình Phổ biến nhất, học có giám sát tạo

ra một mô hình toàn cục (global model) để ánh xạ đối tượng đầu vào đến đầu ra mong

muốn Tuy nhiên, trong một số trường hợp, việc ánh xạ được thực hiện dưới dạng

một tập các mô hình cục bộ (như trong phương pháp lập luận theo tình huống

(case-based reasoning) hay giải thuật láng giềng gần nhất)

Để giải quyết một bài toán của nào đó của học máy có giám sát, người ta phải xem xét các bước sau:

1 Xác định loại của các ví dụ huấn luyện Trước khi làm bất cứ điều gì, phải quyết định loại dữ liệu nào sẽ được sử dụng làm ví dụ

2 Thu thập tập huấn luyện Tập huấn luyện cần đặc trưng cho thực tế sử dụng của hàm chức năng Vì thế, một tập các đối tượng đầu vào được thu thập và đầu ra tương ứng được thu thập, hoặc từ các cán bộ hoặc từ việc đo đạc tính toán

3 Xác định việc biểu diễn các đặc trưng đầu vào cho hàm chức năng cần tìm

Sự chính xác của hàm chức năng phụ thuộc lớn vào cách các đối tượng đầu vào được biểu diễn Thông thường, đối tượng đầu vào được chuyển đổi thành một véc-tơ đặc trưng, chứa một số các đặc trưng nhằm mô tả cho đối tượng

đó Số lượng các đặc trưng không nên quá lớn, do sự bùng nổ tổ hợp (curse

of dimensionality); nhưng phải đủ lớn để dự đoán chính xác đầu ra

4 Xác định cấu trúc của hàm chức năng cần tìm và giải thuật học tương ứng

Ví dụ, ta có thể lựa chọn việc sử dụng mạng nơ-ron nhân tạo, cây quyết định hay máy học véc-tơ hỗ trợ

5 Hoàn thiện thiết kế Chạy giải thuật học từ tập huấn luyện thu thập được Các tham số của giải thuật học có thể được điều chỉnh bằng cách tối ưu hóa

hiệu năng trên một tập con (gọi là tập kiểm chứng -validation set) của tập huấn luyện, hay thông qua kiểm chứng chéo (cross-validation) Sau khi học

và điều chỉnh tham số, hiệu năng của giải thuật có thể được đo đạc trên một tập kiểm tra độc lập với tập huấn luyện

Một vài giải thuật máy học có giám sát: Học bằng phân tích (analytical

process regression), Cây quyết định (Decision tree), Máy học Véc-tơ Hỗ trợ

(SVM),… Hình 9 mô tả mô hình phân lớp văn bản (câu hỏi) với thuật toán học có giám sát SVM

Trang 27

Một vài chú ý khi sử dụng thuật toán học máy có giám sát để xây dựng bộ phân lớp tự động:

 Tập huấn luyện chuẩn và đủ lớn Phân lớp văn bản dựa trên kỹ thuật học máy có giám sát, chính vì vậy dữ liệu huấn luyện là một bộ phận cực kỳ quan trọng, có ảnh hưởng khá nhiều đến kết quả phân lớp

 Các giải thuật máy học có giám sát đa số đều yêu cầu dữ liệu đầu vào là các véc-tơ, do đó phương pháp tách từ trong văn bản đóng vai trò rất quan trọng trong quá trình biểu diễn văn bản bằng véc-tơ Đối với một văn bản như tiếng Anh thì việc tách từ khá đơn giản, chủ yếu dựa vào các khoảng trắng Tuy nhiên đối với các ngôn ngữ đa âm tiết như tiếng Việt thì việc sử dụng các khoảng trắng để tách từ là không còn hiệu quả nữa

 Thuật toán sử dụng phải có thời gian xử lý hợp lý, thời gian này bao gồm: thời gian học, thời gian phân lớp văn bản Ngoài ra, thuật toán này còn phải

có chức năng gia tăng, nghĩa là không phân lớp lại toàn bộ tập văn bản khi thêm một số văn bản mới vào tập dữ liệu

1.2.3.2 Xây dựng tập đặc trưng văn bản

Giai đoạn đầu tiên của khám phá tri thức là tiền xử lý dữ liệu và công việc biểu diễn dữ liệu, chuyển đổi kiểu sao cho phù hợp với giải thuật khai mỏ dữ liệu được sử

Hình 9 Sơ đồ phân lớp văn bản với SVM

Trang 28

dụng là một công việc cực kỳ quan trọng trong giai đoạn tiền xử lý dữ liệu Vì vậy để

có thể thực hiện phân lớp văn bản với Máy học véc-tơ hỗ trợ, mỗi văn bản cần được biểu diễn dưới dạng véc-tơ với các thành phần (chiều) của véc-tơ này là các trọng số của các từ chỉ mục Khái niệm “từ chỉ mục” ở đây theo nghĩa là một chuỗi kí tự liên tiếp nhau trong văn bản, không nhất thiết phải là một từ có nghĩa trong ngôn ngữ Các

từ chỉ mục này còn được gọi là các đặc trưng Việc xây dựng tập đặc trưng để biểu diễn văn bản được thực hiện qua hai bước: Tách từ và lựa chọn đặc trưng

Đơn vị cơ bản trong tiếng Việt là tiếng, không phải là từ Một số đặc điểm của tiếng Việt như sau:

 Từ ở dạng nguyên thể, hình thức và ý nghĩa của từ độc lập với cú pháp

 Từ được cấu trúc từ tiếng

 Từ bao gồm từ đơn (từ một tiếng) và từ phức (n-tiếng, với n <=5), bao gồm

từ láy và từ ghép

Trong khi đó, định nghĩa về từ trong tiếng Anh như sau: “Từ là một nhóm ký tự

có nghĩa, được phân cách bởi ký tự khoảng trắng trong câu” Dưới đây là một số điểm khác biệt chính giữa tiếng Việt và tiếng Anh

Bảng 5 Các điểm khác biệt chính giữa tiếng Việt và tiếng Anh

ngữ cảnh của các tiếng Khoảng trắng hoặc dấu câu

Do những đặc điểm này mà ta không thể áp dụng các thuật toán tách từ tiếng Anh cho tiếng Việt được

Hiện nay tách từ tiếng Việt được nhiều tổ chức và cá nhân quan tâm nghiên cứu với nhiều cách tiếp cận khác nhau Một số cách tiếp cận cho bài toán tách từ tiếng Việt như: Maximum Matching: forward/backward hay còn gọi là Left Right Manimum Matching, giải thuật học cải biến TBL, mạng chuyển dịch trạng thái Hay gần đây một phương pháp kết hợp phát triển dựa trên phương pháp so khớp tối đa (Maximum Matching) với tập dữ liệu sử dụng là bảng âm tiết tiếng Việt và từ điển từ vựng tiếng Việt đã cho kết quả tách từ đạt 96%-98% Đặc điểm chung của các phương pháp này là dựa vào từ điển và tập ngữ liệu đã đánh dấu Do đó các phương pháp này

Trang 29

sẽ khó phát huy được hiệu quả khi thiếu một từ điển đầy đủ và một tập ngữ liệu hoàn chỉnh

Một phương pháp tách từ với hướng tiếp cận mới không cần dùng đến từ điển hay tập huấn luyện, đó là phương pháp sử dụng giải thuật di truyền và thống kê trên Internet Điểm nổi bật của hướng tiếp cận này là thay vì phải sử dụng ngữ liệu huấn luyện đã được gán nhãn hay từ điển vốn chưa có sẵn cho tiếng Việt, tác giả đã sử dụng thông tin thống kê rút trích trực tiếp từ bộ máy tìm kiếm và dùng giải thuật di truyền để xác định những từ hợp lý nhất Phương pháp này cho hiệu quả tách từ khá cao, tuy nhiên còn hạn chế về tốc độ xử lý do phải thống kê trực tiếp từ Internet Hiện tại cũng có nhiều phần mềm nguồn mở thực hiện tách từ tiếng Việt cho kết quả khá cao Chẳng hạn như JVnTextPro hoặc VnTokenizer

*Công cụ tách từ tiếng Việt VnTokenizer

Công cụ VnTokenizer được phát triển trong đề tài VLSP của nhóm tác giả Lê Hồng Phương, Nguyễn Thị Minh Huyền và Vũ Lương Xuân Công cụ này được phát triển dựa trên phương pháp so khớp tối đa (Maximum matching) với tập dữ liệu sử dụng là bảng âm tiết tiếng Việt và từ điển từ vựng tiếng Việt

Công cụ được xây dựng trên ngôn ngữ Java, mã nguồn mở Có thể dễ dàng tích hợp vào các hệ thống phân tích tiếng Việt khác

Quy trình thực hiện tách từ theo phương pháp so khớp tối đa:

Hình 10 Tách từ theo phương pháp so khớp tối đa Các đơn vị từ được sinh ra từ công cụ này bao gồm các từ trong từ điển, các chuỗi số, chuỗi ký tự nước ngoài, dấu câu, các ký tự hỗn tạp khác trong văn bản, các

từ mới hoặc các từ được sinh tự do theo một quy tắc nào đó (như phương thức thêm phụ tố hay phương thức láy) hoặc các chuỗi kí hiệu không được liệt kê trong từ điển

Công cụ này tách từ cho độ chính xác là 96% - 98% Ví dụ sau minh họa một đoạn văn bản được tách từ bởi VnTokenizer

Văn bản gốc:

Em tốt nghiệp THPT và giờ muốn theo học một ngành nghề nào đó liên quan đến điện tử , em nên học ở đâu ạ ?

Trang 30

Văn bản sau khi tách từ:

em tốt_nghiệp thpt và giờ muốn theo học một ngành_nghề nào_đó liên_quan đến điện_tử em nên học ở đâu ạ

b Chọn đặc trưng

Có thể thấy, các từ trong văn bản có mức độ quan trọng không giống nhau đối với văn bản và cả đối với các văn bản khác Một số từ gọi là từ dừng (stopword) như

từ nối, dấu chấm câu, ký hiệu đặc biệt, từ chỉ số lượng (“và”, “các”, “những,

“mỗi”,…) không có giá trị trong phân loại Để giảm bớt số lượng đặc trưng, nâng cao tốc độ tính toán, các từ kiểu này cần được loại bỏ Do, các từ dừng này có số lượng không nhiều, nên cần phải xây dựng một giải thuật giúp lựa chọn các đặc trưng thật

sự hữu ích cho việc phân lớp Một vài phương pháp thường được sử dụng để loại bỏ các đặc trưng không quan trọng: Tần suất xuất hiện của từ (chỉ số TF), độ lợi thông tin, thông tin tương hỗ, phương pháp thống kê 2

x , độ mạnh của từ và một số phương pháp khác

Tần suất xuất hiện của từ (Chỉ số TF): Chỉ số TF thấp tức là từ xuất hiện hầu

khắp các văn bản hoặc từ ít xuất hiện trong một văn bản

Độ lợi thông tin (Information Gain - IG): Gọi c1, c2, cm là tập các lớp văn bản

Độ lợi thông tin của đặc trưng w được định nghĩa như sau

)

|(log)

|()()

|(log)

|()()(log)()

(

1 1

1

w c P w c P w P w c P w c P w P c P c P w

m

i i i

m

i i i

- P(ci): xác suất văn bản thuộc lớp ci trên tất cả các lớp

- P(w): xác suất có từ w xuất hiện

- P(ci | w): xác suất từ w xuất hiện trong lớp ci

- P(ci |w): xác suất từ w không xuất hiện trong lớp ci

Ta tính độ lợi thông tin cho tất cả các đặc trưng rồi xóa bỏ đặc trưng có độ lợi thông tin nhỏ hơn ngưỡng cho trước

Thông tin tương hỗ (Mutual Information - MI): Thông tin tương hỗ là một

tiêu chuẩn thường được sử dụng trong các mô hình thống kê Phương pháp này đo lường khả năng xuất hiện của đặc trưng với mỗi lớp văn bản Lượng thông tin tương

hỗ giữa đặc trưng w và lớp ci được định nghĩa như sau:

)(

*)(

*log

),(

B A C A

N A c

A là số văn bản có chứa w thuộc cj

B là số văn bản có chứa w không thuộc cj

Trang 31

N là tổng số văn bản

I(w,ci) = 0 nếu w và ci độc lập Độ tốt của đặc trưng được đánh giá bởi hai tiêu chí sau:

),()()

(

1

i m

i i

) ( ) ( ) ( ) (

) (

) ,

(

2 2

D C B A D B C A

CB AD N c

1

2 2

),()()

m

i i

c w w

1

2 2

Độ mạnh của từ (Term Strenght): Phương pháp này tính toán độ mạnh của từ

dựa trên việc xuất hiện đồng thời của đặc trưng trong các văn bản liên quan Để tính xem hai văn bản này có “liên quan” với nhau hay không người ta thường sử dụng độ

đo cosine để đo 2 véc-tơ văn bản

Gọi x và y là 2 văn bản rời nhau nhưng có liên quan với nhau, độ mạnh của từ khóa w là:

s(w) = P(w  y | w  x) (10) Phương pháp này giả thuyết rằng đặc trưng càng có nhiều trong văn bản liên quan nhau thì đặc trưng này càng có ý nghĩa thông tin

Phương pháp kết hợp khác: Phương pháp này đo độ phụ thuộc của đặc trưng

và mỗi lớp theo hướng kết hợp giữa tần suất đặc trưng và độ mạnh của đặc trưng

trong lớp

Một đặc trưng w được đánh giá là tốt cho lớp C khi w thỏa các tính chất:

w trội hơn trong lớp C so với từ w’khác trong lớp C

w trội hơn trong lớp C so với sự xuất hiện của w trong lớp C’ khác còn lại

Độ đo cho một đặc trưng của một lớp được tính như sau:

G(w) = Fclust(w)*Fcoll(w)

Trang 32

Fclust(w): độ đo tầm quan trọng của từ khóa w so với những từ khóa w’ khác trong lớp văn bản C

Fcoll(w): độ đo tầm quan trọng của từ khóa w trong C so với từ khóa w trong các văn bản C’ còn lại

Tóm lại, trong những ứng dụng phân lớp văn bản, chúng ta thường gặp trở ngại

là số lượng các từ khóa (từ, đặc trưng) phát sinh nhiều Có nhiều từ khóa không mang thông tin đặc trưng cho lớp văn bản nhưng vẫn xuất hiện rất nhiều trong tập đặc trưng Những từ này rõ ràng làm giảm đi ý nghĩa việc lựa chọn thông tin đặc trưng cho văn bản Chính vì vậy thao tác loại bỏ những đặc trưng dư thừa này là rất quan trọng Trong luận văn này, do văn bản là tin nhắn SMS nên số lượng từ khóa không nhiều

và ít khi lặp lại nên chúng tôi đề xuất hai phương án chọn từ khóa, một là giữ lại các

từ khóa trong tin nhắn có trong danh sách từ khóa đã được xây dựng thủ công từ

trước, hai là giữ lại tất cả các từ có trong tin nhắn sau khi loại bỏ các từ dừng

(stopwords)

1.2.3.3 Biểu diễn văn bản bằng véc-tơ đặc trưng

a Mô hình không gian véc-tơ

Sử dụng mô hình không gian véc-tơ là phương pháp phổ biến để biểu diễn tài liệu văn bản Các văn bản được biểu diễn dưới dạng các véc-tơ với các thành phần (chiều) của véc-tơ là các trọng số của các từ chỉ mục (các đặc trưng) Theo phương pháp này, mỗi văn bản di trong tập dữ liệu đang xét sẽ được biểu diễn như véc-tơ trọng số của các đặc trưng di(wi1,wi2…,wim) Trong đó:

- i là số thứ tự dùng để nhận diện văn bản

- di là véc-tơ đặc trưng của văn bản thứ i

Phương pháp nhị phân: Phương pháp này khá đơn giản, trọng số wij = 1 nếu

từ j xuất hiện trong văn bản di và ngược lại thì wij = 0

1 nếu đặc trưng j xuất hiện trong di

wij =

0 ngược lại

Tần suất từ (term frequency - TF): Trọng số wij là số lần suất hiện của đặc trưng thứ j trong tài liệu thứ i Một cách trực quan thì một từ là quan trọng đối với một văn bản nếu nó xuất hiện nhiều lần trong văn bản đó Phương pháp này đơn giản

và hiệu quả không cao, vì vậy người ta thường xác định trọng số của từ khóa theo cách thứ 3, xác định theo công thức TF*IDF

Trang 33

TF*IDF: Đặc trưng này là kết hợp của tần suất từ (TF: Term Frequency) và

tần suất nghịch đảo tài liệu (IDF: Inverted Document Frequency) Trọng số

wij được tính như sau:

ij

DF

N TF

W *log

TFij : là tần suất xuất hiện của từ thứ j trong văn bản i

DFj : số lượng văn bản có chứa từ thứ j

N: tổng số văn bản trong tập dữ liệu đang xét

TF*IDF là một phương pháp chuẩn thường được sử dụng để biểu diễn độ quan trọng của từ khóa trong tài liệu Giá trị TF*IDF của một từ sẽ thấp nếu như từ đó xuất hiện quá ít trong một văn bản hoặc văn bản nào từ đó cũng xuất hiện Trong trường hợp DFj = 0, có nghĩa là từ thứ j không xuất hiện trong bất kỳ một văn bản nào đang

xét thì ta sẽ không áp dụng công thức này mà sẽ gán trọng số cho từ này bằng không

c Một vài đặc điểm của véc-tơ đặc trưng văn bản

− Số chiều không gian đặc trưng thường lớn

− Các đặc trưng độc lập nhau

Trang 34

CHƯƠNG 2 THIẾT KẾ VÀ CÀI ĐẶT GIẢI PHÁP

2.1 Môi trường cài đặt

2.1.1 Ngôn ngữ lập trình và Framework liên quan

a Ngôn ngữ Java

Java là một ngôn ngữ lập trình hướng đối tượng (OOP) và dựa trên các lớp (class) Khác với phần lớn ngôn ngữ lập trình thông thường, thay vì biên dịch mã nguồnthành mã máyhoặcthông dịchmã nguồn khi chạy, Java được thiết kế để biên dịch mã nguồn thànhbytecode, bytecode sau đó sẽ được môi trường thực thi (runtime environment) - chạy

Trước đây, Java chạy chậm hơn những ngôn ngữ dịch thẳng ra mã máy như C

vàC++, nhưng sau này nhờ công nghệ "biên dịch tại chỗ" - Just in time compilation, khoảng cách này đã được thu hẹp, và trong một số trường hợp đặc biệt Java có thể chạy nhanh hơn Java chạy nhanh hơn những ngôn ngữ thông dịch như Python, Perl, PHP gấp nhiều lần Java chạy tương đương so với C#, một ngôn ngữ khá tương đồng về mặt cú pháp và quá trình dịch/chạy

Cú pháp Java được vay mượn nhiều từC &C++ nhưng có cú pháp hướng đối tượng đơn giản hơn và ít tính năng xử lý cấp thấp hơn Do đó việc viết một chương trình bằng Java dễ hơn, đơn giản hơn, đỡ tốn công sửa lỗi hơn

Trong Java, hiện tượng rò rỉ bộ nhớ hầu như không xảy ra do bộ nhớ được quản

lí bởi Java Virtual Machine (JVM) bằng cách tự động "dọn dẹp rác" Người lập trình không phải quan tâm đến việc cấp phát và xóa bộ nhớ như C, C++ Tuy nhiên khi sở dụng những tài nguyên mạng, file IO, database (nằm ngoài kiểm soát của JVM) mà người lập trình không đóng (close) các streams thì rò rỉ dữ liệu vẫn có thể xảy ra

b Spring MVC Framework

Spring Framework, hay ngắn hơn làSpring, là một cấu trúc dùng để xây dựng chương trình ứng dụng mã nguồn mở dành cho ngôn ngữ lập trình Java Phiên bản đầu tiên của nó doRod Johnson viết, và đã được ông xuất bản cùng với quyển sách

đầu tay Expert One-on-One Java EE Design and Development (Nhà xuất bản Wrox Press, Tháng 10 năm2002) - tạm dịch là "Thiết kế và kiến tạo Java EE - tương giao

cá nhân một đối một chuyên ngành" Phiên bản phần mềm này cũng còn được xuất sang nền tảng.NET (.NET platform), được gọi làSpring.net

Kiến trúc của Spring Framework được ra mắt công chúng lần đầu tiên hồi tháng

6 năm 2003 dưới Giấy phép Apache - phiên bản 2.0 Phiên bản 1.0 đánh dấu mốc thành đạt đầu tiên được xuất bản vào tháng 3 năm2004, và tiếp đó vào tháng 9 năm

2004, tháng 3 năm 2005

Tuy Spring Framework không bắt buộc người ta phải tuân theo mộtmô hình lập trình(programming model) cụ thể nào, song nó lan truyền rộng rãi trong cộng đồng những người viết chương trình dùng Java, như một hình thức chủ yếu thay thế cho

mô hình Enterprise JavaBean Theo thiết kế, bộ khung hình này giải phóng lập trình

Trang 35

viên dùng Java, cho phép họ nhiều quyền tự do hơn, và đồng thời cung cấp một giải pháp tiện lợi, đầy đủ dẫn chứng bằng tài liệu, dễ dàng sử dụng, phù hợp với những thực hành thông dụng trong công nghệ phần mềm

Bên cạnh những đặc trưng nền tảng của Spring Framework là những cái có thể dùng được trong bất cứ một chương trình ứng dụng Java nào, rất nhiều các mở rộng

và tiến bộ trong việc kiến tạo các trình ứng dụng dành cho nền tảng mạng web

nổi tiếng cũng một phần do chính đặc thù kể trên và được giới thương mại công nhận như một nền tảng kiến trúc có tầm quan trọng trong chiến lược kiến tạo phần mềm

c Ngôn ngữ HTML, CSS và JavaScript

HTML (HyperText Markup Language) là khối xây dựng cơ bản của một trang web Giống như khung nhà của một ngôi nhà bằng gỗ vậy HTML gồm nhiều thẻ (Tag) khác nhau và khác về chức năng của từng thẻ Thậm chí nếu bạn có rất ít kinh nghiệm với máy tính nhưng bạn sẵn sàng dành thời gian, bạn có thể học HTML và bắt đầu xây dựng trang web của riêng bạn ở mức độ cơ bản nhất

CSS (Cascading Style Sheets) cho phép các nhà thiết kế web tạo ảnh hưởng đến cái nhìn và cảm nhận của các trang web của họ CSS là cách mà bạn thực hiện hầu hết các tính năng thiết kế trong các trang web của bạn.CSS thường nằm trong một file có phần mở rộng là css, trong file này chứa những câu lệnh CSS, mỗi câu lệnh css sẽ định dạng một thành phần nhất định của tài liệu HTML như màu sắc, font chữ,…

Javascript là một ngôn ngữ thông dịch, chương trình nguồn của nó được nhúng hoặc tích hợp vào tập tin HTML Khi trang web được tải trong trình duyệt hỗ trợ javascript, trình duyệt sẽ thông dịch và thực hiện các lệnh Javascipt Chương trình nguồn Javascript được thông dịch trong trang HTML sau khi toàn bộ trang được load nhưng trước khi trang được hiển thị

d Bootstrap Framework

Bootstrap là một framework CSS được Twitter phát triển Nó là một tập hợp các bộ chọn, thuộc tính và giá trị có sẵn để giúp web designer tránh việc lặp đi lặp lại trong quá trình tạo ra các class CSS và những đoạn mã HTML giống nhau trong dự

án web của mình Ngoài CSS ra, thì bootstrap còn hỗ trợ các function tiện ích được viết dựa trên JQuery (Carousel, Tooltip, Popovers, )

2.1.2 Hệ quản trị cơ sở dữ liệu

a Khái niệm

Hệ quản trị cơ sở dữ liệu(tiếng Anh:Database Management System - DBMS),

là phần mềmhay hệ thống được thiết kế để quản trị một cơ sở dữ liệu Cụ thể, các chương trình thuộc loại này hỗ trợ khả năng lưu trữ, sửa chữa, xóa và tìm kiếm thông tin trong mộtcơ sở dữ liệu (CSDL) Có rất nhiều loại hệ quản trị CSDL khác nhau:

từ phần mềm nhỏ chạy trên máy tính cá nhân cho đến những hệ quản trị phức tạp chạy trên một hoặc nhiềusiêu máy tính

Trang 36

Tuy nhiên, đa số hệ quản trị CSDL trên thị trường đều có một đặc điểm chung

là sử dụng ngôn ngữ truy vấn theo cấu trúc mà tiếng Anh gọi là Structured Query

làMySQL,Oracle,PostgreSQL,SQL Server, DB2,Infomix, v.v

MySQL là một trong những ví dụ rất cơ bản về Hệ Quản Trị Cơ Sở Dữ Liệu quan hệ sử dụng Ngôn ngữ truy vấn có cấu trúc (SQL)

2.2 Xây dựng hệ thống

2.2.1 Tổng quan hệ thống, thiết kế tổng thể

Quy trình phân loại một câu hỏi

Đầu tiên, hệ thống tiếp nhận câu hỏi của thí sinh thông qua website hoặc qua tin nhắn điện thoại Nếu hệ thống được cấu hình bán tự động câu hỏi sẽ được giữ lại cho admin sau đó admin sẽ kiểm tra hoặc phân loại lại các câu hỏi nhận được và gởi những câu hỏi phân loại cho những cán bộ phụ trách lĩnh vực tương ứng Hoặc là hệ thống tự động, hệ thống sẽ tự động phân loại và gởi cho các cán bộ Câu hỏi sau khi phân loại sẽ được lưu vào cơ sở dữ liệu

Hệ thống sẽ phân loại câu hỏi được gởi tới như sau: đầu tiên câu hỏi sẽ được tách từ bằng thư viện vnTokenizer Tiếp theo câu hỏi sẽ được loại bỏ những từ ngữ thừa - từ dừng Rồi sau đó, câu hỏi sẽ được xử lý bằng kĩ thuật phân loại tự động SVM Kĩ thuật phân loại SVM giúp hệ thống đưa ra loại lĩnh vực cho từng câu hỏi cụ thể

Cụ thể như sau:

 Câu hỏi tiếp nhận:

Các thầy cô cho em hỏi, em đang tìm hiểu về ngành hệ thống thông tin và ngành khoa học máy tính, em muốn biết là hai ngành này khác nhau như thế nào và công việc cụ thể của từng ngành như thế nào sau khi ra trường? Em cảm ơn thầy cô nhiều

 Câu hỏi qua tách từ bằng vnTokenizer

các thầy_cô cho em hỏi em đang tìm_hiểu về ngành hệ_thống_thông_tin và ngành khoa_học_máy_tính em muốn biết là hai ngành này khác_nhau như_thế_nào và công_việc cụ_thể của từng ngành như_thế_nào sau khi ra trường em cảm_ơn thầy_cô nhiều ạ

Trang 37

tìm_hiểu hệ_thống_thông_tin khoa_học_máy_tính khác_nhau công_việc cụ_thể từng

 Mã lĩnh vực được dự đoán là 1 – Lĩnh vực Công Nghệ Thông Tin

Sau khi cán bộ đã tiếp nhận câu hỏi và trả lời, câu trả lời sẽ được gửi lại cho thí sinh thông qua email mà thí sinh đã cung cấp hoặc gửi tin nhắn phản hổi lại cho người

đã đặt câu hỏi đó

Đối với tin nhắn sms, tin nhắn sẽ được lưu vào cơ sở dữ thông qua smsserver Trong một khoảng thời gian nhất định, hệ thống sẽ đọc cơ sở dữ liệu và lấy tin nhắn

ra xử lí, tin nhắn sms có thể là câu hỏi hoặc câu trả lời từ cán bộ

 Tin nhắn sms từ hệ thống gửi đến cho cán bộ có cấu trúc:

TVTS# + mã câu hỏi + khoảng trắng + nội dung câu hỏi (-Tu: HeThongTuVanTuyenSinh)

 Khi cán bộ trả lời câu hỏi bằng tin nhắn sms phải viết tin nhắn theo cú pháp:

TVTS# + mã câu hỏi + khoảng trắng + nội dung câu trả lời

Lưu ý: Do hệ thống sẽ nhận dạng số điện thoại gởi tới của cán bộ để biết cán

bộ nào đã trả lời, nên cán bộ phải trả lời câu hỏi bằng số điện thoại đã đăng ký với hệ thống

Hình 11 Mô hình tổng quan hệ thống

Ngày đăng: 22/12/2015, 11:49

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
5. Ozeki SMS wiki, SMS Software, http://www.sms-wiki.org/p_104-sms-software-sms.html Link
10. Chang, C.C., Lin, C.J (2011), LIBSVM – a library for support vector machines, http://www.csie.ntu.edu.tw/~cjlin/libsvm Link
14. vnTokenizer -- Vietnamese word segmentation http://mim.hus.vnu.edu.vn/phuonglh/softwares/vnTokenizer Link
1. Đỗ Thanh Nghị (2011), Khai mỏ dữ liệu – minh họa bằng ngôn ngữ R, NXB Đại học Cần Thơ, Cần Thơ Khác
2. Trần Cao Đệ, Phạm Nguyên Khang (2012), Phân loại văn bản với Máy học vector hỗ trợ và Cây quyết định”, Tạp chí khoa học (21a), tr. 52 – 63 Khác
3. Ngô Bá Hùng (2012), Bài giảng Phát triển ứng dụng nền Web, Khoa Công Nghệ Thông Tin và Truyền Thông, Đại Học Cần Thơ Khác
4. Lương Thế Anh (2014), Luận văn tốt nghiệp cao học, Hệ thống hỗ trợ khuyến nông trên cây lúa qua mạng thông tin di động, Tạp chí khoa học số 33 (2014) Website Khác

HÌNH ẢNH LIÊN QUAN

Hình 1. Hệ thống thông tin di động - hệ thống hỗ trợ tư vấn tuyển sinh đại học
Hình 1. Hệ thống thông tin di động (Trang 15)
Hình 5. Ứng dụng SMS kết nối tới SMSC qua trung gian SMS Gateway - hệ thống hỗ trợ tư vấn tuyển sinh đại học
Hình 5. Ứng dụng SMS kết nối tới SMSC qua trung gian SMS Gateway (Trang 17)
Hình 6. Một ứng dụng SMS kết nối đến điện thoại di động hoặc modem thông - hệ thống hỗ trợ tư vấn tuyển sinh đại học
Hình 6. Một ứng dụng SMS kết nối đến điện thoại di động hoặc modem thông (Trang 18)
Hình 9. Sơ đồ phân lớp văn bản với SVM - hệ thống hỗ trợ tư vấn tuyển sinh đại học
Hình 9. Sơ đồ phân lớp văn bản với SVM (Trang 27)
Hình 11. Mô hình tổng quan hệ thống - hệ thống hỗ trợ tư vấn tuyển sinh đại học
Hình 11. Mô hình tổng quan hệ thống (Trang 37)
Hình 12. Quy trình nhận và trả lời câu hỏi thông qua tin nhắn sms - hệ thống hỗ trợ tư vấn tuyển sinh đại học
Hình 12. Quy trình nhận và trả lời câu hỏi thông qua tin nhắn sms (Trang 38)
Hình 13. Quy trình nhận và trả lời câu hỏi thông qua email - hệ thống hỗ trợ tư vấn tuyển sinh đại học
Hình 13. Quy trình nhận và trả lời câu hỏi thông qua email (Trang 38)
Hình 14. Giao diện trang chủ website - hệ thống hỗ trợ tư vấn tuyển sinh đại học
Hình 14. Giao diện trang chủ website (Trang 46)
Hình 17. Chức năng của admin - hệ thống hỗ trợ tư vấn tuyển sinh đại học
Hình 17. Chức năng của admin (Trang 48)
Hình 18. Mô hình thực thể kết hợp (ERD) - hệ thống hỗ trợ tư vấn tuyển sinh đại học
Hình 18. Mô hình thực thể kết hợp (ERD) (Trang 48)
Hình 20. Giao diện xem, sửa thông tin cá nhân của cán bộ - hệ thống hỗ trợ tư vấn tuyển sinh đại học
Hình 20. Giao diện xem, sửa thông tin cá nhân của cán bộ (Trang 49)
Hình 21. Giao diện trả lời và phân loại lại câu hỏi của cán bộ - hệ thống hỗ trợ tư vấn tuyển sinh đại học
Hình 21. Giao diện trả lời và phân loại lại câu hỏi của cán bộ (Trang 50)
Hình 23. Giao diện cập nhật, phân loại tin nhắn bán tự động - hệ thống hỗ trợ tư vấn tuyển sinh đại học
Hình 23. Giao diện cập nhật, phân loại tin nhắn bán tự động (Trang 51)
Hình 26. Giao diện tạo tài khoản cán bộ mới - hệ thống hỗ trợ tư vấn tuyển sinh đại học
Hình 26. Giao diện tạo tài khoản cán bộ mới (Trang 53)
Bảng 12. Kết quả thực nghiệm tỉ lệ chính xác các giải thuật - hệ thống hỗ trợ tư vấn tuyển sinh đại học
Bảng 12. Kết quả thực nghiệm tỉ lệ chính xác các giải thuật (Trang 54)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w