Trong luận văn này, chúng em cũng tìm hiểu một số cách phân loại tài liệu và thử nghiệm một phương pháp phân loại áp dụng thuật tốn Nạve Bayes để xây dựng chương trình dựa trên tập dữ li
Trang 1KHOA CÔNG NGHỆ THÔNG TIN
- -
BÁO CÁO NGHIÊN CỨU KHOA HỌC
ĐỀ TÀI:
XÂY DỰNG HỆ THỐNG PHÂN LOẠI TÀI
LIỆU TIẾNG VIỆT
TRẦN THỊ THU THẢO
VŨ THỊ CHINH
BIÊN HÒA, THÁNG 11/2012
Trang 2KHOA CÔNG NGHỆ THÔNG TIN
- -
ĐỀ TÀI:
XÂY DỰNG HỆ THỐNG PHÂN LOẠI TÀI LIỆU TIẾNG VIỆT
SVTH: TRẦN THỊ THU THẢO
VŨ THỊ CHINH GVHD:ThS TẠ NGUYỄN
BIÊN HÒA, THÁNG 11/2012
Trang 3Trong những năm gần đây, với sự phát triển mạnh mẽ của cơng nghệ thơng tin và nhu cầu sử dụng Internet của con người đã làm tăng vọt lượng thơng tin giao dịch trên Internet
Vì vậy mà số lượng văn bản điện tử tăng nhanh chĩng mặt về số lượng và chủ đề đặc biệt là thư viện điện tử, tin tức điện tử trên mạng tồn cầu…
Với lượng thơng tin đồ sộ như vậy, một yêu cầu lớn đặt ra là làm sao tổ chức và tìm kiếm thơng tin một cách chính xác, cĩ hiệu quả nhất Phân loại thơng tin là một trong những giải pháp hợp lý cho yêu cầu trên Nhưng một thực tế cho thấy là khối lượng thơng tin quá lớn, việc phân loại dữ liệu thủ cơng là điều vơ cùng khĩ khăn Hướng giải quyết cho việc này là xây dựng một chương trình phân loại thơng tin tự động bằng máy tính
Phân loại văn bản là một vấn đề quan trọng trong lĩnh vực xử lý ngơn ngữ Nhiệm vụ của bài tốn này là gán các tài liệu văn bản vào nhĩm các chủ đề cho trước Đây là một bài tốn rất thường gặp trong thực tế điển hình như việc phân nhĩm tin tức, phân nhĩm các văn bản theo từng thể loại khác nhau Tuy nhiên, chúng ta khơng thể cùng lúc đọc tất cả các tin tức, bài viết, bài báo hay các tài liệu để rồi phân loại chúng theo đúng mục đích của mình bởi vì số tài liệu lớn, nếu để đọc hết được tất cả thì sẽ mất rất nhiều thời gian Đĩ là lý do cần cĩ một hệ thống phân loại tài liệu tiếng Việt
Chúng em đã chọn thực hiện đề tài “Xây dựng hệ thống phân loại tài liệu tiếng Việt” nhằm tìm hiểu và thử nghiệm các phương pháp phân loại văn bản áp dụng trên tiếng Việt Trong luận văn này, chúng em cũng tìm hiểu một số cách phân loại tài liệu và thử nghiệm một phương pháp phân loại áp dụng thuật tốn Nạve Bayes để xây dựng chương trình dựa trên tập dữ liệu huấn luyện từ đĩ hướng đến việc phân loại các bài báo khoa học trong lĩnh vực Cơng nghệ thơng tin nhằm tiết kiệm thời gian và cơng sức cho các nhà tổ chức trong các hội thảo chuyên đề
Việc thực hiện đề tài phân loại tài liệu tiếng Việt của chúng em hy vọng sẽ đem đến một cách phân loại mới, nhanh chĩng và hiệu quả hơn việc phân loại bằng thủ cơng như hiện nay
Trang 4Chúng em xin bày tỏ lòng biết ơn sâu sắc nhất tới Thầy Tạ Nguyễn đã tận tụy hướng dẫn, động viên, giúp đỡ em trong suốt thời gian thực hiện đề tài
Chúng em xin chân thành cảm ơn quý Thầy Cô trong khoa Công nghệ thông tin đã truyền đạt những kiến thức quý báu và những kinh nghiệm quý báu cho chúng em trong những năm học vừa qua
Chúng con xin nói lên lòng biết ơn đối với Ông Bà, Cha Mẹ luôn là nguồn động viên, chăm sóc trên bước đường học vấn của chúng con
Xin chân thành cảm ơn các anh chị và bạn bè đã ủng hộ, giúp đỡ và động viên chúng
em trong thời gian học tập và nghiên cứu
Mặc dù chúng em đã cố gắng hoàn thành luận văn trong phạm vi và khả năng cho phép nhưng chắc chắn chúng em sẽ không tránh khỏi những thiếu sót trong quá trình thực hiện đề tài Chúng em kính mong nhận được sự cảm thông và các ý kiến đóng góp của quý Thầy Cô
và các bạn
Một lần nữa, xin chân thành cảm ơn
Sinh viên thực hiện, Trần Thị Thu Thảo & Vũ Thị Chinh
11/2012
Trang 5CHƯƠNG 1: TỔNG QUAN 1
1.1 Đặt vấn đề 1
1.2 Tổng quan tình hình nghiên cứu trong và ngồi nước 1
1.2.1 Tổng quan thế giới 1
1.2.2 Tổng quan trong nước 2
1.3 Mục tiêu của luận văn 4
1.4 Nội dung thực hiện 4
CHƯƠNG 2: CÁC PHƯƠNG PHÁP PHÂN LOẠI VĂN BẢN 6
2.1 Tổng quát về các phương pháp phân loại văn bản 6
2.2 Mơ tả bài tốn phân loại văn bản 6
2.3 Các phương pháp phân loại văn bản tiếng Anh 7
2.3.1 Support vector Machine (SVM) 7
2.3.2 Nạve Bayes (NB) 9
2.3.3 Biểu diễn văn bản 10
2.3.4 K–Nearest Neighbor (kNN) 12
2.3.5 Linear Least Square Fit (LLSF) 13
2.3.6 Neural Network (NNet) 14
2.3.7 Centroid- based vector 15
2.4 Kết luận chung về các phương pháp phân loại văn bản tiếng Anh 16
2.5 Tách từ trong bài tốn phân loại văn bản 17
2.5.1 Khĩ khăn vướng mắc 18
2.5.2 Các phương pháp tách từ 19
CHƯƠNG 3: ỨNG DỤNG PHÂN LOẠI BÀI BÁO KHOA HỌC TRONG LĨNH VỰC CƠNG NGHỆ THƠNG TIN 24
3.1 Hiện trạng 24
3.2 Quy trình xử lý phân loại bài báo 25
3.2.1 Tách từ trong văn bản 26
3.2.2 Loại bỏ các từ tầm thường 28
3.3 Trích chọn đặc trưng văn bản 28
3.3.1 Các ý tưởng cơ bản 28
3.3.2 Phương pháp rút trích đặc trưng 29
Trang 63.4 Sử dụng thuật tốn Nạve Bayes để phân loại văn bản 32
3.4.1 Lý do chọn Nạve Bayes 32
3.4.2 Ý tưởng và cơng thức Nạve Bayes 32
3.4.3 Ước lượng P(X|Y) 33
3.4.4 Ước lượng P(Y) 34
3.4.5 Ước lượng P(Y|X) 34
3.5 Ứng dụng Nạve Bayes vào bài tốn phân loại 34
3.5.1 Ý tưởng 34
3.5.1 Hướng dẫn cài đặt 35
CHƯƠNG 4: XÂY DỰNG CHƯƠNG TRÌNH 39
4.1 Xây dựng cơ sở dữ liệu 39
4.1.1 Từ điển tiếng việt 39
4.1.2 Mơ tả thực thể 40
4.1 Xây dựng giao diện phân loại văn bản 47
4.1.1 Lưu đồ phân loại văn bản 47
4.1.2 Thiết kế giao diện 48
4.1.3 Xây dựng các chức năng 49
CHƯƠNG 5: THỬ NGHIỆM VÀ ĐÁNH GIÁ KẾT QUẢ 54
5.1 Ví dụ về chương trình phân loại văn bản 54
5.2 Đánh giá kết quả 58
5.2.1 Dữ liệu đầu vào 58
5.2.2 Kết quả thực nghiệm 59
5.2.3 Đánh giá kết quả 60
KẾT LUẬN 62 TÀI LIỆU THAM KHẢO
Trang 7Hình 2.1 Phân chia dữ liệu huấn huyện 8
Hình 2.2 Biểu diễn văn bản 11
Hình 2.3 Hình Kiến trúc mô đun (Modular Architecture) 15
Hình 2.4 Xây dựng ôtômát âm tiết 19
Hình 2.5 Xây dựng ôtômát từ vựng 20
Hình 2.6 Một tình huống nhập nhằng trong phân tách từ 21
Hình 3.1 Mô hình phân loại tài liệu tự động 25
Hình 3.2 Chi tiết giai đoạn huấn luyện 31
Hình 3.3 Mô tả bước xây dựng bộ phân lớp 35
Hình 4.1 Mô hình cơ sở dữ liệu 45
Hình 4.2 Lưu đồ phân loại văn bản 47
Hình 4.3 Giao diện chính chương trình 48
Hình 4.4 Huấn luyện văn bản 49
Hình 4.5 Phân loại văn bản 50
Hình 4.6 Thông tin chủ đề 51
Hình 4.7 Thông tin bài báo 52
Hình 5.1 Giao diện phân loại văn bản 54
Hình 5.2 Kết quả phân tách văn bản 55
Hình 5.3 Kết quả dựa vào công thức tính trọng số Tf*idf 56
Hình 5.4 Thống kê kết quả phân loại từ máy 57
Trang 8Bảng 3.1 Bảng phân lớp 38
Bảng 4.1 Thuộc tính thực thể 39
Bảng 4.2 Bảng Chuyên ngành 40
Bảng 4.3 Bảng tài khoản 41
Bảng 4.4 Bảng từ điển 41
Bảng 4.5 Bảng từ phổ thông 42
Bảng 4.6 Bảng từ được tách 42
Bảng 4.7 Bảng từ chuyên ngành 43
Bảng 4.8 Bảng bài báo 43
Bảng 4.9 Bảng bài báo sau khi phân loại 44
Bảng 4.10 Bảng biến tạm 44
Bảng 4.11 Bảng mối quan hệ thực thể 46
Bảng 4.12 Bảng mối kết hợp của thực thể 46
Bảng 5.1 Bảng số liệu xử lý theo con người 58
Bảng 5.2 Bảng kết quả chương trình phân loại văn bản tiếng Việt 59
Bảng 5.3 Tỷ lệ(%) phân loại văn bản 60
Trang 9CHƯƠNG 1: TỔNG QUAN
1.1 Đặt vấn đề
Trong thời đại bùng nổ công nghệ thông tin hiện nay, phương thức sử dụng giấy tờ trong giao dịch đã dần được số hoá chuyển sang các dạng văn bản lưu trữ trên máy tính hoặc truyền tải trên mạng Bởi nhiều tính năng ưu việt của tài liệu số như: cách lưu trữ gọn nhẹ, thời gian lưu trữ lâu dài, tiện dụng trong trao đổi đặc biệt là qua Internet, dễ dàng sửa đổi… nên ngày nay, số lượng văn bản số tăng lên một cách chóng mặt đặc biệt là trên world-wide-web Cùng với sự gia tăng về số lượng văn bản, nhu cầu tìm kiếm văn bản cũng tăng theo Với số lượng văn bản đồ sộ thì việc phân loại văn bản tự động là một nhu cầu bức thiết
Tại sao phải phân loại văn bản tự động? Việc phân loại văn bản sẽ giúp chúng ta tìm kiếm thông tin dễ dàng và nhanh chóng hơn rất nhiều so với việc phải bới tung mọi thứ trong ổ đĩa lưu trữ để tìm kiếm thông tin Mặt khác, lượng thông tin ngày một tăng lên đáng kể, việc phân loại văn bản tự động sẽ giúp con người tiết kiệm được rất nhiều thời gian và công sức
Do vậy, các phương pháp phân loại văn bản tự động đã ra đời để phục vụ cho nhu cầu chính đáng đó
1.2 Tổng quan tình hình nghiên cứu trong và ngoài nước
Công tác phân loại luôn được các thư viện và cơ quan thông tin trên thế giới hết sức quan tâm Phân loại tài liệu là một khâu công tác quan trọng giúp cho việc kiểm soát thư mục, góp phần thúc đẩy việc khai thác, trao đổi thông tin trong phạm vi quốc gia và quốc tế Trên thế giới và một số thư viện lớn ở Việt Nam, phân loại được áp dụng sâu rộng trong việc tổ chức kho mở và tra cứu thông tin
1.2.1 Tổng quan thế giới
Theo Yang & Xiu, 1999, “việc phân loại văn bản tự động là việc gán các nhãn phân loại lên một văn bản mới dựa trên mức độ tương tự của văn bản đó so với các văn
Trang 10bản đã được gán nhãn trong tập huấn luyện”
Từ trước đến nay, phân loại văn bản tự động trong tiếng Anh đã cĩ rất nhiều cơng trình nghiên cứu và đạt được kết quả đáng khích lệ Dựa trên các thống kê của Yang & Xiu (1999)[6] và nghiên cứu của chúng em, một số phương pháp phân loại
thơng dụng hiện nay là: Support Vector Machine -Joachims, 1998[4], k-Nearest
Neighbor -Yang, 1994, Linear Least Squares Fit -Yang and Chute, 1994[7] Neural Network -Wiener et al, 1995, Nạve Bayes -Baker and Mccallum, 2000, Centroid- based
- Shankar and Karypis, 1998 Các phương pháp trên đều dựa vào xác suất thống kê
hoặc thơng tin về trọng số của từ trong văn bản Chi tiết về ý tưởng và cơng thức tính tốn của mỗi phương pháp sẽ được chúng em trình bày ở chương 2, mục 2.3
Mỗi phương pháp phân loại văn bản đều cĩ cách tính tốn, áp dụng cơng thức khác nhau, tuy nhiên, nhìn một cách tổng quan thì các phương pháp đĩ đều phải thực hiện một số bước chung như sau: đầu tiên, mỗi phương pháp sẽ dựa trên các thơng tin về
sự xuất hiện của từ trong văn bản (ví dụ tần số, số văn bản chứa từ…) để biểu diễn văn
bản thành dạng vector Sau đĩ, tuỳ từng phương pháp mà ta sẽ áp dụng cơng thức và cách thức tính tốn khác nhau để thực hiện việc phân loại
Đối với tiếng Anh, các kết quả trong lĩnh vực này rất khả quan, cịn đối với tiếng Việt, các cơng trình nghiên cứu về phân loại văn bản gần đây đã cĩ một số kết quả ban đầu nhưng vẫn cịn nhiều hạn chế Nguyên nhân là ngay ở bước đầu tiên, chúng ta đã gặp khĩ khăn trong việc xử lý văn bản để rút ra tần số xuất hiện của từ Trong khi đĩ, để phân loại văn bản thì cĩ thể nĩi bước đầu tiên là quan trọng nhất bởi vì nếu ở bước tách
từ đã sai thì việc phân loại hầu như khơng thể thành cơng được Phần trình bày tiếp theo
sẽ cho chúng ta biết những thách thức đặt ra trong việc tách từ tiếng Việt, cũng như
những ứng dụng thú vị của nĩ
1.2.2 Tổng quan trong nước
Vấn đề phân loại văn bản tiếng Việt được nhiều cơ sở nghiên cứu trong cả nước quan tâm trong những năm gần đây Một số cơng trình nghiên cứu cũng đạt được những kết quả khả quan Các hướng tiếp cận bài tốn phân loại văn bản đã được nghiên cứu bao gồm: hướng tiếp cận bài tốn phân loại bằng lý thuyết đồ thị[10], cách tiếp cận sử dụng
Trang 11lý thuyết tập thô [9], cách tiếp cận thống kê [12], cách tiếp cận sử dụng phương pháp học không giám sát và đánh chỉ mục[14, 15] Nhìn chung, những cách tiếp cận này đều cho kết quả tốt.Tuy vậy để đi đến những triển khai khả thi thì vẫn cần đẩy mạnh nghiên cứu nhưng vẫn dựa trên hướng nghiên cứu trên Một trong những khó khăn trong việc áp dụng những thuật toán phân loại văn bản vào tiếng Việt là xây dựng được tập hợp từ vựng của văn bản Vấn đề này liên quan tới việc phân tách một câu thành các từ một cách chính xác Có thể kể đến công trình nghiên cứu của GS.TSKH Hoàng Kiếm và TS Đỗ
Phúc[13]
Đối với tiếng Anh, “từ là một nhóm các ký tự có nghĩa được tách biệt với nhau bởi khoảng trắng trong câu” (Webster Dictionary), do vậy việc tách từ trở nên rất đơn giản Trong khi đối với tiếng Việt, ranh giới từ không được xác định mặc định là khoảng trắng mà tùy thuộc vào ngữ cảnh dùng câu tiếng Việt Ví dụ các từ trong tiếng Anh là “book”, “cat”, “stadium” thì trong tiếng Việt là “quyển sách”, “con mèo”, “sân
vận động” Vấn đề trên thực sự đưa ra một thách thức đối với chúng ta - những người
làm tin học
Thách thức nào cũng có cái hay của nó Khi chúng ta giải quyết được việc tách
từ một cách chính xác, thì kết quả mà chúng ta đạt được là bước phát triển trong các hướng nghiên cứu có liên quan đến việc xử lý ngôn ngữ tự nhiên như: phân loại văn bản, dịch tự động, kiểm tra lỗi chính tả, kiểm tra ngữ pháp… Đây là các ứng dụng rất cần thiết đối với con người và là mục tiêu của con người đang hướng tới
Theo Đinh Điền (2004)[8], các phương pháp tách từ sau có nguồn gốc từ tiếng
Hoa đã được thử nghiệm trên tiếng Việt: Maximum Matching: forward/backward hay còn gọi LRMM (Left Right Maximum Matching); giải thuật học cải biến TBL;
mạng chuyển dịch trạng thái hữu hạn có trọng số WFST (Weighted finite-state Transducer); giải thuật dựa trên nén (compression);….Theo các cách tiếp cận trên, điều kiện quan trọng cần có là một hệ thống từ điển và ngữ liệu đánh dấu đầy đủ, chuẩn xác Một từ điển hay một tập ngữ liệu không hoàn chỉnh sẽ làm giảm hiệu suất của thuật toán
Gần đây, một phương pháp tách từ mới được giới thiệu có ưu điểm là không cần
Trang 12đến tập dữ liệu hay từ điển để lấy thơng tin thống kê hay trọng số của từ, đĩ là phương pháp Internet and Genetics Algorithm-based Text Categorization (IGATEC) của H Nguyen et al (2005)[1] Điểm sáng tạo của thuật tốn là kết hợp thuật tốn di truyền với việc trích xuất thơng tin thống kê từ Internet thơng qua một cơng cụ tìm kiếm (ví
dụ như Google) thay vì lấy từ tập dữ liệu như các phương pháp trước
Để thực hiện bước tách từ trong luận văn này chúng em dựa trên ý tưởng của mơ hình N-gram là chia văn bản ra thành nhiều chuỗi, mỗi chuỗi gồm hai, ba ký tự trở lên với tập dữ liệu xây dưng thơ và dữ liệu đã được phân loại sẵn
1.3 Mục tiêu của luận văn
Tìm hiểu thuật tốn Nạve Bayes ứng dụng vào xây dựng một chương trình phân loại văn bản tiếng Việt, bước đầu ứng dụng vào việc phân loại các bài báo khoa học điện tử thuộc
lĩnh vực CNTT trong các hội thảo như: Hội thảo Fair, hội thảo @ Cần Thơ
1.4 Nội dung thực hiện
Bước 1:
- Tìm tập dữ liệu bao gồm tập kiểm thử chương trình và tập máy học bao gồm các bài báo, luận văn thuộc chuyên ngành cơng nghệ thơng tin trong đĩ:
o Tập máy học bao gồm các bài báo được phân loại theo tri thức, phân loại thủ cơng hay dựa vào đề tài để phân loại làm dữ liệu
o Tập dùng để kiểm thử là tập hợp các bài báo đã được phân loại sẵn dùng để kiểm thử chương trình lấy kết quả thống kê khi hồn thành chương trình
Trang 13 Bước 3:
- Tìm hiểu các phương pháp tính trọng số của từ, chọn lựa phương pháp phù hợp.Xây dựng bộ từ điển các từ trong lĩnh vực Cơng nghệ thơng tin kèm theo trọng số
Bước 4:
- Rút trích đặc trưng ước lượng xác suất theo phương pháp Nạve Bayes vào
chương trình phân loại văn bản tiếng Việt
Bước 5:
- Thử nghiệm và thống kê kết quả xử lý khi hồn thành chương trình dựa trên tập dữ liệu kiểm thử đã được phân loại sẵn
- Nhận xét và đánh giá
Trang 14CHƯƠNG 2: CÁC PHƯƠNG PHÁP PHÂN
LOẠI VĂN BẢN
2.1 Tổng quát về các phương pháp phân loại văn bản
Hiện nay phân loại văn bản tự động là một lĩnh vực được chú ý nhất trong những
năm gần đây Để phân loại văn bản người ta sử dụng nhiều cách tiếp cận khác nhau như: dựa trên từ khĩa, dựa trên ngữ nghĩa các từ cĩ tần số xuất hiện cao hay trọng số của từ, tập
dữ liệu, mơ hình Maximum Entropy Tiếng Anh là ngơn ngữ được nghiên cứu sớm nhất và
đã đạt được kết quả tốt Rất nhiều phương pháp đã được áp dụng như: mơ hình hồi quy phân loại dựa trên láng riềng gần nhất k-nearest neighbors phương pháp dựa trên xác suất Nạve Bayes, cây quyết định học luật quy nạp, máy vector hỗ trợ Support vector Machine, mơ hình cực đại entropy Hiệu quả của các phương pháp là rất khác nhau ngay cả khi chúng được áp dụng trong tiếng Anh Việc đánh giá gặp nhiều khĩ khăn do thiếu các tập dữ liệu huấn luyện chuẩn Chương hai này để giới thiệu các thuật tốn được sử dụng rộng rãi và so sách sự giống và khác nhau giữa các phương pháp
2.2 Mơ tả bài tốn phân loại văn bản
Ý tưởng của phương pháp phân loại các chủ đề, cần dự đốn văn bản đĩ thuộc vào chủ đề nào trong số các chủ đề đã cho
Gọi X là tập các văn bản cần phân loại và Y là tập các chủ đề cĩ thể được gán cho các văn bản Khi đĩ ta cần phải chi ra một văn bản x X thuộc vào chủ đề y Y nào Trong đĩ, x bao gồm các từ, cụm từ, câu được dùng cho nhiệm vụ phân loại Để rõ hơn ta xét ví dụ gồm 6 lớp các bài báo cĩ thể được phân loại: báo pháp luật, báo gia đình, báo thể thao, báo văn hĩa, báo về giới tính, báo nhân dân Và chúng ta cĩ ràng buộc, nếu một văn bản cĩ từ “bĩng đá” xuất hiện thì khả năng văn bản đĩ thuộc vào lớp “báo thể thao” là 30%
và 70% là khả năng mà văn bản đĩ thược vào 5 lớp cịn lại Với ví dụ này thì chúng ta cĩ thể dễ dàng tính được Nhưng thực tế thì khơng phải chỉ một vài ràng buộc đơn giản như vậy, mà là hàng trăm hàng nghìn ràng buộc phức tạp hơn nhiều
Trang 15Vì vậy, nhiệm vụ đầu tiên cần phải làm là biểu diễn văn bản dưới dạng các từ, cụm
từ và các câu cĩ chọn lọc Lọc bỏ những từ, cụm từ và câu khơng cĩ nghĩa hay khơng cĩ tác động tích cực tới việc phân loại
Bước tiếp theo là xác định các ràng buộc cho bài tốn phân loại Các ràng buộc này sẽ được lấy ra từ tập dữ liệu huấn luyện Mỗi ràng buộc thể hiện một đặc trưng của dữ liệu huấn luyện Khi ta cĩ được 1 bài báo, khi đĩ ta dựa vào một số đặc điểm hay thuộc tính nào đĩ của bài báo để tăng khả năng phân loại Các đặc điểm của bài báo như: tiêu
đề, nội dung… Càng nhiều những thơng tin như vậy xác suất phân loại đúng càng lớn, tất nhiên cịn phụ thuộc vào kích thước của tập mẫu huấn luyện
Việc tính tốn xác suất sẽ dựa vào cơng thức Nạve Bayes, từ xác suất thu được ta đem so sánh với một giá trị ngưỡng t nào đĩ mà ta xem là ngưỡng để phân loại bài báo thuộc thể loại nào
2.3 Các phương pháp phân loại văn bản tiếng Anh
2.3.1 Support vector Machine (SVM)
SVM - viết tắt tên tiếng Anh support vector machine là phương pháp được Vapnik giới thiệu vào năm 1995 [3] nhằm giải quyết vấn đề nhận dạng mẫu 2 lớp sử dụng nguyên lý cực tiểu hĩa rủi ro cĩ cấu trúc
Ý tưởng
Cho trước tập huấn luyện được biểu diễn trong khơng gian vector trong đĩ mỗi văn bản là một điểm, phương pháp tìm ra một siêu mặt phẳng h quyết định tốt nhất cĩ thể chia các điểm trên khơng gian này thành 2 lớp riêng biệt tương ứng lớp + và lớp - Hiệu quả xác định siêu mặt phẳng này được quyết định bởi khoảng cách của điểm gần mặt phẳng nhất của mỗi lớp Khoảng cách càng lớn thì mặt phẳng quyết định càng tốt đồng nghĩa với việc phân loại càng chính xác và ngược lại Mục đích cuối cùng của phương pháp là tìm được khoảng cách biên lớn nhất
Trang 16Hình 2.1 Phân chia dữ liệu huấn huyện
, 1
0
, 1 )
( )
(
b w d
b w d b
w d sign d
h
i
i i
i
Nhƣ vậy h(d i) biểu diễn sự phân lớp của d i vào 2 lớp + và lớp - Gọi yi = {±1}, yi = +1 văn bản d i thuộc lớp +, yi = -1 văn bản d i thuộc lớp - Để có siêu mặt phẳng h ta đi giải bài toán:
Tính Min||w || với w và b thoản mãn điều kiện:
1 ))
( (
: ,
Trang 172.3.2 Nạve Bayes (NB)
NB là phương pháp phân loại dựa vào xác suất được sử dụng rộng rãi trong lĩnh vực máy học và nhiều lĩnh vực khác như trong các cơng cụ tìm kiếm, các bộ lọc mail [Sahami et al, 1998]
Ý tưởng
Ý tưởng cơ bản của cách tiếp cận Nạve Bayes (NB) là sử dụng xác suất cĩ điều kiện giữa từ và chủ đề để dự đốn xác suất chủ đề của một văn bản cần phân loại Điểm quan trọng của phương pháp này chính là ở chỗ giả định rằng sự xuất hiện của tất cả các từ trong văn bản đều độc lập với nhau Như thế NB khơng tận dụng được sự phụ thuộc của nhiều từ vào một chủ đề cụ thể Giả định đĩ làm cho việc tính tốn NB hiệu quả và nhanh chĩng hơn các phương pháp khác với độ phức tạp theo số mũ vì nĩ khơng sử dụng việc kết hợp các từ để đưa ra phán đốn chủ đề
Cơng thức
Mục đích chính là làm sao tính được xác suất Pr (Cj, d’), xác suất để văn bản d’nằm trong lớp Cj Theo luật Bayes, văn bản d’ sẽ được gán vào lớp Cj nào cĩ xác suất Pr(Cj, d’) cao nhất
d'1i
C'
|wiPr.c'Pr
d'1
i Pr wi|C j
C jPrargmax
C
c j
d'HBAYES
Với:
- TF(wi, d’) là số lần xuất hiện của từ wi trong văn bản d’
- |d’| là số lượng các từ trong văn bản d’
- wi là một từ trong khơng gian đặc trưng F với số chiều là |F|
- Pr(Cj) được tính dựa trên tỷ lệ phần trăm của số văn bản mỗi lớp tương ứng trong tập dữ liệu huấn luyện
Trang 18C jC
C j
C jPr
c j,w'TFF
c j,wiTF1
C j
|wiPr
Ngồi ra cịn cĩ các phương pháp NB khác cĩ thể kể ra như ML Nạve Bayes, MAP Nạve Bayes, Expected Nạve Bayes Nĩi chung Nạve Bayes là một cơng cụ rất hiệu qủa trong một số trường hợp Kết qủa cĩ thể rất xấu nếu dữ liệu huấn luyện nghèo nàn và các tham số dự đốn (như khơng gian đặc trưng) cĩ chất lượng kém Nhìn chung đây là một thuật tốn phân loại tuyến tính thích hợp trong phân loại văn bản nhiều chủ đề
NB cĩ ưu điểm là cài đặt đơn giản, tốc độ thực hiện thuật tốn nhanh, dễ dàng cập nhật dữ liệu huấn luyện mới và cĩ tính độc lập cao với tập huấn luyện
2.3.3 Biểu diễn văn bản
Bước đầu tiên của các phương pháp phân loại văn bản là chuyển việc mơ tả văn bản dùng chuỗi ký tự thành dạng mơ tả khác phù hợp với các thuật tốn Hầu hết các thuật tốn đều sử dụng cách biểu diễn theo vector đặc trưng, khác nhau chủ yếu ở việc lựa chọn khơng gian đặc trưng Cụ thể với mơ hình cực đại entropy [11], thuật tốn IIS chỉ cĩ thể tính tốn được các tham số dựa trên các vector đặc trưng Vậy vector đặc trưng là gì?
Mỗi vector đặc trưng d i đại diện cho một văn bản tương ứng trong khơng gian các
từ w: d i(TF(w1), TF(w2), , TF(wn)) Trong đĩ: TF(wi) là số lần xuất hiện của từ wi trong chính văn bản đĩ (d i); n là số chiều của khơng gian Để khơng phụ thuộc vào chiều dài văn bản vector đặc trưng được chuẩn hĩa như sau:
Trang 19)(, ,
)(
)(,
)(
)(
2 1
i n i
w TF w
TF
w TF w
TF
w TF i d
Hình 2.2 Biểu diễn văn bản
Trong thực tế để cải thiện tốc độ và kết quả người ta sử dụng IDF(wi) hay TFIDF(wi) thay cho TF(wi) (trong luận văn sử dụng TFIDF):
) ) ( log(
) (
i
i
w DF
m w
) ( ).
( )
Trang 20Các đặc trưng của văn bản khi biểu diễn dưới dạng vector:
- Số chiều không gian đặc trưng thường rất lớn
- Việc kết hợp những đặc trưng độc lập thường không mang lại kết quả
- Vector d i có nhiều giá trị 0 do không có đặc trưng trong văn bản di
2.3.4 K–Nearest Neighbor (kNN)
kNN là phương pháp truyền thống khá nổi tiếng theo hướng tiếp cận thống kê đã được nghiên cứu trong nhiều năm qua KNN được đánh giá là một trong những phương pháp tốt nhất được sử dụng từ những thời kỳ đầu trong nghiên cứu về phân loại văn bản
Ý tưởng
Ý tưởng của phương pháp này đó là khi cần phân loại một văn bản mới, thuật toán
sẽ xác định khoảng cách (có thể áp dụng các công thức về khoảng cách như Euclide, Cosine, Manhattan,…) của tất cả các văn bản trong tập huấn luyện đến văn bản này để tìm
ra k văn bản gần nhất, gọi là k nearest neighbor – k láng giềng gần nhất, sau đó dùng các khoảng cách này đánh trọng số cho tất cả các chủ đề Khi đó, trọng số của một chủ đề chính là tổng tất cả các khoảng cách ở trên của các văn bản trong k láng giềng có cùng chủ
đề, chủ đề nào không xuất hiện trong k láng giềng sẽ có trọng số bằng 0 Sau đó các chủ
đề sẽ được sắp xếp theo giá trị trọng số giảm dần và các chủ đề có trọng số cao sẽ được chọn làm chủ đề của văn bản cần phân loại
Công thức Trọng số của chủ đề c j đối với văn bản x được tính như sau:
.y d i,c j b j
{kNN}
di
d i,xsim
c jx,
Trang 21- y = 1: văn bản di thuộc về chủ đề cjsim (x, d): độ giống nhau giữa văn bản cần phân loại x và văn bản d Chúng ta có thể sử dụng độ đo cosine để tính khoảng cách:
d ix
d i.x
d i,xcos
d i,xsim
2.3.5 Linear Least Square Fit (LLSF)
LLSF là một cách tiếp cận ánh xạ được phát triển bởi Yang và Chute vào năm
1992 Ban đầu LLSF được thử nghiệm trong lĩnh vực xác định từ đồng nghĩa sau đó sử dụng trong phân loại vào năm 1994 Các thử nghiệm cho thấy hiệu suất phân loại của LLSF có thể ngang bằng với phương pháp kNN kinh điển
Ý tưởng
LLSF sử dụng phương pháp hồi quy để học từ tập huấn luyện và các chủ đề có sẵn [Yang & Chute, 1994] Tập huấn luyện được biểu diễn dưới dạng một cặp vector đầu vào
và đầu ra như sau:
o Vector đầu vào một văn bản bao gồm các từ và trọng số
o Vector đầu ra gồm các chủ đề cùng với trọng số nhị phân của văn bản ứng với vector đầu vào
Giải phương trình các cặp vector đầu vào/ đầu ra, ta sẽ được ma trận đồng hiện của hệ số hồi quy của từ và chủ đề (matrix of word-category regression coefficients)
Công thức
Trang 22minargF
Trong đó ¾ A, B là ma trận đại diện tập dữ liệu huấn luyện (các cột trong ma trận tương ứng là các vector đầu vào và đầu ra) ¾ FLS là ma trận kết quả chỉ ra một ánh xạ từ một văn bản bất kỳ vào vector của chủ đề đã gán trọng số
Nhờ vào việc sắp xếp trọng số của các chủ đề, ta được một danh sách chủ đề có thể gán cho văn bản cần phân loại Nhờ đặt ngưỡng lên trọng số của các chủ đề mà ta tìm được chủ đề thích hợp cho văn bản đầu vào Hệ thống tự động học các ngưỡng tối ưu cho từng chủ đề, giống với kNN Mặc dù LLSF và kNN khác nhau về mặt thống kê, nhưng ta vẫn tìm thấy điểm chung ở hoạt động của hai phương pháp là việc học ngưỡng tối ưu
2.3.6 Neural Network (NNet)
Nnet được nghiên cứu mạnh trong hướng trí tuệ nhân tạo Wiener là người đã sử dụng Nnet để phân loại văn bản, sử dụng 2 hướng tiếp cận: kiến trúc phẳng (không sử dụng lớp ẩn) và mạng nơron 3 lớp (bao gồm một lớp ẩn)
Cả hai hệ thống trên đều sử dụng một mạng nơron riêng rẽ cho từng chủ đề, NNet học cách ánh xạ phi tuyến tính những yếu tố đầu vào như từ, hay mô hình vector của một văn bản vào một chủ đề cụ thể
Khuyết điểm của phương pháp NNet là tiêu tốn nhiều thời gian dành cho việc huấn luyện mạng nơron
Ý tưởng
Mô hình mạng neural gồm có ba thành phần chính như sau: kiến trúc (architecture), hàm chi phí (cost function), và thuật toán tìm kiếm Kiến trúc định nghĩa dạng chức năng (functional form) liên quan giá trị nhập (inputs) đến giá trị xuất (outputs) Kiến trúc phẳng (flat architecture): Mạng phân loại đơn giản nhất (còn gọi là mạng logic)
có một đơn vị xuất là kích hoạt kết quả (logistic activation) và không có lớp ẩn, kết quả trả
về ở dạng hàm (functional form) tương đương với mô hình hồi quy logic.Thuật toán tìm kiếm chia nhỏ mô hình mạng để thích hợp với việc điều chỉnh mô hình ứng với tập huấn luyện
Trang 23Hình 2.3 Hình Kiến trúc mô đun (Modular Architecture)
Các kết quả của từng mạng con sẽ là giá trị đầu vào cho mạng siêu chủ đề và được nhân lại với nhau để dự đoán chủ đề cuối cùng
Trong đó, T xη β= là sự kết hợp của những đặc trưng đầu vào và p phải thỏa điều kiện p ∈ (0,1)
2.3.7 Centroid- based vector
Là một phương pháp phân loại đơn giản, dễ cài đặt và tốc độ nhanh do có độ phức tạp tuyến tính O(n)
Ý tưởng
Ý tưởng của cách tiếp cận này là mỗi lớp trong dữ liệu huấn luyện sẽ được biểu diễn bằng một vector trọng tâm.Việc xác định lớp của một văn bản bất kỳ sẽ thông qua việc tìm vector trọng tâm nào gần với vector biểu diễn văn bản thứ nhất.Lớp của văn bản chính là lớp mà vector trọng tâm đại diện và khoảng cách được xác định theo độ đo cosine
Trang 24 Công thức Công thức tính vector trọng tâm của lớp i:
C i x
C i , x cos
x là vector văn bản cần phân loại
{i} là tập hợp các văn bản thuộc chủ đề Ci
Chủ đề của vector x là Cx thỏa mãn cos(x, Cx) = arg max (cos(x, Ci))
2.4 Kết luận chung về các phương pháp phân loại văn bản tiếng Anh
Các thuật toán phân loại trên từ thuật toán phân loại hai lớp (SVM) đến các thuật toán phân loại đa lớp (kNN) đều có điểm chung là yêu cầu văn bản phải được biểu diễn dưới dạng vector đặc trưng Ngoài ra các thuật toán như kNN, NB, LLSF đều phải sử dụng các ước lượng tham số và ngưỡng tối ưu khi phân loại văn bản, trong khi thuật toán SVM có thể tự xác định các tham số tối ưu này trong qúa trình thực hiện thuật toán Xét
về mặt thời gian, các phương pháp có thời gian huấn luyện khác nhau, các phương pháp kNN, NB, LLSF có thời gian huấn luyện và phân loại văn bản nhanh hơn so với các thuật toán còn lại, đồng thời dễ dàng cài đặt hơn
Một câu hỏi được đặt ra là: “Để có được một kết qủa phân loại đạt kết qủa tốt thì cần những yếu tố gì?”
Có 3 yếu tố quan trọng tác động đến kết qủa phân loại văn bản:
Trang 251) Cần một tập dữ liệu huấn luyện chuẩn và đủ lớn để cho thuật toán học phân loại Nếu chúng ta có được một tập dữ liệu chuẩn và đủ lớn thì qúa trình huấn luyện sẽ tốt và khi đó chúng ta sẽ có kết qủa phân loại tốt sau khi
đã được học
2) Các phương pháp trên hầu hết đều sử dụng mô hình vector để biểu diễn văn bản, do đó phương pháp tách từ trong văn bản đóng vai trò quan trọng trong qúa trình biểu diễn văn bản bằng vector Yếu tố này rất quan trọng, vì
có thể đối với một số ngôn ngữ như tiếng Anh chẳng hạn thì thao tác tách từ trong văn bản đơn giản chỉ là dựa vào các khoảng trắng, tuy nhiên trong các ngôn ngữ đa âm tiết như tiếng Việt và một số ngôn ngữ khác thì sử dụng khoảng trắng khi tách từ là không chính xác, do đó phương pháp tách từ là một yếu tố quan trọng
3) Thuật toán sử dụng để phân loại 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 loại văn bản, ngoài ra thuật toán này phải có tính tăng cường (incremental function) nghĩa là không phân loại 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 mà chỉ phân loại các văn bản mới mà thôi, khi đó thuật toán phải có khả năng giảm độ nhiễu ( noise ) khi phân loại văn bản
2.5 Tách từ trong bài toán phân loại văn bản
Hiện nay các phương pháp tách từ tiếng Việt được công bố vẫn chưa nhiều và hướng tiếp cận chủ yếu là dựa vào tập huấn luyện và từ điển Việc tạo ra hệ thống dữ liệu
đó không phải là một điều dễ dàng, mà yêu cầu đầu tư khá nhiều công sức, thời gian và tiền bạc
Trong luận văn này, chúng em cố gắng tìm hiểu, cài đặt, thử nghiệm phương pháp tách từ dựa trên mô hình N-gram Bởi vì trong tiếng Việt, hình vị nhỏ nhất là “tiếng” được hình thành bởi nhiều ký tự trong bảng chữ cái Phương pháp này đơn thuần rút trích ra một
số lượng nhất định các tiếng trong văn bản như rút trích từ 1 ký tự (unigram) hay nhiều ký
tự (n-gram) được minh chứng thông qua một số công trình nghiên cứu đã được công bố, như của tác giả Lê An Hà [2003] xây dựng tập ngữ liệu thô 10MB bằng cách sử dụng
Trang 26phương pháp qui hoạch động để cực đại hóa xác suất xuất hiện của các ngữ Ưu điểm nổi bật của hướng tiếp cận dựa trên nhiều ký tự là tính đơn giản, dễ ứng dụng, ngoài ra còn có thuận lợi là ít tốn chi phí cho thao tác tạo chỉ mục và xử lý nhiều câu truy vấn
Sau đó, chúng em sẽ cài đặt, thử nghiệm độ chính xác của phương pháp tách từ này trong khía cạnh phân loại văn bản
2.5.1 Khó khăn vướng mắc
Vấn đề phân định từ loại tiếng Việt ở nước ta khá phức tạp Tiếng Việt là loại hình phi hình thái nên việc phân biệt loại từ (danh từ, động từ, tính từ …) và ý nghĩa từ là rất khó, cho dù có sử dụng từ điển
Việc tiền xử lý văn bản (tách từ, tách đoạn, tách câu…) sẽ thêm phức tạp với phần
xử lý các hư từ, phụ từ, từ láy, từ ghép vv…
Ví dụ: lấp lánh, lung linh Hiện đại -> hại điện, thầy giáo-> tháo giầy… Phương thức ngữ pháp chủ yếu là trật tự từ nên nếu áp dụng phương pháp tính xác suất xuất hiện của từ có thể không chính xác như mong đợi
Ranh giới từ không được xác định mặc nhiên bằng khoảng trắng Điều này khiến cho việc phân tích hình thái (tách từ) tiếng Việt trở nên khó khăn Việc nhận diện ranh giới từ là quan trọng làm tiền đề cho các xử lý tiếp theo sau đó, như: kiểm lỗi chính tả, gán nhãn từ loại, thống kê tần suất từ…
Tồn tại loại từ đặc biệt “từ chỉ loại” hay còn gọi là phó danh từ chỉ loại kèm theo với danh từ, như: cái ghế, cuốn vở, lá thư, con mèo, con sông, vì sao, tại sao vv…
Tập ngữ liệu vẫn còn khá nhỏ để đảm bảo dung lượng và độ phong phú cho việc tách từ Mặc khác, do tập ngữ liệu được xây dựng một cách thủ công, nên sẽ phần nào mang tính chủ quan Và một hạn chế nữa là việc đánh giá lại được những thay đổi hằng ngày rất chậm, và có thể xảy ra hiện tượng flip-flop (hiện tượng khi khắc phục lỗi này lại dẫn đến lỗi khác không ngờ tới) Ở hướng tiếp cận dựa trên từ điển, các từ được tách phải tương ứng với những từ có trong từ điển Hiện tại, ta vẫn chưa xây dựng được một bộ từ điển Việt Nam chứa toàn bộ các từ và ngữ
Trang 272.5.2 Các phương pháp tách từ
Phương pháp dựa trên otomat
Phương pháp này sử dụng tập dữ liệu gồm bảng âm tiết tiếng Việt (khoảng 6700
âm tiết) và từ điển từ vựng tiếng Việt (khoảng 30.000 từ) Các từ điển được lưu dưới dạng các tệp văn bản có định dạng mã TCVN hoặc Unicode dựng sẵn (UTF-8)
Các bước giải quyết của phương pháp:
- Xây dựng ôtômát âm tiết đoán nhận tất cả các âm tiết tiếng Việt
- Xây dựng ôtômát từ vựng đoán nhận tất cả các từ vựng tiếng Việt
- Dựa trên các ôtômát nêu trên, xây dựng đồ thị tương ứng với câu cần phân tích
và sử dụng thuật toán tìm kiếm trên đồ thị để liệt kê các cách phân tích có thể Bảng chữ cái của ôtômát âm tiết là bảng chữ cái tiếng Việt, mỗi cung chuyển được ghi trên đó một ký tự Ví dụ, với ba âm tiết phương, pháp, trình ta sẽ có ôtômát đoán nhận âm tiết như Hình 2.1
Hình 2.4 Xây dựng ôtômát âm tiết
Ôtômát từ vựng được xây dựng tương tự, với điểm khác như sau: thay vì ghi trên mỗi cung chuyển một âm tiết, chúng ta ghi số hiệu của trạng thái (kết) của ôtômát âm tiết tại đó đoán nhận mỗi âm tiết của từ nhằm giảm kích thước của ôtômát từ vựng Ví dụ, với hai từ phương pháp và phương trình, giả sử khi đưa lần lượt các âm tiết phương, pháp, trình qua ôtômát âm tiết, ta đến được các trạng thái kết ghi các số n1, n2, n3 thì trên các cung chuyển tương ứng ta ghi các số n1, n2, n3 (Hình 2.2)
Trang 28Hình 2.5 Xây dựng ôtômát từ vựng
Tư tưởng của thuật toán phân tách từ vựng là quy việc phân tách câu về việc tìm đường đi trên một đồ thị có hướng, không có trọng số Giả sử câu ban đầu là một dãy
gồm n+1 âm tiết s0, s1, , sn Phương pháp xây dựng một đồ thị có n+2 đỉnh v0, v1, ,
vn, vn+1, sắp thứ tự trên một đường thẳng từ trái sang phải; trong đó, từ đỉnh vi đến
đỉnh vj có cung (i < j) nếu các âm tiết si, si+1, , sj-1 theo thứ tự lập thành một từ
Khi đó mỗi cách phân tách câu khác nhau tương ứng với một đường đi trên đồ thị từ
đỉnh đầu v0 đến đỉnh cuối vn+1 Trong thực tế, cách phân tích câu đúng đắn nhất
thường ứng với đường đi qua ít cung nhất trên đồ thị
Trong trường hợp câu có sự nhập nhằng thì đồ thị sẽ có nhiều hơn một đường đi ngắn nhất từ đỉnh đầu đến đỉnh cuối, phương pháp liệt kê toàn bộ các đường đi ngắn nhất trên đồ thị, từ đó đưa ra tất cả các phương án tách từ có thể và để người dùng quyết định sẽ chọn phương án nào, tuỳ thuộc vào ngữ nghĩa hoặc văn cảnh Ví dụ, xét một câu
có cụm "thuộc địa bàn", ta có đồ thị như sau (Hình 2.3)
Trang 29Hình 2.6 Một tình huống nhập nhằng trong phân tách từ
Cụm này có sự nhập nhằng giữa thuộc địa và địa bàn và ta sẽ có hai kết quả phân tách là “thuộc địa / bàn” và “thuộc / địa bàn” Ta có thể chỉ ra rất nhiều những cụm
nhập nhằng trong tiếng Việt, chẳng hạn “tổ hợp âm tiết”, “bằng chứng cớ”…
Trường hợp trong câu có âm tiết không nằm trong từ điển thì rõ ràng ôtômát âm tiết không đoán nhận được âm tiết này Kết quả là đồ thị ta xây dựng từ câu đó là không liên thông Dựa vào tính chất này, ta thấy rằng nếu đồ thị không liên thông thì dễ dàng phát hiện ra rằng đơn vị âm tiết không đoán nhận được không nằm trong từ điển âm tiết, tức nó bị viết sai chính tả hoặc là một đơn vị âm tiết (từ vựng) mới
Với cách tiếp cận như trên, bài toán phân tách từ vựng trong câu tiếng Việt về cơ bản đã được giải quyết, đặc biệt là vấn đề tách các tổ hợp từ tương đương với một đơn
vị từ vựng, thường là các cụm từ cố định, cụm từ gợi ý hoặc các thành ngữ trong tiếng Việt Với những câu nhập vào có sự nhập nhằng từ vựng, tức có nhiều hơn một cách phân tách thì phương pháp liệt kê toàn bộ các phương án tách từ có thể và giành quyền lựa chọn kết quả cho người sử dụng Trong tất cả các phương án phân tách đó bao giờ cũng tồn tại phương án đúng
Dùng mô hình n-gram và phương pháp xác suất thống kê
Hướng tiếp cận này thường quy định tham số đầu vào n trong mô hình n-gram, thông thường n=2 do số lượng từ ghép 2 tiếng chiếm đa số trong từ điển tiếng Việt Có thể giải thích sơ qua về mô hình n-gram, đây là mô hình tách các từ liên tiếp nhau trong
Trang 30văn bản, giả sử ta có văn bản S = {t1, t2,…, ti} với ti là tiếng trong văn bản, mô hình trên
sẽ gom các tiếng liên tiếp nhau thành 1 từ, với i tiếng sẽ có (i-(n-1)) từ
Ví dụ ta có câu: “Bài báo trình bày một phương pháp hoàn toàn mới”
Dùng mô hình n-gram với n=2 ta sẽ có các từ:
w1=”Bài báo”, w2=”báo trình”, w3=”trình bày”, w4=”bày một”, w5=”một phương”, w6= “phương pháp”, w7=”pháp hoàn”, w8=”hoàn toàn”,
Sử dụng giải thuật di truyền và thống kê trên Internet
Phương pháp tập trung vào cách tách từ trong văn bản tiếng Việt theo một cách khả thi nào đó mà không dựa vào bất kỳ bộ lexicon hay ngữ liệu huấn luyện được gán nhãn nào để phục vụ cho việc phân loại văn bản tiếng Việt Do có thể tồn tại nhiều cách tách từ hợp lý khác nhau cho cùng một câu, phương pháp sử dụng giải thuật
di truyền để tiến hóa quần thể mà trong đó, mỗi cá thể là tương ứng với một cách tách từ cho câu đang xét Hàm đánh giá độ thích nghi thể hiện thông tin thống kê rút trích trực tiếp từ Internet sử dụng các search engine thương mại Thông tin rút trích bao gồm tần số
của tài liệu và thông tin tương quan n-gram
Hướng tiếp cận lai áp dụng nhiều cách khác nhau để tận dụng ưu điểm của các giải pháp.Tóm lại, các hướng tiếp cận để phân loại văn bản tiếng Việt dựa vào từ chỉ khả thi khi có bộ lexicon tốt và hay ngữ liệu huấn luyện đủ lớn và đáng tin cậy
Trang 31Với mỗi câu, phư ơ ng pháp sẽ xác định cách tách từ hợp lý nhất Tuy nhiên, không gian tìm kiếm sẽ rất lớn do có nhiều cách tổ hợp các tiếng thành từ Dựa vào nguyên lý tiến hóa và di truyền, giải thuật di truyền thích hợp cho việc xác định (xấp xỉ) các lời giải tối ưu hóa toàn cục trong không gian tìm kiếm rất lớn thay vì các lời giải tối ưu cục bộ Giải thuật di truyền sẽ tiến hóa một quần thể qua nhiều thế hệ nhằm tối
ưu hóa toàn cục thông quá quá trình chọn lọc, lai, biến dị và tái sinh Chất lượng của mỗi cá thể trong quần thể được xác định bằng hàm thích nghi và qua mỗi thế hệ,
chúng ta sẽ chọn lại N cá thể tốt nhất sau khi thực hiện quá trình lai, biến dị và tái sinh
Điểm mới 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 lexicon – vốn chưa có sẵn cho tiếng Việt, tác giả phương pháp đã sử dụng thông tin thống kê rút trích trực tiếp từ search engine và dùng giải thuật di truyền để xác định những cách tách từ hợp lý nhất đối với văn bản tiếng Việt cho trước Các kết quả thực nghiệm cho thấy hướng tiếp cận này đạt được những kết quả khả quan trong việc tách từ và phân loại văn bản tiếng Việt với độ đo
micro-averaging F1 đạt trên 90% Phương pháp này hứa hẹn tiềm năng lớn cho việc
xử lý các văn bản của các ngôn ngữ tương tự tiếng Việt – vốn còn chưa có các ngữ liệu được gán nhãn hay lexicon chuẩn
Trang 32CHƯƠNG 3: ỨNG DỤNG PHÂN LOẠI BÀI
BÁO KHOA HỌC TRONG LĨNH VỰC
CƠNG NGHỆ THƠNG TIN
3.1 Hiện trạng
Theo xu hướng phát triển, các hội thảo trong nước về chuyên ngành CNTT rất phổ biến gồm nhiều thể loại và nhiều chủ đề khác nhau Để phân loại theo từng chuyên mục thì rất khĩ khăn, mất thời gian và cơng sức cho cơng việc sắp xếp và phân chia các bài tham dự hội thảo ra các tiểu ban khác nhau Hiện nay cơng việc đĩ chủ yếu là do những nhà chuyên mơn của hội thảo tự phân loại một cách thủ cơng, nghĩa là phải đọc hết bài tham dự rồi mới quyết định đưa bài báo đĩ vào chuyên ngành nào cho phù hợp Như vậy khơng tránh khỏi tính chủ quan trong việc phân loại vì người phụ trách chỉ cĩ chuyên mơn trong một số lĩnh vực, bên cạnh đĩ cơng việc này tốn rất nhiều thời gian và cơng sức, khơng thể tránh khỏi các nhầm lẫn khi một bài báo thuộc chuyên ngành này lại được xếp vơ một chuyên ngành khác Điều đĩ gây ra khĩ khăn cho các thành viên của tiểu ban phụ trách vì họ khơng thuộc chuyên ngành của bài báo nên khĩ mà đưa ra những đánh giá cũng như những ý kiến đĩng gĩp thiết thực
Chính vì thế để cĩ thể trình bày những hiểu biết của chúng em về thuật tốn Nạve Bayes, chúng em sẽ ứng dụng vào việc xây dựng một chương trình cĩ thể phân loại các bài báo theo các chuyên ngành khác nhau đã được quy định từ trước, các chuyên ngành này quy định dựa trên việc khảo sát một số hội thảo như: hội thảo Fair, Hội thảo @ Cần Thơ
Trang 33- Mạng máy tính và truyền thông
- Trí tuệ nhân tạo
- Xử lý ngôn ngữ tự nhiên và tiếng nói
Qua đó giảm bớt khối lượng công việc, rút ngắn thời gian phân loại của ban tổ chức hội thảo, đồng thời cũng tăng tính chính xác khách quan của việc phân loại vì dựa trên tập dữ liệu huấn luyện
3.2 Quy trình xử lý phân loại bài báo
Để tiến hành phân loại văn bản nói chung, chúng ta sẽ thực hiện các bước như sau:
Hình 3.1 Mô hình phân loại tài liệu tự động Bước 1: Rút trích đặc trưng văn bản và tính trọng số của từ
Bước 2: Áp dụng thuật toán phân loại văn bản Bước này chúng ta sẽ đề xuất sử
dụng thuật toán Navie Bayes để phân loại văn bản vì nhìn chung đây là một thuật toán phân loại tuyến tính thích hợp trong phân loại văn bản nhiều chủ đề NB có ưu điểm là cài đặt đơn giản, tốc độ thực hiện thuật toán nhanh, dễ dàng cập nhật dữ liệu huấn luyện mới và có tính độc lập cao với tập huấn luyện
Để rút trích đặc trưng của văn bản, chúng sẽ thực hiện thao tác tách từ trong văn bản, xác định từ loại của từ và sau đó tiến hành tính trọng số
Trang 34Một biến thể của phương pháp tách từ hai ký tự là hướng tiếp cận cách chia chồng lên nhau, ví dụ ta có ABCDEFG, hướng tiếp cận này sẽ chia thành AB BC
CD DE DF FG
Nhóm nghiên cứu của Swiss Federal Institute of Technology (ETH) áp dụng phương pháp biến thể và có thể cải tiến là sử dụng thêm danh sách stoplist (tương tự như các hư từ trong tiếng Việt như à, ơi ) để tách các ngữ của câu trước khi tách từ [Mateev et al, 1997] Nhờ vậy, mà kích thước văn bản cần tách từ được giảm xuống
Mô hình ngôn ngữ:
Một mô hình ngôn ngữ là một mô hình thống kê ước lượng xác suất của chuỗi các từ độ dài n (n-gram) Một mô hình ngôn ngữ n-gram sẽ mô hình hóa xác suất của từ hiện tại trong một văn bản dựa trên n-1 từ trước nó Do đó, Một mô hình n-gram là một chuỗi Markov n-1(n-1th order), Trong đó, xác suất của một chuỗi n từ liên tiếp, W = {w1,…, wn) được tính toán sử dụng công thức
P(W) = r(W)/N
Trang 35Trong đó r(w) là tần số xuất hiện của n-gram W, N là số n-gram trong văn bản huấn luyện
Cách tiếp cận đơn giản này có một hạn chế lớn: do số lượng các n-gram tăng theo hàm lũy thừa khi tăng n Không quan tâm tới tập dữ liệu văn bản huấn luyện lớn bao nhiêu được sử dụng, Sẽ có nhiều n-grams không được quan sát Cách tiếp cận hợp lý cực đại (maximum likelihood) trong trường hợp này dẫn đến
Đề giải quyết vấn đề thứ 2, “vấn đề tần số ZERO”, mô hình làm trơn điển hình được sử dụng Một kĩ thuật làm trơn mô hình chung là luật back-off Katz’s, Luật này phát biểu là giải thuật mô hình hóa ước lượng xác suất n-gram khi đủ dữ liệu, ngược lại cố ước lượng xác suất cho n-1grams, Nếu cần thiết, tiến trình lùi lại được lập lại
Trong thí nghiệm đề cập trong bài báo, các tác giả đã sử dụng bộ toolkit mô hình ngôn ngữ của viện nghiên cứu Stanford (SRILM Toolkit) để huấn luyện các
mô hình ngôn ngữ mẫu sử dụng mô hình ngôn ngữ sử dụng cho văn bản chưa thay đổi và đã thay đổi bởi ẩn dữ liệu
Các tham số quan trọng là:
Loại n-gram được sử dụng:
Trang 36- Loại giải thuật discounting được sử dụng Phương pháp được hỗ trợ bao gồm Good-Turing, absolute, Witten-Bell, và Kneser-Ney đã chỉnh sữa
- Tùy chọn một từ điển xác định trước
- Loại bỏ các từ không phổ biến hay là đối xử với chúng như token chỉ định
- Có loại bỏ trường hợp đặc biệt trong văn bản nhập
SRILM sử dụng mô hình lùi Katz như mặc định để làm trơn mô hình ngôn ngữ
3.2.2 Loại bỏ các từ tầm thường
Sau khi đã tiến hành tách từ trong văn bản, chúng ta sẽ tiến hành loại bỏ các từ tầm thường (stopword) Trong một văn bản, không phải tất cả các từ đều có ngữ nghĩa tương đương nhau, và không phải tất cả các từ đều dùng để miêu tả nội dung của văn bản Do đó trong bất kỳ một văn bản nào thì chắc chắn sẽ có những từ mà không mang ngữ nghĩa của văn bản, và các từ như vậy thì được gọi là stopword Và vì vậy chúng ta sẽ loại
bỏ các từ này ra khỏi văn bản Trong các ngôn ngữ tự nhiên thì các mạo từ, giới từ, liên
từ là các stopword Ngoài ra cũng có một số động từ, tính từ, phó từ thì cũng được xem như là các stopword Danh sách các từ stopword được liệt kê trong phụ lục
3.3 Trích chọn đặc trưng văn bản
3.3.1 Các ý tưởng cơ bản
Các phương pháp rút trích thông tin cổ điển thì coi mỗi một văn bản như là tập các
từ khóa và gọi tập các từ khóa này là tập các term Một phần tử trong tập term thì đơn giản là một từ, mà ngữ nghĩa của từ này giúp tạo thành nên nội dung của văn bản.Vì vậy, tập term được sử dụng để tạo các chỉ mục và tóm lược nội dung của văn bản
Giả sử cho một tập term của một văn bản nào đó, chúng ta có thể nhận thấy rằng không phải tất cả các từ trong tập term này đều có mức độ quan trọng như nhau trong việc mô tả nội dung văn bản Ví dụ, bây giờ chúng ta xét một tập gồm một trăm ngàn văn bản, giả sử có một từ A nào đó xuất hiện trong một trăm nghàn văn bản này thì chúng
ta có thể khẳng định rằng từ A này không quan trọng và chúng ta sẽ không quan tâm đến
Trang 37nó, bởi vì chắc chắn là nó sẽ không cho chúng ta biết được về nội dung của các văn bản này Vì vậy từ A sẽ bị loại ra khỏi tập các term, khi chúng ta xây dựng tập term cho văn bản để miêu tả nội dung ngữ nghĩa của các văn bản này Kết qủa này có được thông qua thao tác xác định trọng số cho mỗi một từ trong tập term của một văn bản
Đặt ki là từ thứ i trong tập term, dj là văn bản j, và wij >= 0 là trọng số của từ kitrong văn bản dj Giá trị của trọng số này thì rất là quan trọng trong việc miêu tả nội dung của văn bản
Đặt t là số luợng các từ trong tập term của hệ thống K = {k1, k2, k3 …, kt} là tập tất cả các từ trong tập term, trong đó ki là từ thứ i trong tập term Trọng số wij > 0là trọng
số của từ ki trong văn bản dj Với mỗi một từ, nếu nó không xuất hiện trong văn bản thì
wij = 0 Do đó, văn bản dj thì được biểu diễn bằng vector dj, trong đó vector dj = {wj1,wj2,wj3,….,wjt }
3.3.2 Phương pháp rút trích đặc trưng
Theo truyền thống, một văn bản D thì được biểu diễn bằng một vector đặc trưng theo dạng (d1,d2,…,dn), trong đó di là trọng số của đặc trưng thứ i và n là số lượng các đặc
trưng Mỗi một đặc trưng tương ứng với một từ xuất hiện trong tập huấn luyện, sau khi
loại bỏ các stopword ra khỏi các văn bản
Phương pháp 1:
Phương pháp phổ biến nhất để rút trích các đặc trưng là dựa vào tần suất xuất hiện của các từ riêng biệt trong các văn bản Phương pháp này thực hiện thông qua hai bước sau
Bước 1: Loại bỏ các từ chung (ngữ nghĩa của các từ này không ảnh hưởng
đến nội dung của văn bản) ra khỏi văn bản bằng cách sử dụng một từ điển đặc biệt, hoặc là sử dụng danh sách các từ tầm thường (stopword )
Bước 2: Xác định tần suất xuất hiện tfij của các từ Tj còn lại trong mỗi văn bản Di và đặc biệt là số lần xuất hiện của Tj trong Di Sau đó dựa vào tần suất xuất hiện của các từ này, chúng ta sẽ tính giá trị trọng số cho các từ Tj này Và n từ Tj
có giá trị trọng số lớn nhất sẽ được chọn làm n đặc trưng của văn bản
Trang 38 Phương pháp 2:
Một phương pháp khác để rút trích các đặc trưng của văn bản là sự kết hợp tần suất xuất hiện của từ trong văn bản và tần suất xuất hiện ngược trong văn bản (TF-IDF) [5] Lúc này chúng ta có công thức tính giá trị trọng số cho từ Tj trong văn bản Di, như sau:
)log(
df tf
w
j ih
3.3.3 Phương pháp đặc trưng đề nghị sử dụng
Chúng ta sẽ sử dụng một phương pháp rút trích đặc trưng sao cho phù hợp với mục tiêu yêu cầu đặt ra của đề tài Chúng ta chọn phương pháp Tf*idf weighting để rút trích đặc trưng, vì các yếu tố sau:
- Phương pháp này không phụ thuộc vào tần suất xuất hiện của các từ trong văn bản
- Phương pháp này cân bằng giữa yếu tố mức độ bao phủ và số luợng các đặc trưng đuợc sử dụng để biểu diễn văn bản
Chi tiết các bước thực hiện của phương pháp này:
Bước 1: Loại bỏ các từ tầm thường (stopword)
Bước 2: Đếm tần suất xuất hiện của các từ trong bước 1
Bước 3: Đặt lower = k, upper = k (tần suất xuất hiện của các từ (giả định ban đầu)
và sẽ được xác định chính xác khi số lượng đặc trưng tìm được có mức độ phủ lớn hơn
ngưỡng T, thông thường ngưỡng T được gán khoảng 0.95 – 95%)
Bước 4: Chọn tất cả các từ ở trên với tần suất xuất hiện nằm trong khoảng từ lower đến upper