Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 18 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
18
Dung lượng
1,47 MB
Nội dung
Bài tiểu luận Đề tài: Phân loại văn (Text classification) Môn học: Xử lý ngôn ngữ tự nhiên Giảng viên: PGS TS Đinh Điền Học viên: Nhóm 11 Trần Thị Minh Trang (20C29040) Nghiêm Thị Thanh Ngọc (20C29030) Ngành: Cao học Khoa học liệu K30 TP HCM 03-2021 Mục lục Mở đầu ứng dụng phân loại văn Định nghĩa phân loại văn 3 Các phương pháp thực a) Phân loại tay (Hand-coded rule-based classification) b) Phân loại hệ thống máy học (Machine learning-based systems) i) Naïve Bayes classification ii) Support vector machine c) Phân loại hệ thống học sâu (Deep learning-based systems) 10 d) Một số vấn đề với phân loại văn 12 i Vấn đề chung phân loại văn 12 ii Vấn đề riêng với tiếng Anh 15 iii Vấn đề riêng với tiếng Việt 16 Kết thực nghiệm 17 Bảng phân công Mở đầu ứng dụng phân loại văn Định nghĩa phân loại văn Các phương pháp thực Ngọc a) Phân loại tay (Hand-coded rule-based classification) b) Phân loại hệ thống máy học (Machine learning-based systems) i) Naïve Bayes classification ii) Support vector machine Trang c) Phân loại hệ thống học sâu (Deep learning-based systems) LSTM d) Một số vấn đề với phân loại văn i Vấn đề chung phân loại văn ii Vấn đề riêng với tiếng Anh iii Vấn đề riêng với tiếng Việt Kết thực nghiệm Ngọc Ngọc, Trang Mở đầu ứng dụng phân loại văn Cùng với phát triển máy học học sâu, phân loại văn (PLVB) có nhiều phát triển năm gần nhằm đơn giản hóa q trình tay, đồng thời tiết kiệm thời gian, công sức người Hiện dù người không lĩnh vực cơng nghệ biết tới ứng dụng phổ biến phân loại văn bản, lọc thư rác Khi hòm thư nhận email mới, email phân loại tự động tức khắc để xếp chúng vào thư mục Spam/ Thư rác hay khơng Ngồi ứng dụng này, PLVB sử dụng cho vấn đề đây: Phân loại emails có phải thư rác hay không Phân loại chủ đề cho báo thành danh mục tương ứng trị, kinh doanh, cơng nghệ, thể thao, giải trí, v.v… Tìm kiếm thơng tin tác giả dựa phong cách văn Đánh giá cảm xúc người dùng qua bình luận mạng xã hội Và cịn nhiều nữa… Do PLVB có nhiều ứng dụng sống mà ta nêu toàn tiểu luận này, nên song song với việc đề cập tới lý thuyết chung PLVB, ta tìm hiểu kỹ ứng dụng cụ thể nó, phân loại chủ đề cho báo điện tử Trước hết, để hiểu rõ PLVB, tìm hiểu từ định nghĩa phần Định nghĩa phân loại văn Phân loại văn vấn đề xử lý ngôn ngữ tự nhiên, với ứng dụng đa dạng đề cập tới phần Bài toán phân loại văn toán giải việc phân loại tự động văn cho trước, để xác định xem văn thuộc thể loại Ban đầu ta có đầu vào văn d, tập C gồm j lớp 𝑐1 , 𝑐2 , 𝑐3 ,…, 𝑐𝑗 , với đầu lớp c thuộc tập C Vậy qua toán này, văn phân loại vào lớp Ta tóm tắt sau: Nguồn: Stanford University1 Cụ thể với việc phân loại báo điện tử vào chủ đề tương ứng với nó, ta có đầu vào văn d kết trả chủ đề d (ví dụ báo d thuộc mục thể thao, kinh doanh, công nghệ thông tin, v.v…) Các phương pháp thực Để giải tốn PLVB ta sử dụng phương pháp tay (manual) tự động phân loại máy (automatic classification) a) Phân loại tay (Hand-coded rule-based classification) Với số trường hợp đơn giản cần độ xác cao ta phân loại văn tay biết trước quy tắc cho việc phân loại Ví dụ để lọc thư rác, ta có số dấu hiệu biết trước thư rác (thường chứa từ “Great news”, dấu chấm than “!”, hay có đường dẫn phần nội dung v.v…), danh sách địa email “xấu” mà dựa vào ta tạo tay lọc thư rác Do đó, quy tắc để phân loại xây dựng chuyên gia ngành phương pháp có độ xác cao, nhiên u cầu có can thiệp người nhiều việc thường xuyên kiểm tra, cập nhật lọc, nên có nhược điểm lớn tốn thời gian xây dựng có chi phí cao cho việc trì Vậy để thay cho sức người tăng tốc độ trình phân loại, hệ thống tự động phân loại đưa vào sử dụng Những hệ thống tự động cịn giải nhiều vấn đề mà người khó làm tay được, mà ta tìm hiểu chúng phần b, c b) Phân loại hệ thống máy học (Machine learning-based systems) Trong máy học, toán PLVB tốn học giám sát (supervised learning) ta có tập liệu gồm văn gán nhãn, sử dụng để thực phân loại Một số thuật toán PLVB phổ biến máy học phải kể đến thuật toán phân loại Logistic https://web.stanford.edu/~jurafsky/slp3/slides/7_NB.pdf regression, Naïve Bayes, Support vector machines Do học có giám sát nên chúng theo cấu trúc chung sau: Hình 1: Giai đoạn huấn luyện học có giám sát Bước huấn luyện (training) giai đoạn học tập mơ hình PLVB Ở bước này, mơ hình học từ liệu gồm văn nhãn gán sẵn Đầu tiên, máy tính hiểu liệu dạng số nên ta có bước số hóa liệu dạng văn thành dạng véc tơ nhiều chiều mà chiều đặc trưng, thơng qua trích xuất đặc trưng (feature extractor) (phần số hóa văn đề cập tới mục 3d này) Từ đặc trưng thu thập đó, thuật tốn máy học học đưa mơ hình để tự động phân loại kết tốt tập liệu Bằng phương pháp phân tích kết huấn luyện dựa đánh giá hệ thống phân lớp qua độ xác/ độ bao phủ (precicion/ recall) mà mơ hình máy học tối ưu hóa Hình 2: Dự đốn cho liệu học có giám sát Tiếp theo, bước dự đoán (prediction) giai đoạn ta sử dụng mơ hình PLVB sau huấn luyện trước Đầu vào liệu cần dự đốn, thực bước trích xuất đặc trưng mơ hình máy học đưa kết phân loại mà dự đốn.2 Cụ thể hơn, ta xem xét ví dụ mơ hình phân loại máy học cho toán phân loại chủ đề cho báo điện tử bên Việc tự động phân loại văn vào chủ đề https://monkeylearn.com/text-classification/ giúp cho việc xếp, lưu trữ truy vấn tài liệu dễ dàng sau, giúp biên tập viên tổng hợp thơng tin, tóm tắt tin tức nhanh chóng v.v… Dữ liệu huấn luyện (các báo chủ đề) Bài báo Dự đoán Thuật toán phân loại văn Tiền xử lý liệu Bài báo phân loại Trích xuất đặc trưng (features) Huấn luyện Hình 3: Phân loại chủ đề cho báo điện tử máy học Ở bước huấn luyện, ta có liệu đầu vào báo điện tử chủ đề tương ứng với Sau báo áp dụng kỹ thuật tiền xử lý liệu bản, ví dụ như bỏ từ xuất nhiều văn mà khơng có ý nghĩa lớn (như từ: “a”, “an”, “the” tiếng Anh) Những từ gọi stopwords, sau loại bỏ chúng ta trích xuất đặc trưng báo dựa việc tách từ Kết bước véc tơ có chứa đặc trưng báo, tập hợp từ “quan trọng” để biểu diễn báo Lấy ví dụ cho véc tơ đặc trưng đơn giản sau: ta có từ điển gồm từ {Vietnam, is, an, emerging, economy, world, domination}, văn “Vietnam is an emerging economy.” Sau tách từ, ta véc tơ đặc trưng (1, 1, 1, 1, 1, 0, 0) Véc tơ sử dụng làm luyện huấn luyện cho thuật toán máy học mà ta chọn, mà viết tìm hiểu hai thuật tốn máy học cho PLVB Naïve Bayes Support vector machine Cuối cùng, ta có mơ hình dự đoán chủ đề cho báo điện tử sau bước huấn luyện bên trên, ta đưa liệu báo vào, mơ hình cho ta kết dự đốn chủ đề báo Sau ta tìm hiểu hai thuật tốn máy học thường dùng có hiểu cao cho PLVB, Naïve Bayes Support vector machines i) Naïve Bayes classification Xét toán phân loại với C lớp 1, 2…, c Giả sử có văn d cần tính xác suất mà văn d rơi vào lớp c, ta cần tính xác suất có điều kiện bên dưới: 𝑃(𝑦 = 𝑐|𝑑) viết gọn thành P(c | d) Nghĩa tính xác suất để đầu lớp c biết đầu vào véc tơ d Một phương pháp phổ biến máy học để tính xác suất Nạve Bayes, dựa quy tắc Bayes từ tác giả tên Đầu tiên ta sử dụng ký hiệu sau: P(c): Xác suất xảy lớp c riêng nó, khơng quan tâm đến văn d Giá trị tính cách lấy tỉ lệ số điểm liệu tập huấn luyện rơi vào lớp chia cho tổng số lượng liệu tập huấn luyện Dưới ví dụ đơn giản để tính P(c) theo cách này: Huấn luyện Doc no Words apple green apple orange orange rose red red Lớp fruit P(fruit) = 2/3 fruit flower P(flower) = 1/3 Lớp “fruit” xuất lần văn nên xác suất xảy P(fruit) = 2/3 Lớp “flower” xuất lần văn nên xác suất xảy P(flower) = 1/3 P(d): Xác suất xảy d riêng nó, khơng quan tâm đến lớp c P(c | d) nói trên, xác suất xảy c biết d xảy Với quy tắc Bayes ta có: 𝑃(𝑐|𝑑) = 𝑃(𝑑|𝑐)𝑃(𝑐) 𝑃(𝑑) Biểu thức giúp tính xác suất để văn d rơi vào lớp Sau ta chọn lớp có xác suất cao làm kết dự đoán cho lớp d Dưới dạng cơng thức, với 𝑐𝑀𝐴𝑃 (lớp có xác suất cao nhất), ta viết: Do P(d) khơng đổi nên để tìm lớp có xác suất cao ta bỏ phần mẫu số P(d) Tùy vào loại liệu mà ta có cách tính P(d|c) khác Với liệu dạng số nhị phân, ta dùng mơ hình Gaussian Nạve Bayes Bernoulli Nạve Bayes Cịn với dạng văn có nhiều đặc trưng mơ hình Multinomial Nạve Bayes thường sử dụng Khi văn d có n đặc trưng (features): 𝑥1 , 𝑥2 , … , 𝑥𝑛 để giúp cho việc tính tốn đơn giản, người ta thường đặt giả thiết thứ tự từ không quan trọng văn d (Bag of Word assumption) n đặc trưng d độc lập với nhau, biết c Lúc đó, xác suất xảy tất đặc trưng d, biết lớp c, tích xác suất có điều kiện chúng với nhau, biết c: Vậy 𝑐𝑀𝐴𝑃 (lớp có xác suất cao nhất) tính bằng: Nguồn: Stanford University3 Tất nhiên giả thiết thành phần liệu độc lập với khó xảy thực tế, giả thiết đơn giản lại khiến tốc độ huấn luyện nhanh mang lại kết tốt bất ngờ Đặc biệt tốn PLVB, phương pháp Nạve Bayes hoạt động tốt Một vấn đề xảy tính xác suất văn d thuộc lớp c phương pháp Multinomial Naïve Bayes đặc trưng có khả có tần suất xuất (ví dụ 𝑃(𝑥𝑖 |𝑐) = 0) Như đặc trưng ảnh hưởng tới kết xác suất cuối cùng, khiến kết (vì số nhân với 0) Một kỹ thuật phổ biến để tránh trường hợp xác suất cách làm mịn Laplace (Laplace smoothing) Khi sử dụng, ta https://web.stanford.edu/~jurafsky/slp3/slides/7_NB.pdf cộng số dượng bất kỳ, thường 1, vào tần suất quan sát Như giá trị thay đổi thành giá trị dương khác không khiến kết bị ảnh hưởng nhiều ii) Support vector machine Phần tìm hiều thuật tốn Máy véc tơ hỗ trợ (Support vector machines – SVM) Đầu tiên ta tìm hiểu khái niệm siêu phẳng: siêu phẳng ranh giới định giúp phân loại điểm liệu Các điểm liệu rơi hai bên siêu phẳng quy cho lớp khác Ngồi ra, kích thước siêu phẳng phụ thuộc vào số lượng tính Nếu số lớp đầu vào hai, siêu phẳng đường thẳng Nếu số lớp đầu vào ba, siêu phẳng trở thành mặt phẳng hai chiều Chúng ta khó tưởng tượng siêu phẳng số lớp vượt q ba SVM thuật tốn giúp tìm siêu phẳng không gian N chiều (N - số đối tượng) phân loại rõ ràng điểm liệu Để phân tách lớp điểm liệu, có nhiều siêu mặt phẳng chọn Mục tiêu SVM cố gắng cực đại hóa margin (khoảng cách siêu phẳng đến hai điểm liệu gần tương ứng với phân lớp), từ thu siêu phẳng tạo khoảng cách xa so với điểm gần Nhờ vậy, SVM giảm thiểu việc phân lớp sai (misclassification) điểm liệu đưa vào Hình 4: Phân lớp với thuật tốn SVM Ưu điểm: Xử lý khơng gian số chiều cao Tiết kiệm nhớ Tính linh hoạt - phân lớp thường phi tuyến tính Khả áp dụng kernel cho phép linh động phương pháp tuyến tính phi tuyến tính từ khiến cho hiệu suất phân loại lớn Nhược điểm: Bài toán số chiều cao: trường hợp số lượng thuộc tính (p) tập liệu lớn nhiều so với số lượng liệu (n) SVM cho kết khơng tốt Chưa thể rõ tính xác suất: Việc phân lớp SVM việc cố gắng tách đối tượng vào hai lớp phân tách siêu phẳng SVM Điều chưa giải thích xác suất xuất thành viên nhóm Tuy nhiên hiệu việc phân lớp xác định dựa vào khái niệm margin từ điểm liệu đến siêu phẳng phân lớp mà bàn luận c) Phân loại hệ thống học sâu (Deep learning-based systems) Các phương pháp phân loại văn truyền thống dựa máy học gặp số khó khăn liệu lớn, liệu thưa thớt bị bùng nổ số chiều đặc trưng (dimension explosion) Vì gần đây, nhiều phương pháp học sâu áp dụng để giải toán PLVB, mạng nơ ron tích chập (Convolution Neural Network - CNN), mạng nơ ron hồi quy (Recurrent neural network - RNN) mà ta tìm hiều sâu loại mạng mở rộng RNN, Long Short-Term memory network (LSTM) Trước hết, RNN mạng nơ ron hồi quy giải tốn có liệu mang tính chuỗi thời gian time-series, nhận dạng giọng nói, sáng tác nhạc xử lý ngôn ngữ tự nhiên NLP: dự đốn từ tiếp theo, dịch máy v.v… Vì vậy, RNN mạng lưu lại thơng tin từ bước tính tốn xử lý trước để dựa vào đưa dự đốn xác cho bước dự đốn Hình 5: Cấu trúc RNN RNN sử dụng thông tin văn dài, nhiên thực tế nhớ vài bước trước dần quên bước Vì mơ hình LSTM đời để khắc phục nhược điểm 10 Về bản, mơ hình LSTM khơng khác mơ hình truyền thống RNN, chúng sử dụng hàm tính tốn khác trạng thái ẩn Bộ nhớ LSTM gọi Cell tưởng tượng chúng hộp đen nhận đầu vào trạng thái phía trước ℎ𝑡−1 đầu vào 𝑥𝑡 Bên hộp đen tự định cần phải nhớ xố Sau đó, chúng kết hợp với trạng thái phía trước, nhớ đầu vào Vì mà ta ta truy xuất quan hệ từ phụ thuộc xa hiệu Hình 6: Cấu trúc LSTM Chìa khóa LSTM trạng thái Cell state - đường chạy thơng ngang phía sơ đồ hình vẽ Nó dạng giống băng truyền Nó chạy xuyên suốt tất mắt xích (các nút mạng) tương tác tuyến tính đơi chút Vì mà thơng tin dễ dàng truyền thông suốt mà không sợ bị thay đổi Một LSTM gồm có ba cổng để trì điều hành trạng thái Cell state Nhờ LSTM có khả bỏ thêm vào thơng tin cần thiết cho trạng thái Cell state, chúng điều chỉnh cẩn thận nhóm gọi cổng (gate) Hình 7: Một cổng LSTM Các cổng nơi sàng lọc thơng tin qua nó, chúng kết hợp tầng mạng sigmoid phép nhân Nhưng nhược điểm lớn mạng RNN thời gian chạy lâu tốn nhiều nhớ 11 d) Một số vấn đề với phân loại văn Trong xử lý ngôn ngữ tự nhiên, hầu hết văn tài liệu chứa nhiều từ thừa thãi khơng có nhiều ý nghĩa cho việc phân loại văn bản, chẳng hạn từ dừng, cách viết sai, tiếng lóng, v.v… Tại phần này, số kỹ thuật phương pháp cho việc tiền xử lý văn giải thích ngắn gọn Trong nhiều thuật toán phương pháp học thống kê xác suất, nhiễu đặc trưng không cần thiết ảnh hưởng tiêu cực đến hiệu suất tổng thể Vì vậy, việc loại bỏ đặc trưng vô quan trọng i Vấn đề chung phân loại văn Chữ viết hoa viết thường Đối với nhóm ngơn ngữ sử dụng chữ Latin, văn có nhiều câu, câu chứa hỗn hợp chữ hoa chữ thường: đầu dòng, tên riêng v.v… phải viết hoa Việc ảnh hưởng đến kết tốn Để giảm khơng gian vấn đề, cách tiếp cận phổ biến chuyển đổi tất thành chữ thường Tokenization Hiện nay, với số hạn chế cấu hình máy tính, việc đưa câu vào tính tốn, gây tốn nhiều tài nguyên gần Nên kĩ thuật tokenization đời để tối ưu trình Tokenization q trình chia nhỏ dịng văn thành từ, cụm từ, ký hiệu yếu tố có ý nghĩa khác gọi mã thơng báo Mục tiêu bước trích xuất từ riêng lẻ câu Cùng với phân loại văn bản, khai thác văn bản, cần phải kết hợp trình phân tích cú pháp đường ống thực mã hóa tài liệu Trong này, sử dụng chức word_tokenize thư viện nltk để tokenize câu thành từ riêng lẻ, dựa khoảng trắng dấu câu để phân tách Tuy việc khơng đảm bảo ý nghĩa câu, nghĩa từ phụ thuộc vào ngữ cảnh, tokenization giúp máy tính tốn nhanh đơn giản Ví dụ: “After sleeping for four hours, he decided to sleep for another four” Trong trường hợp này, sau tokenization câu có dạng: {'After', 'sleeping', 'for', 'four', 'hours', 'he', 'decided', 'to', 'sleep', 'for', 'another', 'four'} Ngồi cách trên, cịn dùng phương pháp n-gram, tức tách câu theo số lượng từ quy định sẵn one-gram, bi-gram, tri-gram Tuy hai cách vừa nêu có tốc độ nhanh dùng cho nhiều loại ngôn ngữ khác nhau, lại cho kết khơng tốt 12 từ có nghĩa có nhiều chữ Để khắc phục nhược điểm trên, tokenize theo từ có sẵn từ điển, để tìm từ điển có chất lượng khơng phải chuyện dễ Stopwords punctuation Văn thường chứa ký tự dấu chấm câu, ký tự đặc biệt từ khơng có ý nghĩa (trợ từ) chúng khơng cần thiết cho mục đích khai thác phân loại văn Mặc dù dấu câu quan trọng để hiểu ý nghĩa câu, ảnh hưởng tiêu cực đến thuật tốn phân loại Vì thế, trường hợp này, loại bỏ yếu tố ảnh hưởng thông qua stopwords dấu câu cung cấp sẵn Sai tả Một phần bước tiền xử lý sửa từ sai tả Có kỹ thuật khác nhau, chẳng hạn kỹ thuật sửa lỗi tả dựa hashing context-sensitive, sử dụng trie damerau-levenshtein distance bigram để giải vấn đề Word embedding Word embedding tên gọi chung mơ hình ngôn ngữ phương pháp học theo đặc trưng NLP, từ cụm từ ánh xạ sang véc tơ số (thường số thực) Word embedding phân chủ yếu thành hai loại: Frequency-based embedding Prediction-based embedding Trong này, sử dụng kĩ thuật TF-IDF để chuyển đổi liệu thành véc tơ Đây kĩ thuật embedding thuộc Frequency, nghĩa dựa vào tần số xuất từ để tạo véc tơ từ TF-IDF trọng số sử dụng để đánh giá tầm quan trọng từ văn Giá trị cao thể độ quan trọng cao phụ thuộc vào số lần từ xuất văn bù lại tần suất từ tập liệu Một vài biến thể TF-IDF thường sử dụng hệ thống tìm kiếm cơng cụ để đánh giá xếp văn dựa vào truy vấn người dùng TF-IDF sử dụng để lọc từ stopwords tốn tóm tắt văn phân loại văn a TF gì? TF: Term frequency (tần suất xuất từ) số lần từ xuất văn Vì văn có độ dài ngắn khác nên số từ xuất nhiều lần 13 văn dài văn ngắn Như vậy, term frequency thường chia cho độ dài văn (tổng số từ văn bản) tf (t,d) = 𝑓(𝑡,𝑑) max{𝑓(𝑤,𝑑): 𝑤 𝜖 𝑑} Trong đó: tf(t, d): tần suất xuất từ t văn d f(t, d): số lần xuất từ t văn d max({f(w, d) : w ∈ d}): số lần xuất từ có số lần xuất nhiều văn d b IDF gì? IDF: Inverse document frequency (nghịch đảo tần suất văn bản), giúp đánh giá tầm quan trọng từ Khi tính tốn TF, tất từ coi có độ quan trọng Nhưng số trợ từ thường xuất nhiều lần độ quan trọng không cao Như cần giảm độ quan trọng từ xuống idf (t,D) = |𝐷| |{𝑑𝜖𝐷: 𝑡𝜖𝐷| Trong đó: idf(t, D): giá trị idf từ t tập văn |D|: Tổng số văn tập D |{d ∈ D : t ∈ d}|: thể số văn tập D có chứa từ t Cuối cùng, ta có cơng thức tính TF-IDF sau: TF-IDF (t, d, D) = tf(t, d) * idf(t, D) Khi đó, từ có giá trị TF-IDF cao từ xuất nhiều văn này, xuất văn khác Việc giúp lọc từ phổ biến giữ lại từ có giá trị cao (từ khố văn đó) 14 ii Vấn đề riêng với tiếng Anh Stemming Trong tiếng Anh, từ có nhiều dạng, phụ thuộc vào ngữ cảnh câu (hiện tại, khứ, tương lai) hay chủ ngữ Ví dụ từ: “goes”, “went”, “going” biến thể từ gốc “go” Từ dẫn đến việc máy tính đưa nhận định sai ý nghĩa từ Vì thế, stemming đời, để biến đổi từ dạng gốc (được gọi stem root form) cách đơn giản loại bỏ số ký tự nằm cuối từ mà biến thể từ khác Stemming thường đề cập đến trình xử lý sử dụng tri thức người cách cắt phần cuối từ hy vọng đạt độ xác hầu hết lần chạy, thường bao gồm việc loại bỏ yếu tố phụ phát sinh “ing”, “ed”, “s” Hiện có nhiều giải thuật cho tiếng anh, giải thuật phổ biến có kết tốt thực nghiệm giải thuật Porter stemmer Giải thuật Porter bao gồm năm giai đoạn áp dụng Trong giai đoạn có quy ước khác để chọn quy tắc, chẳng hạn chọn quy tắc từ nhóm quy tắc ứng dụng cho hậu tố dài nhất, ví dụ giai đoạn đầu tiên, quy ước sử dụng theo nhóm quy tắc sau: Dạng từ Biến đổi SSES IES SS S SS I SS bỏ Lemmatization Lemmatization q trình nhóm từ biến dạng từ để chúng phân tích thành mục nhất, xác định bổ đề từ (lemma) dạng từ điển Trong computational linguistics, lemmatization giải thuật để xác định bổ đề từ dựa ý nghĩa dự định Khơng giống stemming, lemmatization phụ thuộc vào việc xác định xác từ loại ý nghĩa từ câu Ví dụ với từ “go” xuất dạng “goes”, “went”, “gone” Với hình thức từ “go”, ta tra cứu từ điển gọi lemma từ Lemmatization có mối liên hệ chặt chẽ với stemming Sự khác biệt stemming hoạt động từ mà 15 khơng có kiến thức ngữ cảnh, khơng thể phân biệt từ có ý nghĩa khác tùy thuộc vào từ loại chúng Ví dụ: Từ “better” có lemma từ “good” Với trường hợp stemming bỏ qua Từ “walk” dạng từ “walking”, hai giải thuật stemming lemmatization phù hợp để sử dụng Từ “meeting” có dạng danh từ động từ (“to meet”) tùy thuộc vào ngữ cảnh cụ thể, ví dụ “in our last meeting” “We are meeting again tomorrow” Không giống stemming, lemmatization cố gắng lựa chọn xác lemma để phù hợp với ngữ cảnh Lemmatization thường cho kết tốt so với stemming nhược điểm tốc độ xử lý chậm phải thực tra cứu tập từ điển Nếu thực tế vấn đề thời gian khơng quan trọng lemmatization lựa chọn tốt iii Vấn đề riêng với tiếng Việt Nhập nhằng Thứ nhất, khó khăn việc tách từ tiếng Việt rõ ràng ta sử dụng khoảng trắng dấu hiệu phân tách từ với Điều điểm khác tiếng Anh tiếng Việt cấp độ hai loại ngôn ngữ Trong tiếng Anh có sáu cấp độ âm vị (phoneme), hình vị (morpheme), từ (word), ngữ (phrase), câu (sentence), văn (text), tiếng Việt có thêm cấp độ Giữa hình vị từ cịn có cấp độ chữ Vậy từ gồm nhiều chữ tiếng Việt, ví dụ “hợp tác xã”, “câu lạc bộ” v.v… Điều khiến cho việc tách từ khó khăn so với thứ tiếng khác, bao gồm tiếng Anh Thay dựa vào khoảng trắng để tách ta cần phải có kỹ thuật khác phù hợp với đặc trưng tiếng Việt Việc xác định từ dựa vào thuật tốn so khớp từ dài (longest matching) từ điển Như tên nó, thuật tốn chữ ghép dần chữ vào khơng tìm thấy từ từ điển Ví dụ cho câu tách theo thuật tốn trên: Việc nhận diện ranh giới từ quan trọng tiền đề cho xử lý Kết tách từ: Việc/ nhận diện/ ranh giới/ từ/ là/ quan trọng/ và/ là/ tiền đề/ cho/ các/ xử lý/ 16 Thuật toán so khớp từ dài cho kết tách từ có độ xác cao có giải thuật đơn giản nên ta áp dụng q trình xử lý tiếng Việt Tuy nhiên phương pháp phụ thuộc nhiều vào chất lượng từ điển, đồng thời chưa thể giải số trường hợp nhập nhằng hai chữ từ hai từ Như từ “chanh chua” tính từ “chanh chua”, hai chữ riêng biệt: (quả) “chanh” “chua”.4 Vì thuật tốn cịn cần cải thiện thêm để xử lý vấn đề nhập nhằng Chuẩn hóa Kế đến, việc chuẩn hóa phơng chữ chuẩn hóa kiểu gõ dấu đặc trưng riêng xử lý ngôn ngữ tiếng Việt Hiện bảng mã Unicode “tổ hợp” Unicode “dựng sẵn” có kết hiển thị chuỗi máy tính khơng hiểu hai chuỗi khớp nhau.5 Do ta cần phải quy liệu chuẩn chung Unicode dựng sẵn Tương tự thế, kiểu bỏ dấu6 tiếng Việt khiến từ hiển thị khác bảng dưới: Cũ ịa, óa, ỏa, õa, ọa ịe, óe, ỏe, õe, ọe ùy, úy, ủy, ũy, ụy Mới oà, oá, oả, oã, oạ oè, oé, oẻ, oẽ, oẹ uỳ, uý, uỷ, uỹ, uỵ Vậy để giảm độ phức tạp, ta cần phải quy chúng chuẩn, tức sử dụng kiểu bỏ dấu Phần lập trình xử lý vấn đề tìm kiếm diễn đàn xử lý ngôn ngữ tiếng Việt Kết thực nghiệm Trong viết này, liệu báo điện tử Reuters sử dụng để thực hành giải toán phân loại báo theo chủ đề Đây liệu phổ biến nghiên cứu xử lý ngôn ngữ tự nhiên Reuters lấy từ trang UCI Machine Learning Resipotory Bộ liệu gốc gồm 90 lớp, 7769 training documents, 3019 testing documents, tổng cộng có 1.3 triệu chữ Với thư viện NLTK python, ta tải liệu xem chủ đề dễ dàng sau: https://techinsight.com.vn/en/vietnamese-word-segmentation-part-i https://nguyenvanhieu.vn/phan-loai-van-ban-tieng-viet/ https://vi.wikipedia.org/wiki/Quy_tắc_đặt_dấu_thanh_trong_chữ_quốc_ngữ https://archive.ics.uci.edu/ml/datasets/reuters-21578+text+categorization+collection 17 from nltk.corpus import reuters reuters.categories() >>>['acq', 'alum', 'barley', 'bop', 'carcass', 'castor-oil', 'cocoa', 'coconut', 'coconut-oil', 'coffee', 'copper', 'copra-cake', 'corn', 'cotton', 'cotton-oil', 'cpi', 'cpu', 'crude', 'dfl', 'dlr', ] Ta sử dụng mơ hình máy học Nạve Bayes, SVM Logistic regression để giả toán phân loại Kết ghi lại bảng dưới: Model SVM Logistic regression Naïve Bayes Accuracy score 0.771 0.769 0.387 Nhận xét: Thuật toán SVM cho kết tốt nhất, sau tới Logistic regression Cuối Nạve Bayes có kết tệ Các kết cải thiện cách chuẩn hóa lại liệu, giảm chiều véc tơ đặc trưng v.v… mà ta cần thêm thời gian nghiên cứu Qua tiểu luận toán phân loại văn bản, thấy nhiều ứng dụng thực tế số phương pháp phổ biến để giải toán Các kỹ thuật tiền xử lý liệu khó khăn riêng xử lý ngôn ngữ tiếng Việt đề cập Ở phần thực nghiệm, liệu Reuters sử dụng để thực hành toán phân loại chủ đề cho báo điện tử Các kết từ máy học truyền thống tạm chấp nhận không tốt Điều vấn đề đa nhãn nhiều mẫu, tức báo có nhiều chủ đề điều khiến giải thuật máy học làm việc khơng hiệu Trong tương lai, ta làm liệu tiếp cận toán với nhiều phương pháp khác, ví dụ học sâu, để đưa kết tốt 18 ... Một số vấn đề với phân loại văn i Vấn đề chung phân loại văn ii Vấn đề riêng với tiếng Anh iii Vấn đề riêng với tiếng Việt Kết thực nghiệm Ngọc Ngọc, Trang Mở đầu ứng dụng phân loại văn Cùng với... c) Phân loại hệ thống học sâu (Deep learning-based systems) 10 d) Một số vấn đề với phân loại văn 12 i Vấn đề chung phân loại văn 12 ii Vấn đề riêng với tiếng... iii Vấn đề riêng với tiếng Việt 16 Kết thực nghiệm 17 Bảng phân công Mở đầu ứng dụng phân loại văn Định nghĩa phân loại văn Các phương pháp thực Ngọc a) Phân loại tay