Bài toán phân loại văn bản thực chất có thể xem là bài toán phân lớp 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 bản đã được gán nhãn trong tập huấn luyện Nhiều kỹ thuật máy học và khai phá dữ liệu đã được áp dụng vào bài toán phân loại văn bản chẳng hạn phương pháp quyết định dựa vào Bayes ngây thơ Naive Bayes cây quyết định decision tree k–láng giềng gần nhất KNN mạng nơron neural network … Luận văn tập trung nghiên cứu các phương pháp phân loại văn bản tiếng Việt hiệu quả hơn Bước đầu thử nghiệm trên các văn bản hành chính tại sở Thông tin và Truyền thông thành phố Đà Nẵng đã cho những kết quả có độ chính xác cao so với yêu cầu
Trang 1LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
ĐÀ NẴNG, NĂM 2017
Trang 2
Chuyên ngành : Khoa học máy tính
LUẬN VĂN THẠC SĨ
Hướng dẫn khoa học: PGS.TS HUỲNH CÔNG PHÁP
ĐÀ NẴNG, NĂM 2017
Trang 3LỜI CAM ĐOAN
Tôi xin cam đoan đây là công trình nghiên cứu và tìm hiểu của riêng tôi
Các thông tin và số liệu được sử dụng trong luận văn này là trung thực, có nguồn gốc rõ ràng, và có cơ sở lý thiết tham khảo Các luận điểm, dữ liệu trong luận văn do tôi tự tìm hiểu, phân tích, tổng hợp một cách trung thực, khách quan và phù hợp với thực tiễn của Việt Nam
Tác giả luận văn
Lê Trung Nhựt
Trang 4XÂY DỰNG PHẦN MỀM PHÂN LOẠI VĂN BẢN HÀNH CHÍNH TẠI SỞ
THÔNG TIN VÀ TRUYỀN THÔNG THÀNH PHỐ ĐÀ NẴNG
Học viên: Lê Trung Nhựt Chuyên ngành: Khoa học máy tính
Mã số: 60.48.01 Khóa: 31 Trường Đại học Bách khoa-ĐHĐN
Tóm tắt - Bài toán phân loại văn bản, thực chất, có thể xem là bài toán phân lớp 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 bản đã được gán nhãn trong tập huấn luyện Nhiều kỹ thuật máy học và khai phá dữ liệu đã được áp dụng vào bài toán phân loại văn bản, chẳng hạn: phương pháp quyết định dựa vào Bayes ngây thơ (Naive Bayes), cây quyết định (decision tree), k–láng giềng gần nhất (KNN), mạng nơron (neural network),…Luận văn tập trung nghiên cứu các phương pháp phân loại văn bản tiếng Việt hiệu quả hơn Bước đầu thử nghiệm trên các văn bản hành chính tại sở Thông tin và Truyền thông thành phố Đà Nẵng đã cho những kết quả có độ chính xác cao so với yêu cầu
Từ khóa – Khai phá văn bản, Phân loại văn bản, SVM,
RESEARCH ON THE METHODS OF CLARIFYING DOCUMENTS, AND THE APPLICATION FOR CONSTRUCTION OF CLARIFICATION SOFTWARE OF ADMINISTRATIVE DOCUMENTS AT DEPARTMENT OF INFORMATION AND
COMMUNICATION OF ĐA NANG CITY
Abstract - Text document classification, basically, can be considered as a
classification problem Automatic text document classification is to assign a label to a new document based on the similarity of the document with labeled documents in the training set Many machine learning and data mining methods have been applied in text document classification such as: Naive Bayes, decision tree, k – Nearest neighbor, neural network,…The thesis focuses on different approaches to Vietnamese text classification problem and methods that help improve the quality of the classification result These approaches and methods have been implemented and tested against documents gathered from Da Nang Department of Information and Communications, giving promissing result with high accuracy
Key words – Text mining, Text classification/Categorization, SVM
Trang 5MỤC LỤC
LỜI CAM ĐOAN
MỤC LỤC
DANH MỤC CÁC BẢNG
DANH MỤC CÁC HÌNH
MỞ ĐẦU 1
1 Tính cấp thiết của đề tài 1
2 Mục tiêu nghiên cứu 2
3 Đối tượng và phạm vi nghiên cứu 2
4 Phương pháp nghiên cứu 3
5 Bố cục đề tài 3
6 Tổng quan tài liệu nghiên cứu 4
CHƯƠNG 1 NGHIÊN CỨU TỔNG QUAN 5
1.1 TỔNG QUAN VỀ PHÂN LỚP DỮ LIỆU 5
1.1.1.Tổng quan về bài toán phân lớp dữ liệu 5
1.1.2.Tổng quan về quá trình phân lớp dữ liệu 5
1.2 TỔNG QUAN VỀ PHÂN LỚP VĂN BẢN 6
1.2.1 Khái niệm 6
1.2.2 Thực trạng của vấn đề 8
1.2.3 Tổng quan về phương pháp phân lớp văn bản 8
1.2.4 Ứng dụng của việc phân lớp văn bản 9
1.2.5 Quá trình phân lớp văn bản 9
1.2.6 Đánh giá máy phân lớp văn bản 10
1.2.7 Những yếu tố ảnh hưởng đến quá trình phân lớp 11
1.3 PHÁT BIỂU VỀ BÀI TOÁN PHÂN LOẠI VĂN BẢN 12
1.3.1.Mô hình tổng quát 12
1.3.2 Giai đoạn huấn luyện 13
1.3.3.Giai đoạn phân lớp 14
1.4 TỔNG QUAN VỀ TÌNH HÌNH NGHIÊN CỨU TRONG VÀ NGOÀI NƯỚC 15 1.4.1.Tổng quan thế giới 15
1.4.2.Tổng quan trong nước 16
Trang 61.4.3.Giới thiệu các công trình nghiên cứu liên quan 17
1.5 KẾT LUẬN CHƯƠNG 1 22
CHƯƠNG 2 ĐỀ XUẤT CÁC PHƯƠNG PHÁP ÁP DỤNG 23
2.1 PHÁT BIỂU BÀI TOÁN 23
2.2 PHÂN TÍCH YÊU CẦU ĐỀ TÀI 24
2.3. MÔ HÌNH ĐỀ XUẤT 25
2.4 TIỀN XỬ LÝ VĂN BẢN 25
2.4.1 Tách từ trong tiếng việt 26
2.4.2.Một số phương pháp tách từ hiện nay 27
2.4.3 So sánh các phương pháp tách từ tiếng Việt 30
2.4.4 Loại bỏ từ dừng 31
2.5 CHUYỂN ĐỔI VĂN BẢN TỪ DẠNG NGÔN NGỮ TỰ NHIÊN SANG MÔ HÌNH KHÔNG GIAN VECTOR 31
2.5.1 Binary vector 32
2.4.2.TF-IDF vector 33
2.4.3 Độ tương đồng giữa các vector 34
2.5 CÁC PHƯƠNG PHÁP PHÂN LOẠI VĂN BẢN BẰNG HỌC MÁY 35
2.5.1 Thuật toán Support Vector Machine (SVM) 35
2.5.2 Thuật toán K-Nearest Neighbor (kNN) 38
2.5.3 Thuật toán Naϊve Bayers (NB) 39
2.5.4 Đề xuất áp dụng 41
2.6 KẾT LUẬN CHƯƠNG 2 41
CHƯƠNG 3 XÂY DỰNG CHƯƠNG TRÌNH THỬ NGHIỆM 43
3.1 PHÁT TRIỂN MOUDLE CHƯƠNG TRÌNH 43
3.1.1.Tiền xữ lý văn bản 43
3.1.2 Vector hóa dữ liệu 44
3.2 ỨNG DỤNG SVM VÀO BÀI TOÁN PHÂN LOẠI VĂN BẢN HÀNH CHÍNH TIẾNG VIỆT TẠI SỞ THÔNG TIN VÀ TRUYỀN THÔNG ĐÀ NẴNG 45
3.3 XÂY DỰNG CHƯƠNG TRÌNH THỬ NGHIỆM 48
3.3.1 Yêu cầu bài toán 48
3.3.2.Danh sách chức năng 48
3.3.3.Giao diện chương trình 49
3.3.4 Kết quả thử nghiệm 50
Trang 73.4 ĐÁNH GIÁ 52 3.5 KẾT LUẬN CHƯƠNG 3 52
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 53 DANH MỤC TÀI LIỆU THAM KHẢO
QUYẾT ĐỊNH GIAO ĐỀ TÀI LUẬN VĂN (Bản sao)
Trang 8DANH MỤC CÁC CHỮ VIẾT TẮT
CRFs : Conditional Random Fields IDF : Inverse Document Frequency kNN : K-Nearest Neighbor
LDA : Latent Drichlet Allocation LRMM : Left Right Maximum Matching
NB : Naϊve Bayers SVD : Singular Value Decomposition TBL : Transformation-Based Learning
TF : Term Frequency WFST : Weighted finite-state Transducer
Trang 9DANH MỤC CÁC BẢNG
Số hiệu
1.1 Kết quả phân loại theo phương pháp vector hỗ trợ và cây
quyết định của Trần Cao Đệ và Phạm Nguyên Khang
19
1.2 Kết quả phân loại văn bản theo phương pháp Nạve Bayes
của Trần Thị Thu Thảo và Vũ Thị Chinh
20
1.3 Kết quả phân loại email Spam bằng Matlad của Shahar
Yifrah và Guy Lev
22
3.1 Danh sách chức năng cần cĩ của chương trình thử nghiệm 48 3.2 4 chủ đề và số lượng mẫu dùng trong tập thử nghiệm 50 3.3 Bảng kết quả kiểm chứng bộ phân lớp bằng máy học
Trang 10DANH MỤC CÁC HÌNH
Số hiệu
1.1 Mô hình tổng quan về bài toán phân lớp 5
1.3 Sơ đồ biểu diễn quá trình phân lớp dữ liệu văn bản 10
1.7 Mô hình chi tiết giai đoạn phân lớp 15
Trang 11MỞ ĐẦU
1 Tính cấp thiết của đề tài
Cùng với sự phát triển chung của khoa học kỹ thuật và công nghệ thông tin đã đem đến cho con người khả năng tiếp cận với tri thức khoa học một cách nhanh chóng, cụ thể như: thư viện điện tử, cổng thông tin điện tử, báo mạng, các ứng dụng tìm kiếm…, đã giúp con người thuận tiện hơn trong việc trao đổi, cập nhật thông tin trên toàn cầu thông qua mạng Internet Hệ thống dữ liệu số hoá ngày càng trở nên khổng lồ để phục vụ cho việc lưu trữ trao đổi thông tin, dữ liệu số hoá này rất đa dạng
- nó có thể là các dữ liệu dưới dạng tập tin văn bản text, tập tin văn bản MS Word, tập tin văn bản PDF, mail, HTML v.v Các tập tin văn bản cũng được lưu trữ trên máy tính cục bộ hoặc được truyền tải trên intenet, cùng với thời gian và số lượng người dùng tăng nhanh thì các tập tin này ngày càng nhiều và đến một thời điểm nào đó số lượng tập tin này sẽ vượt quá tầm kiểm soát, do đó khi muốn tìm kiếm lại một văn bản nào đó, việc tìm kiếm sẽ rất khó khăn và phức tạp, đặc biệt là trong trường hợp người cần tìm kiếm không nhớ rõ các câu cần tìm chính xác trong văn bản
Hiện nay tin học hóa các hoạt động quản lý nhà nước đang ngày càng đặt biệt được chú trọng Tại Việt Nam phần lớn các cơ quan hành chính nhà nước đang sử dụng các hệ thống phần mềm hỗ trợ văn bản và điều hành để xử lý hồ sơ văn bản, tại
sở Thông tin và Truyền thông thành phố Đà Nẵng hằng năm việc nhận và chuyển đi số lượng lớn văn bản hành chính các loại, hệ thống lưu trữ cơ sở dữ liệu cho văn bản khá lớn và mỗi ngày càng phình to, khối lượng dữ liệu lớn khi có việc tìm lại các văn bản cần thiết sẽ mất khá nhiều thời gian công sức, vì nếu thực hện quá trình phân loại bằng thủ công sẽ tốn nhiều thời gian và chi phí Vì vậy để nâng cao hiệu quả trong việc sử dụng các hệ thống phần mềm này, chúng ta cần phải xây dựng chức năng có khỏa năng phân loại tự động nhằm sắp xếp phân loại văn bản để quá trình tìm kiếm, truy xuất của người dùng được nhanh nhạy và dễ dàng hơn
Phân loại văn bản tự động là 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 bản đã được gán nhãn trong tập huấn luyện Nhiều kỹ thuật máy học và khai phá dữ liệu đã được áp dụng vào bài toán phân loại văn bản, chẳng hạn: phương pháp quyết định dựa vào Naive Bayes, cây quyết định, k–láng giềng gần nhất, mạng nơron,… những nghiên cứu gần đây, phương pháp phân loại văn bản sử dụng Máy vector hỗ trợ (SVM) được quan tâm và sử dụng nhiều trong những lĩnh vực phân loại 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
Những năm gần đây vấn đề phân loại văn bản tiếng Việt được nhiều cơ sở
Trang 12nghiên cứu trong cả nước quan tâm 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 toá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 toán phân loại bằng lý thuyết đồ thị, cách tiếp cận sử dụng lý thuyết tập thô, cách tiếp cận thống kê, 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 Nhìn chung, những cách tiếp cận này đều cho kết quả chấp nhận được Tuy nhiên SVM chưa được áp dụng một cách có hiệu quả vào phân loại văn bản tiếng Việt Vì vậy với mục đích xây dựng mô hình và cải tiến phương pháp máy vector hỗ trợ SVM để nâng cao hiệu quả phân loại văn bản tiếng Việt là một công việc cấp thiết
Chính vì vậy, trong luận văn này, tập trung nghiên cứu các phương pháp nhằm phân loại văn bản tiếng Việt hiệu quả hơn Nhận thấy đây là lĩnh vực mang tính
khoa học cao Vì vậy tôi đã chọn đề tài “Nghiên cứu các phương pháp phân lớp văn bản và ứng dụng xây dựng phần mềm phân loại văn bản hành chính tại Sở Thông tin và Truyền thong thành phố Đà Nẵng” là một việc làm không chỉ mang tính khoa
học mà còn áp dụng vào thực tiễn Đã có rất nhiều công trình nghiên cứu và ứng dụng thực tế dùng để thực hiện việc phân loại văn bản, tuy nhiên các ứng dụng đó cũng chưa thể đáp ứng hoàn toàn nhu cầu của người sử dụng, do vậy mà việc tìm kiếm, nghiên cứu các giải thuật, các phương pháp phân loại văn bản vẫn được tiếp tục nghiên cứu và hoàn thiện
2 Mục tiêu nghiên cứu
Mục tiêu chung của đề tài là nghiên cứu ứng dụng kỹ thuật học máy vào bài toán phân loại văn bản tiếng Việt
Mục tiêu cụ thể như sau:
- Tập trung nghiên cứu một số kỹ thuật và phương pháp phân lớp văn bản, mô
tả các yêu cầu chính yếu nhất của từng phương pháp và rút ra các ưu/khuyết điểm của từng phương pháp
- Nắm vững được các vấn đề liên quan đến phân loại văn bản gồm: các mô hình phân loại, quy trình thực hiện Nghiên cứu các thuật toán xử lý văn bản, cách thức tương tác tài liệu, văn bản
- Ứng dụng các phương pháp trên để xây dựng chương trình phân loại văn bản tiếng Việt bước đầu thử nghiệm trên các văn bản thuộc sở Thông tin và Truyền thông thành phố Đà Nẵng
3 Đối tượng và phạm vi nghiên cứu
3.1 Đối tượng nghiên cứu của đề tài
- Các thuật toán phân loại, phân cụm dữ liệu trong cơ sở dữ liệu có cấu trúc
và bán cấu trúc, phương pháp tách từ, tách câu trong các loại văn bản tiếng Việt
Trang 13- Một số hệ thống phân loại văn bản hiện có
- Hệ thống văn bản hành chính tại Sở Thông tin và Truyền thông Đà Nẵng
- Ngôn ngữ lập trình python để xây dựng ứng dụng phân loại văn bản
3.2 Chúng tôi giới hạn phạm vi nghiên cứu trong luận văn này gồm:
- Trong khuôn khổ của luận văn, học viên nghiên cứu và xây dựng ứng dụng phân loại văn bản thành các loại theo các bộ phận chức năng như: công nghệ thông tin, báo chí xuất bản, bưu chính viễn thông, an ninh thông tin
- Chỉ tập trung cho hệ thống phân loại văn bản tiếng việt
4 Phương pháp nghiên cứu
- Phương pháp tài liệu: Tập trung nghiên cứu cơ sở lý thuyết về các kỹ thuật
phân lớp văn bản các tư liệu và thông tin liên quan chủ yếu được thu thập, tổng hợp từ các nguồn, các tạp chí khoa học Chuyên ngành trong và ngoài nước, Internet Các tài liệu có liên quan đến các nội dung nghiên cứu như: học máy, phân loại văn bản, phân loại văn bản tiếng Việt
- Phương pháp thực nghiệm: Nghiên cứu đánh giá thực nghiệm từng mô
hình, phương pháp phân loại văn bản, từ đó so sánh, đánh giá với phương pháp được
đề xuất Ứng dụng xây dựng chương trình phân loại văn bản
- Phương pháp chuyên gia: Lấy ý kiến các chuyên gia, các giải pháp đề xuất
và khảo sát ý kiến của người sử dụng
5 Bố cục đề tài
Nội dung chính của luận văn được trình bày trong 3 chương gồm:
Chương 1: Nghiên cứu tổng quan
Chương này trình bày các khái niệm và những nội dung cơ bản về bài toán phân lớp văn bản Tìm hiểu các kết quả nghiên cứu tổng quan liên quan đến học máy, các phương pháp học máy, phân lớp dữ liệu và phân loại văn bản, tìm hiểu các quy trình phân loại văn bản tiếng Việt Trên cơ sở nghiên cứu, đánh giá các vấn đề còn tồn tại, đề xuất những nội dung nghiên cứu trình bày trong các chương tiếp theo
Chương 2: Đề xuất phương pháp áp dụng
Nội dung chương này tập trung phân tích, trình bày kiến thức nền tảng, cơ sở lý thuyết sử dụng trong luận văn, làm rõ một số giải pháp kỹ thuật liên quan, nêu khái quát đặc điểm các phương pháp được sử dụng tại mỗi bước của quy trình phân loại, qua đó định hướng áp dụng trong việc giải quyết bài toán phân loại văn bản Kết quả nghiên cứu của chương là cơ sở để giải quyết bài toán phân loại văn bản tiếng Việt ở chương sau
Chương 3: Xây dựng chương trình thử nghiệm
Chương này trình bày các áp dụng thuật toán trong việc phân loại văn bản, sử
Trang 14dụng ngôn ngữ lập trình python để viết chương trình phân loại văn bản tại sở Thông tin và Truyền thông TP Đà Nẵng Thử nghiệm các kết quả thực nghiệm thu được khi thực hiện ở các phương pháp Đưa ra một số nhận xét đánh giá kết luận
Trong phần kết luận, luận văn tóm tắt lại những công việc đã thực hiện trong thời gian qua, và kết quả đã đạt được, đồng thời cũng đề cập đến những điểm còn hạn chế của luận văn và đề ra phương hướng nghiên cứu trong thời gian tới
6 Tổng quan tài liệu nghiên cứu
Tài liệu tham khảo được sử dụng trong luận văn gồm các luận văn của các học viên các lớp cao học ở các trường, các bài báo khoa học công nghệ
Trang 15CHƯƠNG 1 NGHIÊN CỨU TỔNG QUAN
1.1 TỔNG QUAN VỀ PHÂN LỚP DỮ LIỆU
1.1.1 Tổng quan về bài toán phân lớp dữ liệu
Bài toán phân lớp dữ liệu là quá trình phân lớp một đối tượng dữ liệu cụ thể vào một hoặc nhiều lớp dữ liệu, đã xác định trước thông qua một mô hình phân lớp, được xây dựng từ trước dựa trên một tập đối tượng dữ liệu thiết lập nhãn sẵn từ trước hay chúng ta vẫn thường gọi là tập huấn luyện Quá trình phân lớp dữ liệu còn có thể được gọi với một tên khác là quá trình thiết lập nhãn cho các đối tượng dữ liệu Nhiệm vụ chính của việc phân lớp dữ liệu là tạo ra mô hình phân lớp để khi có một đối tượng dữ liệu mới được đưa ra thì mô hình phân lớp dữ liệu sẽ xếp đối tượng dữ liệu đó vào lớp nào hay có thể coi là thiết lập nhãn cho đối tượng dữ liệu này
Trong thực tế phân lớp dữ liệu có rất nhiều bài toán khác nhau như bài toán
phân lớp nhị phân, bài toán phân lớp đa trị,…
Bài toán phân lớp nhị phân còn được hiểu là phân lớp đối tượng dữ liệu vào một trong hai lớp cho trước khác nhau thông qua việc xem xét đối tượng dữ liệu đó có hay không có các đặc tính phân loại được đặt ra theo quy ước của mô hình phân lớp
Bài toán phân lớp đa trị là bài toán phân lớp mà trong đó mỗi đối tượng dữ liệu trong tập dữ liệu được gán nhãn cũng như các đối tượng dữ liệu chưa được gán nhãn sau khi được phân lớp có thể được xếp vào hai lớp trở lên
Tiếp theo đây, nghiên cứu sẽ trình bày tổng quan về quá trình phân lớp dữ liệu
và phương pháp phân lớp dữ liệu
1.1.2 Tổng quan về quá trình phân lớp dữ liệu
Hình 1.1 Mô hình tổng quan về bài toán phân lớp
Trang 16Như hình trên thể hiện quá trình phân lớp dữ liệu được thực hiện qua hai bước chính:
Bước 1: Thiết lập mô hình phân lớp:
Mô hình phân lớp được tạo nên dựa trên việc phân tích các đối tượng dữ liệu trong tập huấn luyện Các lớp được gán nhãn của tập dữ liệu được gán nhãn này được xác định thủ công từ trước, vì vậy phương pháp học này còn có thể được gọi với tên khác là phương pháp học có giám sát (supervised learning) Tại bước này, độ chính xác của mô hình cần được tính đến Nếu độ chính xác của mô hình là chấp nhận được
mô hình phân lớp sẽ được dùng để xác định nhãn cho các đối tượng chưa được gán nhãn Trong quá trình đánh giá mô hình phân lớp, độ đo sẽ được sử dụng để đánh giá
độ chất lượng của các tập phân lớp
Trong thực tế có nhiều phương pháp phân lớp dữ liệu để giải quyết các bài toán phân lớp tùy thuộc vào cách tạo ra mô hình phân lớp Có thể kể đến một số phương pháp như Bayes, cây quyết định, SVM, K láng giềng gần nhất, Các phương pháp phân lớp phân biệt nhau thông qua bộ phân lớp Bộ phân lớp còn được gọi với tên gọi khác là thuật toán phân lớp
Bước 2: Tiến hành phân lớp sử dụng mô hình phân lớp tạo ở bước 1:
Thuật toán phân lớp có thể coi là ánh xạ từ miền dữ liệu sẵn có sang một miền giá trị cụ thể của nhãn lớp, dựa trên thuộc tính của các đối tượng dữ liệu
1.2 TỔNG QUAN VỀ PHÂN LỚP VĂN BẢN
1.2.1 Khái niệm
Phân lớp văn bản (Text classification) là quá trình gán nhãn (tên lớp/nhãn lớp) các văn bản ngôn ngữ tự nhiên một cách tự động vào một hoặc nhiều lớp cho trước
Hình 1.2 Bài toán phân lớp văn bản
Thông thường, các lớp cho trước là các chủ đề nào đó, nhưng cũng có nhiều ứng dụng mà các lớp được thiết lập theo những tiêu chí khác, như phân lớp theo độ
ưu tiên, phân lớp theo chủ đề… Hầu hết các bài toán này sẽ tốn rất nhiều thời gian, công sức và đôi khi không chính xác nếu được phân loại một cách thủ công – tức
Trang 17là đọc từng văn bản và gán vào một lớp nào đó Đặc biệt với số lượng tài liệu cần phân lớp cực kỳ lớn như hiện nay thì việc phân lớp thủ công là một điều không thể Phân loại những đối tượng mới vào các lớp bằng phương pháp thủ công gặp phải những khó khăn sau:
- Đối với các lĩnh vực đặc biệt, phân loại các đối tượng mới (như cơ sở dữ liệu về y tế, pháp luật, tài chính, ngân hàng ) vào các lớp cho trước cần có hiểu biết về các lĩnh vực đó
- Phân loại bằng tay đôi khi không chính xác vì quyết định phụ thuộc vào
sự hiểu biết và động cơ của người thực hiện
- Quyết định của hai chuyên gia khác nhau có thể nảy sinh bất đồng ý kiến
Vì vậy những công cụ để tự động phân lớp văn bản vào các lớp sẽ rất hữu ích với công việc này nhất là khi thông tin tràn ngập như ngày nay Một số phương pháp phân lớp thống kê và kĩ thuật học máy như Naϊve Bayers, máy vector hỗ trợ (Support Vector Machines), K người láng giềng gần nhất, mạng nơron được áp dụng để giải quyết bài toán này
Chính vì những nhược điểm của phương pháp thủ công nên việc xây dựng một bộ phân lớp văn bản tự động là một điều rất quan trọng và cần thiết, đặc biệt là khi hầu hết các thông tin được sinh ra và lưu trữ điện tử Các bài báo khoa học và giải trí là những ví dụ về tập các tài liệu điện tử Với sự phát triển ngày càng mạnh mẽ của mạng Internet và Intranet đã tạo ra nguồn thông tin vô cùng phong phú Các kỹ thuật phân lớp văn bản sẽ giúp cho nguồn dữ liệu này đã được lưu trữ tự động một cách hiệu quả và được tìm kiếm nhanh chóng
Phân lớp văn bản được xuất hiện từ những năm 1960, nhưng chỉ 15 năm sau,
nó đã trở thành lĩnh vực nghiên cứu chính trong hệ thống thông tin bởi sự đa dạng của các ứng dụng Phân lớp văn bản là công việc được sử dụng để hỗ trợ trong 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 Một ứng dụng khác của phân lớp văn bản là trong lĩnh vực hiểu văn bản Phân lớp văn bản có thể được sử dụng để lọc văn bản hoặc một phần văn bản chứa dữ liệu cần tìm mà không làm mất đi tính phức tạp của ngôn ngữ tự nhiên
Định nghĩa phân lớp văn bản : Phân lớp văn bản là nhiệm vụ đặt một giá trị
boolean cho mỗi cặp (dj, ci) ∈ D × C , trong đó D là tập các văn bản và C = {c1 , c2 , cc } là tập các lớp cho trước
Giá trị T (true) được gán cho cặp (dj, ci) có nghĩa là tài liệu dj thuộc lớp ci Giá trị F (false) tức là tài liệu dj không thuộc lớp ci
Trang 18chúng ta có thể nhận thấy việc phân lớp văn bản tự động là một vấn đề bức thiết cần
phải được giải quyết
Câu hỏi được đặt ra ở đây là phân lớp văn bản là gì? Phân lớp văn bản có thể
được hiểu là việc phân lớp dữ liệu áp dụng đối với các dữ liệu văn bản, hay phân một văn bản vào một hay nhiều lớp văn bản thông qua một mô hình phân lớp được xây dựng dựa trên một tập hợp các văn bản thiết lập nhãn từ trước
Phân lớp văn bản hiện nay đang là một trong các lĩnh vực được quan tâm hàng đầu và hiện đã và đang được đầu tư nghiên cứu tương đối nhiều trong những năm gần đây trên khắp thế giới
1.2.3 Tổng quan về phương pháp phân lớp văn bản
Hiện nay, có rất nhiều các phương pháp dùng để phân lớp văn bản như phương pháp Bayes, sử dụng cây quyết định, k láng giềng gần nhất hay SVM
Thuật toán học máy thường được sử dụng để xây dựng mô hình phân lớp văn bản một cách tự động Ngoài ra chúng ta còn có thể kể đến các phương pháp đặc biệt hơn dùng để phân lớp trong một số lĩnh vực Ví dụ khi mô hình phân loại thấy xuất hiện một cụm từ trong văn bản thì hệ thống sẽ phân văn bản đó vào một lớp nào đó Trong trường hợp các văn bản có số đặc trưng hơn không nhiều như vậy thì chúng ta đưa ra các phương pháp phân lớp dựa vào nội dung trong văn bản độ phù hợp của văn bản đó với các văn bản trong tập huấn luyện Trong mô hình học máy được áp dụng,
Trang 19văn bản trong tập huấn luyện đã được gán nhãn trước và mô hình phân loại cần phải tìm cách để trích chọn ra các đặc trưng của các văn bản thuộc mỗi lớp
1.2.4 Ứng dụng của việc phân lớp văn bản
Phân lớp dữ liệu văn bản có vai trò vô cùng quan trọng với công việc tìm kiếm
dữ liệu văn bản Thông qua phân lớp văn bản chúng ta có thể xác định ra được chủ đề phân lớp dữ liệu muốn tìm kiếm
Ngoài ra chúng ta có thể kể đến một ứng dụng nữa của việc phân lớp dữ liệu văn bản là việc ứng dụng để lọc văn bản hoặc một phần văn bản chứa những thông tin cần tìm mà không làm mất hay ảnh hưởng tới tính phức tạp ngôn ngữ tự nhiên
Phân lớp văn bản còn có rất nhiều ứng dụng đa dạng khác trong thực tế, điển hình chúng ta có thể kể đến những ứng dụng trích chọn thông tin trên mạng Internet
Có rất nhiều trang có nội dung không lành mạnh hay phản động hoặc đăng những nội dung sai sự thật nhằm tăng lượng người xem, những nội dung này có khả năng lẫn lộn vào kết quả trả về của các bộ máy tìm kiếm thông tin trên mạng hoặc có thể gây phiền toái cho những người dùng internet bằng các email rác Từ đó chúng ta ngày càng thấy
rõ sự cần thiết của việc ứng dụng việc phân lớp văn bản vào việc xây dựng các mô hình lọc thông tin trên mạng internet
Từ đó có thể thấy rằng phân lớp văn bản đã và đang là một trong các công cụ không thể thiếu trong thời đại hiện nay, vì vậy phân lớp văn bản đang là một trong các vấn đề được quan tâm phát triển hàng đầu với mục đích tạo ra những công cụ hữu ích cho thế giới nói chung và lĩnh vực công nghệ thông tin nói riêng
1.2.5 Quá trình phân lớp văn bản
Phân lớp dữ liệu văn bản có thể chia làm 4 bước cơ bản sau:
Bước 1: Tạo chỉ mục (indexing): Văn bản chưa được xử lý cần được chuyển
sang một dạng biểu diễn có cấu trúc để có thể xử lý, quá trình này còn được gọi là quá trình biểu diễn văn bản và dạng phổ biến nhất có thể kể đến là vector đặc trưng Tốc
độ thiết lập chỉ mục có vai trò thiết yếu trong quá trình phân lớp dữ liệu văn bản
Bước 2: Xác định độ phân lớp: Đưa ra cách thức xác định lớp cho mỗi văn bản
dựa trên cấu trúc biểu diễn của văn bản Trong khi các câu hỏi mang tính chất nhất thời thì tập phân lớp lại được dùng một cách lâu dài, ổn định cho quá trình phân lớp dữ liệu
Bước 3: So sánh: Trong đa số các tập phân lớp, mỗi đối tượng văn bản đều
được yêu cầu thiết lập đúng sai vào một phân lớp nào đó
Bước 4: Phản Hồi: Đây là quá trình có hai vai trò trong mô hình phân lớp dữ
liệu văn bản Vai trò thứ nhất là khi thực hiện phân lớp thì cần một lượng lớn các văn bản trong tập huấn luyện Các đối tượng văn bản đã được gán nhãn này được dùng làm
Trang 20mẫu huấn luyện để hỗ trợ xây dựng mô hình phân lớp Vai trò thứ hai là đối với việc phân lớp dữ liệu văn bản chúng ta khó có thể thay đổi các yêu cầu bởi người dùng có thể thông báo với quản trị viên hệ thống về việc cập nhật các lớp văn bản
Sơ đồ dưới đây thể hiện bộ khung cho việc phân lớp dữ liệu văn bản, trong đó
có thể kể đến ba công đoạn chính:
Hình 1.3 Sơ đồ biểu diễn quá trình phân lớp dữ liệu văn bản
Công đoạn 1: Biểu diễn đối tượng văn bản dưới dạng có cấu trúc, xây dựng tập
dữ liệu được gán nhãn
Công đoạn 2: Dùng các kỹ thuật học máy để tiến hành huấn luyện trên các mẫu
vừa được biểu diễn ở công đoạn 1 Thực chất công đoạn 1 tạo ra các vector đầu vào cho công đoạn 2
Công đoạn 3: Mở rộng các dữ liệu thêm vào được cung cấp bởi người dùng để
cải thiện hiệu suất
1.2.6 Đánh giá máy phân lớp văn bản
Trong thực tế không có một phương pháp phân lớp dữ liệu văn bản nào là tuyệt đối trong mọi hoàn cảnh Bất cứ một phương pháp phân loại nào cũng đều tồn tại độ sai số Do đó chỉ ra độ đo để có thể đánh giá chính xác được hiệu suất của mô hình phân lớp sẽ giúp xác định được phương pháp nào là tốt hay không tốt Có thể đưa ra một số công thức chung để đánh giá hiệu suất của các mô hình
Độ hồi tưởng và độ chính xác, độ và độ đo F1 được sử dụng khá phổ biến trong việc đánh giá độ chính xác của các mô hình phân lớp
Precsion = True_positive x 100 %
(True_positive) + (False_ positive )
Trang 21Recall = True_positive x 100 %
(True_positive) + (True_ negative )
F1(recall, precision) =2 x recall x precision
recall x precision
Để dễ hiểu hơn, chúng ta có công thức:
Độ chính xác =Số văn bản được phân vào lớp dương và đúng
Tổng số văn bản được phân lớp
Độ bao phủ =Số văn bản được phân vào lớp dương và đúng
Tổng số văn bản phân vào lớp dương
Tiêu chuẩn đánh giá = độ hồi tưởng ∗ độ chính xác
độ hồi tưởng + độ chính xác
Các chỉ số này cũng là cơ sở để học viên dùng để đánh giá các phương pháp phân loại về sau trong phần thực nghiệm
1.2.7 Những yếu tố ảnh hưởng đến quá trình phân lớp
Phân lớp dữ liệu văn bản hiện đang có vai trò rất quan trọng trong sự phát triển của toàn thế giới, tùy vào độ phức tạp của từng loại văn bản khả năng thực thi của các
mô hình phân lớp sẽ khác nhau Có 3 yếu tố thiết yếu ảnh hưởng đến kết quả của việc phân lớp có thể kể đến:
Tập dữ liệu được thiết lập nhãn trước phải đủ lớn để huấn luyện cho mô hình phân lớp Có được một tập dữ liệu chuẩn và đủ lớn sẽ giúp cho việc học của mô hình được tốt hơn và đem lại kết quả phân lớp sau này chính xác hơn
Phương pháp tách từ khóa trong văn bản ảnh hưởng tới quá trình biểu diễn văn bản bằng vector vì các phương pháp tách đơn giản thường sẽ gặp vấn đề với những ngôn ngữ khác nhau, do đó việc xây dựng phương pháp tách từ khóa là một yếu tố thiết yếu
Phân lớp dữ liệu văn bản phải sử dụng thuật toán hợp lý về thời gian xử lý gồm: thời gian để huấn luyện và thời gian thực hiện phân lớp, thêm nữa thuật toán sẽ không phân lớp lại toàn bộ tập văn bản khi thêm vào đối tượng dữ liệu văn bản mới mà chỉ
Trang 22thực hiện phân lớp cho đối tượng văn bản mới, ngoài ra thuật toán cần có khả năng giảm nhiễu khi phân lớp dữ liệu văn bản
1.3 PHÁT BIỂU VỀ BÀI TOÁN PHÂN LOẠI VĂN BẢN
Trong những năm gần đây, với sự phát triển và ứng dụng của Internet, khối lượng dữ liệu đã tăng trưởng không ngừng theo cả hai phương diện tạo mới và lưu trữ
Sự mở rộng các dữ liệu khoa học về địa lý, địa chất, khí tượng do vệ tinh thu thập, sự giới thiệu quảng bá mã vạch đối với hầu hết các sản phẩm thương mại, việc tin học hoá sâu rộng các thương vụ và giao dịch, sự phát triển việc ứng dụng công nghệ thông tin trong quản lý hành chính nhà nước, đã tạo ra một khối lượng dữ liệu khổng lồ Tự động phân lớp văn bản là một nhiệm vụ rất quan trọng có thể giúp ích trong việc tổ chức cũng như tìm kiếm thông tin trên nguồn tài nguyên lớn này
Phân loại văn bản là một bài toán xử lí văn bản kinh điển, đó là ánh xạ một văn bản vào một chủ đề đã biết trong một tập hữu hạn các chủ đề dựa trên ngữ nghĩa của văn bản Ví dụ một bài viết trong một tờ báo có thể thuộc một (hoặc một vài) chủ đề
nào đó (như thể thao, sức khỏe, công nghệ thông tin,…) Việc tự động phân loại văn
bản vào một chủ đề nào đó giúp cho việc sắp xếp, lưu trữ và truy vấn tài liệu dễ dàng hơn về sau Đặc điểm nổi bật của bài toán này là sự đa dạng của chủ đề văn bản và tính đa chủ đề của văn bản Tính đa chủ đề của văn bản làm cho sự phân loại chỉ mang tính tương đối và có phần chủ quan, nếu do con người thực hiện, và dễ bị nhập nhằng khi phân loại tự động Rõ ràng một bài viết về giáo dục cũng có thể xếp vào kinh tế nếu như bài viết bàn về tiền nong đầu tư cho giáo dục và tác động của đầu tư này đến kinh tế - xã hội Về bản chất, một văn bản là một tập hợp từ ngữ có liên quan với nhau tạo nên nội dung ngữ nghĩa của văn bản Từ ngữ của một văn bản là đa dạng do tính đa dạng của ngôn ngữ (đồng nghĩa, đa nghĩa, từ vay mượn nước ngoài,…) và số lượng từ cần xét là lớn Ở đây cần lưu ý rằng, một văn bản có thể có số lượng từ ngữ không nhiều, nhưng số lượng từ ngữ cần xét là rất nhiều vì phải bao hàm tất cả các từ của ngôn ngữ đang xét Trên thế giới đã có nhiều công trình nghiên cứu đạt những kết quả khả quan, nhất là đối với phân loại văn bản tiếng Anh Tuy vậy, các nghiên cứu và ứng dụng đối với văn bản tiếng Việt còn nhiều hạn chế do khó khăn về tách từ và câu
1.3.1 Mô hình tổng quát
Có rất nhiều hướng tiếp cận bài toán phân loại văn bản đã được nghiên cứu như: tiếp cận bài toán phân loại văn bản dựa trên đồ thị, cách tiếp cận sử dụng lý thuyết tập thô, cách tiếp cận thống kê, Tuy nhiên, tất cả các phương pháp trên đều dựa vào các phương pháp chung của học máy đó là: học có giám sát, học nửa giám sát
và học không giám sát
Trang 23Bộ phân lớp có thể được xây dựng bằng tay dựa vào các kỹ thuật ứng dụng tri thức (thường là xây dựng một tập các tri thức) hoặc có thể xây dựng một cách tự động bằng các kỹ thuật học máy thông qua một tập các dữ liệu huấn luyện được định nghĩa trước phân lớp tương ứng Vấn đề phân loại văn bản theo phương pháp thống kê dựa trên máy học được đặc tả bao gồm hai giai đoạn: giai đoạn huấn luyện và giai đoạn phân lớp
Hình 1.4 Mô hình tổng quát
1.3.2 Giai đoạn huấn luyện
Chúng ta có một tập huấn luyện, mỗi phần tử trong tập huấn luyện được gán vào một hay nhiều lớp mà chúng ta sẽ thể hiện chúng bằng một mô hình mã hóa (sẽ được trình bày chi tiết ở Chương II) Thông thường mỗi phần tử trong tập huấn luyện được thể hiện theo dạng (𝑥⃗ , 𝑐) Trong đó, 𝑥⃗ là vector biểu diễn cho văn bản trong tập huấn luyện
Sau đó, chúng ta sẽ định nghĩa một lớp mô hình và một thủ tục huấn luyện Lớp
mô hình là họ các tham số của bộ phân loại, thủ tục huấn luyện là một giải thuật (hay thuật toán) để chọn ra một họ các tham số tối ưu cho bộ phân loại
Hình 1.5 Mô hình giai đoạn huấn luyện
+ Đầu vào: dữ liệu huấn luyện và thuật toán huấn luyện
Trang 24+ Đầu ra: mô hình phân lớp (bộ phân lớp – classfier)
Hình 1.6 Chi tiết giai đoạn huấn luyện
Trong đó:
+ Dữ liệu huấn luyện: kho dữ liệu thu thập được
+ Tiền xử lý: chuyển đổi tài liệu trong kho dữ liệu thành để phân loại
+ Vector hóa: mã hóa văn bản bởi một mô hình
+ Trích chọn đặc trưng: loại bỏ những từ (đặc trưng) không mang thông tin
khỏi tài liệu nhằm nâng cao hiệu suất phân loại và giảm độ phức tạp của thuật toán huấn luyện
+ Thuật toán huấn luyện: thủ tục huấn luyện bộ phân lớp để tìm ra các tham
số tối ưu
+ Đánh giá: bước đánh giá hiệu suất (chất lượng) của bộ phân lớp (chi tiết
trong phần đánh giá bộ phân lớp)
Thủ tục huấn luyện sẽ được thực thi lặp nhiều lần để tìm họ các tham số tối ưu sau mỗi lần lặp Tuy nhiên, do ban đầu các tham số được gán với một giá trị khởi tạo,
do đó nếu giá trị khởi tạo ban đầu được gán sai thì kết quả tối ưu của họ các tham số
có thể chỉ là tối ưu cục bộ
1.3.3 Giai đoạn phân lớp
Sau khi đã hoàn thành các giai đoạn huấn luyện, mô hình phân lớp sẽ được áp dụng cho các văn bản mới cần phân loại
Hình 1.7 Mô hình giai đoạn phân lớp
Trang 25Chi tiết giai đoạn phân lớp
Hình 1.8 Mô hình chi tiết giai đoạn phân lớp
Tuỳ vào bài toán khác nhau, ta có các ràng buộc khác nhau Nhìn chung có thể phân biệt bài toán phân lớp theo hai cách sau:
Phân lớp văn bản nhị phân / đa lớp: Bài toán phân lớp văn bản được gọi là nhị
phân nếu C = 2, gọi là đa lớp nếu C > 2
Phân lớp văn bản đơn nhãn / đa nhãn: Bài toán phân lớp văn bản được gọi là đơn nhãn nếu mỗi tài liệu được gán vào chính xác một lớp Một bài toán phân lớp văn bản được gọi là đa nhãn nếu một tài liệu có thể được gán nhiều hơn một nhãn
Về mặt lý thuyết, thuật toán phân lớp nhị phân cũng có thể được sử dụng cho
bài toán phân lớp đa lớp bằng cách chuyển bài toán đa lớp {c 1 ,c 2 c c } thành |C| bài toán nhị phân {c i , c i }với i =1, , C Hơn nữa thuật toán phân lớp đa lớp có thể được
sử dụng để giải quyết bài toán phân lớp đa nhãn
Do đó, bài toán phân lớp nhị phân là bài toán rất quan trọng trong các ứng dụng của phân lớp văn bản Giải quyết bài toán phân lớp nhị phân cũng có nghĩa là giải quyết bài toán phân lớp đa lớp – ứng dụng quan trọng trong phân lớp văn bản Bài toán lọc văn bản (text filtering), lọc thư rác (spam mail) là những ứng dụng điển hình của phân lớp nhị phân
1.4 TỔNG QUAN VỀ 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 văn bản 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.4.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 bản đã được gán nhãn trong tập huấn luyện”
Trang 26Từ 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)[15] và nghiên cứu của tác giả, một số phương pháp phân loại
thơng dụng hiện nay là: Support Vector Machine -Joachims, 1998[16], k-Nearest Neighbor -Yang, 1994, Linear Least Squares Fit -Yang and Chute, 1994[17] 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
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.4.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ị[1], cách tiếp cận sử dụng lý thuyết tập thơ [2], cách tiếp cận thống kê [3], 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[4] 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 tố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 Hồng Kiếm và TS Đỗ Phúc[6]
Trang 27Đố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)[7], 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 đế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)[18] Điểm sáng tạo của thuật toán là kết hợp thuật toá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
1.4.3 Giới thiệu các công trình nghiên cứu liên quan
Phân loại văn bản là một lĩnh vực đã có rất nhiều công trình nghiên cứu, bài báo, luận văn đề cập đến Các công trình đó đều đạt được những kết quả hết sức khả quan và có nhiều điểm để học hỏi Trong phần này tác giả sẽ trình bày ba công trình nghiên cứu mà theo đánh giá chủ quan là tương đối đơn giản và hiệu quả, mà học viên tìm hiểu nhiều nhất để hoàn thành luận văn này
1.4.3.1 Phân loại vector hỗ trợ và cây quyết định
Công trình nghiên cứu đầu tiên tham khảo là bài báo nghiên cứu khoa học của hai tác giả Trần Cao Đệ và Phạm Nguyên Khang công tác tại Đại học Cần Thơ, được
đăng trên Tạp chí Khoa học 2012:21a 52-63 Như tác giả đã viết trong [8]: “Bài viết này nghiên cứu máy học vector hỗ trợ (SVM), áp dụng nó vào bài toán phân loại văn
Trang 28bản và so sánh hiệu quả của nó với hiệu quả của giải thuật phân lớp cổ điển, rất phổ biến đó là cây quyết định.” Ngoài ra để áp dụng có hiệu quả giải thuật SVM, tác giả đã
sử dụng kĩ thuật phân tích giá trị đơn (SVD - Singular Value Decomposition) để rút ngắn số chiều của không gian đặc trưng, từ đó giảm nhiễu quá trình phân loại
Tác giả tiến hành phân loại theo tuần tự sau:
Hình 1.9 Phân loại văn bản của [8]
Trong giai đoạn tiền xử lý dữ liệu, tác giả sử dụng giải thuật MMSEG để tiến hành tách từ Đây là giải thuật được dùng phổ biến để tách từ tiếng Trung Quốc với độ chính xác 99%[ 8] và đã được áp dụng vào tách từ Tiếng Việt thành công trong nhiều công trình Theo nghiên cứu của tác giả giải thuật này khi áp dụng vào tách từ tiếng Việt sẽ cho độ chính xác trên 95%[ 8]
Sau khi tách từ tác giả tiến hành mô hình hóa văn bản thành dạng vector, sử dụng TF-IDF vector hóa; tiến hành phân loại văn bản với hai giải thuật SVM và cây quyết định trong phần mềm Weka Với tập dữ liệu là 7842 văn bản thuộc 10 chủ đề khác nhau, ứng với mỗi chủ đề, tác giả chọn ra 500 văn bản một cách ngẫu nhiên để tiến hành huấn luyện, số văn bản còn lại để kiểm chứng độc lập Để huấn luyện SVM, tập ngữ liệu đang xét sẽ được phân tích giá trị đơn và rút ngắn số chiều Kết quả về hiệu quả phân loại văn bản với cây quyết định và máy học SVM được tác giả thể hiện qua bảng 1.1:
Trang 29Bảng 1.1 Kết quả phân loại của [8]
Tên lớp Cây quyết định Máy học SVM
Precision Recall F1 Precision Recall F1
CNTT 84.5% 87.4% 85.9% 89.5% 92.7% 91.1% ĐTVT 81.9% 80.5% 81.2% 88.2% 87.2% 87.7% Giáo dục 83.4% 77.3% 80.2% 90.2% 92.3% 91.2%
Ẩm thực 83.8% 86.9% 85.3% 93.2% 93.8% 93.5% Bất động sản 81.5% 84.9% 83.2% 91.9% 94.0% 92.9% Khoa học 84.3% 80.1% 82.2% 90.0% 89.0% 89.5% Kinh tế 86.2% 83.5% 84.8% 91.0% 87.3% 89.1%
Y học 84.9% 89.9% 87.3% 91.2% 89.9% 90.5% Thể thao 84.3% 94.8% 89.2% 91.8% 93.4% 92.6% Giải trí 85.5% 78.6% 81.9% 92.8% 90.0% 91.4%
Trung bình 84.1% Trung bình 91.0%
Qua kết quả thực nghiệm cĩ thể thấy phân lớp với SVM thực sự tốt hơn phân lớp bằng cây quyết định Ngồi ra, việc dùng SVD để phân tích và rút gọn số chiều của khơng gian đặc trưng đã nâng cao hiệu quả phân lớp SVM
1.4.3.2 Xây dựng hệ thống phân loại tiếng việt
Cơng trình thứ hai mà học viên tham khảo là Bài báo Nghiên cứu Khoa học của hai tác giả Trần Thị Thu Thảo và Vũ Thị Chinh cơng tác tại Khoa Cơng nghệ thơng tin, trường Đại học Lạc Hồng[9] Đề tài này áp dụng phương pháp Nạve Bayes thực hiện phân loại trên đối tượng là các bài báo khoa học thuộc 9 chuyên ngành trong lĩnh vực Cơng nghệ thơng tin
Tác giả tiến hành phân loại văn bản theo trình tự hình 1.9:
Hình 1.10 Phân loại văn bản của [9]
Trang 30Tác giả tiến hành xây dựng module tách từ theo mơ hình N-gram, sau đĩ mơ hình hĩa văn bản đã được tách từ bằng vector TF-IDF Với tập dữ liệu đã được mơ hình hĩa thành vector Tác giả tiến hành phân loại dựa trên phương pháp Nạve Bayes Tác giả xây dựng phần mềm phân loại, tích hợp thêm các chức năng quản lý, sửa, xĩa bài báo để tiến hành thử nghiệm trên tập dữ liệu là 281 bài báo khoa học thuộc các chuyên ngành của lĩnh vực CNTT Kết quả phân loại được thể hiện trong bảng 1.2:
Bảng 1.2 Kết quả phân loại văn bản [9]
STT Tập dữ liệu Phân
loại tay
Phân loại máy
Phân loại sai chuyên ngành
Tỉ lệ (%)
7 Mạng máy tính và truyền thơng 31 27 4 87.09
1.4.3.3 Phân loại email Spam bằng Matlad áp dụng 6 giải thuật
a Giới thiệu
Đây là đồ án cuối khĩa Phân Loại Email Spam mơn Học Máy của hai tác giả Shahar Yifrah và Guy Lev[19] Tồn bộ dữ liệu và source code của đồ án được đưa lên và tải miễn phí tại địa chỉ
http://www.cs.tau.ac.il/~shaharyi/ml_final_project_2013.html
Trong đồ án này, tác giả sử dụng 6 giải thuật để tiến hành phân loại email spam bằng Matlab và so sánh hiệu suất giữa chúng Sáu giải thuật đĩ bao gồm:
Trang 31Adaboost, Nạve Bayes, Perceptron,Winnow, SVM (Support Vector Machine), KNN (K-Nearest Neighbors)
Tác giả đánh giá hiệu suất phân loại của các giải thuật dựa trên hai khía cạnh: Error rate: tỉ lệ để sĩt email spam
False positive ratio: (number of false positives) / (number of ham messages) Tỉ
lệ phân loại sai email bình thường thành email spam trên tổng số email bình thường
b Tiền xử lý dữ liệu và mơ hình hĩa văn bản
Với tập dữ liệu là 5172 email, trong đĩ 29% email spam và 71% email thường Tác giả xây dựng một Python script tiến hành tiền xử lý dữ liệu và vector hĩa các email Tiền xử lý dữ liệu hay tách từ là cơng việc khá đơn giản với ngơn ngữ tiếng Anh, bởi các từ được phân biệt với nhau bằng khoảng trắng
Cách vector hĩa email: tác giả chọn ra 100 từ trong tập dữ liệu Mỗi email được biểu diễn bằng tần suất xuất hiện của 100 từ đĩ trong chính nĩ Những từ được chọn
cĩ thể là một trong những kí tự đặc biệt như ;([!$# Cách chọn ra 100 từ để xây dựng
vector của tác giả:
Đầu tiên với mỗi từ riêng biệt xuất hiện trong tập dữ liệu Tác giả xếp hạng
chúng theo thuộc tính Spamicity Được tính theo cơng thức:
Spamicity(w) = Pr (w|S)
Pr(w|S) + Pr (w|H)Trong đĩ:
Pr ( w |S ): Xác suất từ w xuất hiện trong email spam
Pr ( w |H ): Xác suất từ w xuất hiện trong email thường
Các xác suất này được ước lượng thơng qua tập huấn luyện
Những từ cĩ Spamicity càng gần 1 thì càng là những từ đại diện cho email thường và ngược lại, spamicity của từ đĩ càng gần 0 thì từ đĩ thường đại diện cho email spam Do đĩ những từ cĩ giá trị spamicity càng xa 0.5 (lớn hơn hoặc nhỏ hơn) thì xếp hạng càng cao Tuy nhiên trong trường hợp các xác suất Pr( w|S) Pr(w|H) quá nhỏ thì những từ đĩ rất khĩ được chọn cho dù nĩ cĩ giá trị spamicity phù hợp Để giải quyết vấn đề đĩ tác giả đưa ra trình tự lựa chọn 100 từ như sau:
Trang 32Ngoài việc vector hóa các email thì Python script còn tạo ra 90 cặp tập huấn luyện và tập kiểm thử Tác giả chọn tỉ lệ kích thước tập huấn luyện so với kích thước tập dữ liệu tăng dần từ 0.1, 0.2, 0.3… đến 0.9 Ứng với mỗi tỉ lệ, lại chọn ra ngẫu nhiên 10 cặp tập huấn luyện và tập kiểm thử để tiến hành kiểm thử Kết quả đạt được thể hiện trong bảng 1.3:
Bảng 1.3 Kết quả phân loại theo [19]
Minimizing Error (%) Minimizing False Positive
Ratio (%) Error FP Error FP
Trang 33CHƯƠNG 2
ĐỀ XUẤT CÁC PHƯƠNG PHÁP ÁP DỤNG
Sau khi nghiên cứu tổng quan và tìm hiểu các công trình liên quan trong nước
và trên thế giới, học viên rút ra được một số các kỹ thuật để áp dụng vào từng bước của quy trình bài toán phân loại văn bản Nội dung chương này trình bày cụ thể nền tảng kiến thức Đề xuất các kỹ thuật sử dụng trong luận văn theo từng bước của quy trình phân loại văn bản
2.1 PHÁT BIỂU BÀI TOÁN
Sở Thông tin và Truyền thông thành phố Đà Nẵng là cơ quan chuyên môn thuộc UBND Thành Phố, có chức năng tham mưu, giúp UBND Thành Phố thực hiện quản lý về các lĩnh vực công nghệ thông tin, Bưu chính viễn thông, Báo chí xuất bản… Trong hoạt động quản lý văn bản hành chính nhà nước hiện nay, trên mọi lĩnh vực, hầu hết các công việc từ chỉ đạo, điều hành, quyết định, thi hành đều gắn liền với văn bản Văn bản hành chính là phương tiện giao tiếp chính của cơ quan Nhà nước với cấp trên, cấp dưới và với công dân Thậm chí trong các tổ chức xã hội và các doanh nghiệp trong hoạt động hằng ngày cũng phải soạn thảo và sử dụng văn bản, để thực hiện các hoạt động thông tin và giao dịch nhằm thực hiện các chức năng và nhiệm vụ của mình Mỗi văn bản chỉ chứa đựng một chủ đề theo từng lĩnh vực, sẽ rất khó khăn, mất khá nhiều thời gian và công sức, cho công việc sắp xếp và phân chia các văn bản
ra từng lĩnh vực khác nhau, hiện nay công việc đó, do những nhân viên hành chính tự phân loại một cách thủ công, nghĩa là phải đọc hết một văn bản rồi mới quyết định văn bản đó thuộc lĩnh vực 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 ở một số lĩnh vực Bên cạnh đó công việc không thể tránh khỏi các nhầm lẫn, khi một văn bản thuộc chuyên ngành này lại được xếp vào một chuyên ngành khác Điều đó gây ra khó khăn cho các nhân viên phụ trách vì không thuộc chuyên môn của họ Nên khó mà đưa ra những đánh giá thiết thực Vì vậy cần phải có một hệ thống phân loại tự động
Yêu cầu chính của việc phân loại văn bản, đó là việc xác định một văn bản sau khi xử lý sẽ xác định được văn bản đó thuộc nhóm văn bản nào trong các văn bản đã được xác định trước Đối với các văn bản không thể xác định được hoặc văn bản có tính “nhập nhằng” thì chương trình cần phải chỉ ra và cho phép người sử dụng có thể xác định bằng tay văn bản này thuộc vào nhóm văn bản nào Sau khi xác định thì kết quả này phải được cập nhật vào hệ thống nhận dạng để chương trình có thể nhận dạng được các văn bản tương tự lần sau
Trang 34Vấn đề quan trọng ở đây đó là việc đọc nội dung và phân tích ngữ nghĩa để xác định loại văn bản, nếu phần việc này làm tốt thì việc phải xác định lại văn bản bằng nhân công sẽ giảm đi khá nhiều Do đó có thể coi như bài toán phải giải quyết là công việc đọc nội dung và phân tích nội dung đọc được sau đó chọn thuật toán để đưa ra quyết định nhóm của văn bản được đọc
Thông qua việc khảo sát dữ liệu về văn bản tại sở Thông tin và Truyền thông thành phố Đà Nẵng và quá trình nghiên cứu về nghiệp vụ tại đơn vị Khóa luận xin đề xuất một số tập các nhãn (lớp) để đưa ra thử nghiệm ban đầu Với những chuyên ngành gồm:
- Công nghệ thông tin
- Bưu chính viễn thông
- Báo chí xuất bản
- An ninh thông tin
2.2 PHÂN TÍCH YÊU CẦU ĐỀ TÀI
Bài toán phân loại văn bản dựa trên học máy có hai hướng nghiên cứu chính Hướng thứ nhất là xây dựng giải thuật học máy mới hoặc cải thiện các giải thuật đã có nhằm nâng cao hiệu suất phân loại Trong hướng tiếp cận đầu tác giả sử dụng thư viện Scikit learn trong việc xây dựng thử nghiệm các giải thuật phân loại hiện nay, sau đó đưa ra các nhận xét, đánh giá các giải thuật và đề xuất phương pháp để áp dụng vào chương trình Hướng thứ hai là tập trung vào tập dữ liệu (huấn luyện và kiểm thử) cùng với việc xử lý chúng để chạy các giải thuật đã có và đánh giá các giải thuật đó Nhiệm vụ hướng tiếp cận thứ hai nằm trong việc thu thập dữ liệu, tiền xử lý dữ liệu và
mô hình hóa nó phù hợp với mô hình đầu vào của các giải thuật sẵn có Sau đó tác giả
đề xuất tích hợp module phân loại văn bản vào hệ thống văn bản và điều hành trước khi các văn bản được lưu vào CSDL thì thông qua module phân loại tại đây các văn bản được gán nhãn, đối với với các văn bản cũ thì tác giả đề xuất sao lưu các văn bản
cũ và thực hiện việc phân loại và cập nhật vào hệ thống
- Về mặt thuận lợi: có rất nhiều công trình nghiên cứu liên quan để tìm hiểu và học hỏi, thư viện sẵn có tích hợp nhiều giải thuật học máy có thể sử dụng thuận tiện
Có nhiều phương pháp mô hình hóa văn bản và các phương pháp đó tương đối dễ hiện thực Ngoài ra tác giả đề xuất sử dụng một số thư viện hỗ trợ trong giai đoạn tiền xử lý
dữ liệu để giúp chương trình tối ưu và nhanh nhạy hơn
- Về mặt khó khăn: như đã đề cập ở trên, đề tài tập trung vào tập dữ liệu Dữ liệu đây là các văn bản hành chính tiếng Việt Tuy nhiên việc lấy các văn bản đó về là khó khăn lớn nhất của đề tài này Để có thể đánh giá hiệu suất phân loại của các giải thuật cần một lượng dữ liệu tương đối lớn Việc xử lý các vector thuộc tính đòi hỏi các
Trang 35thuật toán được tính toán mở rộng, có thể đôi khi không thể tính toán được với một số thuật toán học Bên cạnh đó, nhiều thuộc tính không mang thông tin, nhập nhằng hoặc
bị nhiễu, do đó có thể dẫn tới bộ phân lớp không đạt được kết quả tốt trên tập dữ liệu
2.3 MÔ HÌNH ĐỀ XUẤT
Việc xây dựng chương trình phân loại văn bản chính xác có ý nghĩa quan trọng trong bước kiểm tra tính đúng đắn (chất lượng của dữ liệu: có thuộc đúng chủ đề ta muốn gán) Dựa vào các nghiên cứu đã mô tả ở chương I và theo yêu cầu của bài toán như mô tả ở phần 1.3, ta có thể thấy rằng để việc nhận dạng một văn bản được chính xác, cần phải thực hiện các bước sau:
- Bước 1: Tiền xử lý dữ liệu (Tách từ, loại bỏ từ dừng (Stopword)
- Bước 2: Biểu diễn văn bản (Trích chọn đặc trưng)
- Bước 3: Huấn luyện tập mẫu
- Bước 4: Phân loại văn bản
Hình 2.1 Mô hình đề xuất
2.4 TIỀN XỬ LÝ VĂN BẢN
Như ta được biết, văn bản là ngôn ngữ phi cấu trúc, để máy có thể hiểu được và tiến hành phân loại tự động, trước khi đưa vào mô hình xử lý cần được tiền xử lý Giai
Trang 36đoạn tiền xử lý dữ liệu này là bước đệm để việc chuyển đổi văn bản hay vector hóa văn bản ở bước sau được tiến hành thuận lợi và có hiệu suất cao nhất cho quá trình phân loại sau này Quá trình này sẽ giúp nâng cao hiệu quả của mô hình và giảm độ phức tạp của thuật toán được cài đặt vì nó có nhiệm vụ làm giảm số từ có trong biểu diễn văn bản Thông thường các bước tiền xử lý văn bản gồm:
- Tách văn bản thành các câu và các từ riêng lẻ để sử dụng cho mục đích tính toán sau này
- Loại bỏ từ dừng (stopwords), loại bỏ các ký tự không phải chữ cái hoặc chữ số
2.4.1 Tách từ trong tiếng việt
Tiếng Việt là loại hình ngôn ngữ đơn lập Nghĩa là mỗi tiếng được phát âm tách rời nhau và được thể hiện bằng một chữ viết Mỗi từ có thể được cấu thành bởi một hoặc nhiều tiếng
Tiếng, về hình thức, nó trùng với một đoạn phát âm tự nhiên gọi là âm tiết Về nội dung nó là đơn vị nhỏ nhất có nội dung được thể hiện Về ý nghĩa, có những tiếng tự thân nó đã mang một ý nghĩa, phản ánh một đối tượng hoặc khái niệm, ví dụ: cây, trời,
cỏ, lá, ăn, nói, cười… Có những tiếng không phản ánh hay thể hiện một ngữ nghĩa hay đối tượng nào cả Nhưng bản thân sự có mặt của nó trong từ có thể tạo nên một sự khác biệt lớn Nghĩa là nó kết hợp với một hay nhiều tiếng khác có nghĩa để tạo nên từ (ví dụ: tiếng “sá” trong từ “đường sá”, “e” trong từ “e lệ”, “khúc” trong từ “khúc mắc”…) hoặc kết hợp với tiếng khác nhưng cũng không có nghĩa và tạo nên từ có nghĩa, trường hợp này thường ít gặp, đa số là các từ vay mượn nước ngoài Từ trong tiếng Việt được cấu thành bởi một hay nhiều tiếng tổ hợp lại Có hai loại từ chính là từ đơn và từ ghép Từ đơn là những từ được cấu thành bằng một tiếng, ví dụ: đi, đứng, cười, đùa, vui, buồn, bạn…Từ ghép là từ được cấu thành từ hai hay nhiều tiếng, mà những tiếng đó có quan hệ ngữ nghĩa với nhau, ví dụ: chợ búa, bếp núc, cơ quan, trường học, cây cảnh, hợp tác xã…
Từ là đơn vị cấu thành nên câu trong tiếng Việt, chứ không phải từ “tiếng” cho nên việc tách từ trong giai đoạn tiền xử lý dữ liệu sẽ cho hiệu quả phân loại cao hơn so với việc “tách tiếng”
Tuy nhiên, khác với tiếng Anh “từ là nhóm 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 đó tách từ tiếng Anh là công việc
rất đơn giản Còn từ tiếng Việt như đặc điểm đã được nêu trên không được mặc định
là được tách với nhau bởi khoảng trắng Nếu tiến hành tách từ tiếng Việt theo khoảng trắng sẽ không giữ được ngữ nghĩa của từ, việc này cũng tương đương với việc tách tiếng Cho nên việc tách từ trong tiếng Việt là một công việc khó khăn đầy thú vị
Trang 372.4.2 Một số phương pháp tách từ hiện nay
Tách từ có thể nói là giai đoạn quan trọng nhất, ảnh hưởng đến kết quả của mô hình xử lý Bước này có nhiệm vụ xác định các từ có trong văn bản, kết quả của nó là một tập các từ riêng biệt Các trường hợp đặt biệt như số, dấu ngoặc, dấu chấm câu thường bị loại ra trong khi phân tích vì một mình nó không mang lại ý nghĩa nào cho tài liệu (ngoại trừ một số trường hợp đặc biệt, ví dụ trong thu thập thông tin về lĩnh vực lịch sử) Tuy nhiên trong một vài trường hợp, chẳng hạn đối với những từ ghép nối (state-of-the-art) không được phép bỏ dấu “ - ”, vì sẽ làm thay đổi nghĩa của từ Việc tách từ sẽ được thấy rõ qua mô hình sau
Hình 2.2 Mô hình tách từ tiếng Việt
Trong tiếng Việt, từ là sự hoàn chỉnh về mặt nội dung, là đơn vị nhỏ nhất để đặt câu Người ta dùng từ để kết hợp thành câu chứ không dùng tiếng Đối với các hệ thống xử lý ngôn ngữ tiếng Anh, để xác định các từ đặc trưng cho văn bản người ta có thể dựa vào khoảng trắng làm ranh giới Tuy nhiên, trong tiếng Việt vì từ có thể là từ đơn hay từ ghép nên khoảng trắng không còn là dấu hiệu phân cách từ nữa Vấn đề mà các mô hình tách từ tiếng Việt đều gặp phải đó là:
Xác định các từ chưa biết trước (đối với từ điển máy tính) như các câu thành ngữ, từ láy, hoặc tên người, địa điểm …
Sự nhập nhằng:
Nhập nhằng chồng chéo: chuỗi “abcd” được gọi là nhập nhằng chồng chéo nếu như từ “abc”, “bcd” đều xuất hiện trong từ điển, ví dụ: trong câu” ông già đi nhanh quá” thì chuỗi “ông già đi” nhập nhằng chống chéo vì các từ “ông già” và “già đi” đều
có trong từ điển
Nhập nhằng kết hợp: chuỗi “abcd” gọi là nhập nhằng kết hợp nếu các từ thành phần “ab”, “cd”, “abcd” đều xuất hiện trong từ điển Ví dụ trong câu “Tủ lạnh này còn rất mới” thì chuỗi “Tủ lạnh” bị nhập nhằng kết hợp do các từ “tủ”, “lạnh”, “tủ lạnh” đều có trong từ điển