đề tài text categorization phân loại văn bản (chương 16)

38 371 0
đề tài   text categorization phân loại văn bản (chương 16)

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

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

Thông tin tài liệu

ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN KHOA CÔNG NGHỆ THÔNG TIN NGUYỄN MINH THÀNH – 10 12 042 ĐỒ ÁN MÔN HỌC XỬ LÝ NGÔN NGỮ TỰ NHIÊN Đề tài: Text Categorization Phân Loại Văn Bản (Chương 16) Dựa trên tài liệu: Foundations Of Statistical Natural Language Processing Christopher D.Manning, Hinrich Schutze TP.HCM – 01/2011 MỤC LỤC 1. Tóm tắt đồ án 1 2. Bài toán phân loại văn bản 2 2.1 Giới thiệu 2 2.2 Phát biểu bài toán 2 2.3 Mô hình tổng quát 3 2.3.1 Giai đoạn huấn luyện 4 2.3.2 Giai đoạn phân lớp 5 2.4 Tiền xử lý văn bản 6 2.5 Phương pháp biểu diễn văn bản 7 2.5.1 Mô hình không gian vector 7 2.5.2 Khái niệm trọng số 7 2.6 Đánh giá bộ phân lớp 9 2.6.1 Macro-Averaging 11 2.6.2 Micro-Averaging 11 3. Các phương pháp phân loại văn bản 12 3.1 Thuật toán Naïve Bayes 12 3.1.1 Định lý 12 3.1.2 Thuật toán 13 3.1.3 Áp dụng trong phân loại văn bản 15 3.2 Cây quyết định (Decision Tree) 18 3.2.1 Khái niệm 18 3.2.2 Thuật toán xây dựng cây 19 3.2.2.1 Thuật toán ID3 19 3.2.2.2 Các độ đo trong thuật toán : 20 3.2.2.3 Ví dụ 20 3.2.3 Áp dụng vào phân loại văn bản 23 3.2.3.1 Biểu diễn văn bản 23 3.2.3.2 Giai đoạn huấn luyện 24 3.2.3.3 Cross-validation 28 3.2.3.4 Giai đoạn phân lớp 29 3.3 Mô hình xác xuất Entropy tối đại (Maximum Entropy Modeling) 29 3.3.1 Entropy 29 3.3.1.1 Khái niệm 29 3.3.1.2 Entropy của biến ngẫu nhiên 30 3.3.2 Áp dụng vào phân loại văn bản 30 3.3.2.1 Biểu diễn văn bản 30 3.3.2.2 Hàm đặc trưng và ràng buộc 31 3.3.2.3 Một số kí hiệu : 31 3.3.2.4 Mô hình 31 3.3.2.5 Thủ tục huấn luyện Generalized iterative scaling 32 3.3.2.6 Giai đoạn phân lớp 34 5. Tài liệu tham khảo 35 1 1. Tóm tắt đồ án Phần này trình bày sơ lược về bài toán “Phân loại văn bản” được đề cập đến trong cuốn sách “Foundations Of Statistical Natural Language Processing” và các phương pháp để thực thi bài toán phân loại văn bản theo phương pháp thống kê. 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 toá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 toán rất thường gặp trong thực tế điển hình như : một nhà chuyên phân tích thị thường chứng khoán, anh ta cần phải tổng hợp rất nhiều tài liệu, bài viết về thị trường chứng khoán để đọc và đưa ra phán đoán của mình. Tuy nhiên, anh ta không thể đọc tất cả các bài viết, bài báo hay các tài liệu để rồi phân loại chúng đâu là tài liệu chứng khoán sau đó anh ta mới đọc kỹ chúng cho mục đích của anh ta. Lý do của vấn đề này là bởi ví số lượng bào viết, bài báo hiện nay rất nhiều, đặc biệt là trên internet, nếu để đọc hết được tất cả tài liệu đó thì sẽ mất rất nhiều thời gian. Một ví dụ khác trong thực tế là việc phân loại spam mail. Khi một mail được gửi đến hộp thư, nếu để người dùng phải đọc tất cả các mail thì sẽ tốn rất nhiều thời gian vì spam mail rất nhiều. Vì vậy, cần có một hệ thống phân loại đâu là spam mail và đâu là mail tốt. Để giải bài toán này đã có rất nhiều phương pháp được đưa ra như : thuật toán Naïve Bayes, K-NN (K-Nearest-Neighbor), Cây quyết định (Decision Tree), Mạng Neuron nhân tạo (Artificial Neural Network) và SVM (Support Vector Machine). Mỗi phương pháp đều cho kết quả khá tốt cho bài toán này, tuy nhiên để có được sự so sánh đầy đủ, ở các phân sau chúng ta sẽ đi vào chi tiết từng phương pháp. Đồ án nêu ra chi tiết các bước thực hiện bài toán “Phân Loại Văn Bản” trong lĩnh vực xử lý ngôn ngữ tự nhiên và một số cách tiếp cận để giải quyết bài toán cũng những kết quả đã đạt được dựa trên một số những ví dụ thử nghiệm của tác giả trong cuốn sách này. 2 2. Bài toán phân loại văn bản Phần này trình bày về chi tiết các bước thực hiện bài toán phân loại văn bản như mô hình biểu diễn, các độ đo cũng như các phương pháp đánh giá kết quả thực hiện bài toán phân loại văn bản. 2.1 Giới thiệu Như đã trình bày ở trên, bài toán phân loại văn bản là một bài toán quan trọng trong xử lý ngôn ngữ. Có khá nhiều bài toán phân loại trong lĩnh vực xử lý ngôn ngữ tự nhiên như : gán nhãn từ loại (POS tagging), khử nhập nhằng nghĩa từ vựng (Word Sense Disambiguation) và gán nhãn ngữ tính từ (Prepositional Phrase Attachment)… Mỗi bài toán phân loại đều có các đối tượng thao tác khác nhau và mục tiêu phân loại khác nhau. Trong bài toán gán nhãn từ loại (POS tagging) và khử nhập nhằng nghĩa từ vựng (Word Sense Disambiguation), thì từ được xem là đối tượng nội dung cần thao tác (mức độ từ). Trong gán nhãn ngữ tính từ (Prepositional Phrase Attachment) thì một ngữ là đối tượng nội dung cần thao tác. Còn trong bài toán phân loại văn bản thì một văn bản (document hay text) là đối tượng nội dung cần thao tác. Hình 2.1: Các bài toán phân loại trong xử lý ngôn ngữ tự nhiên 2.2 Phát biểu bài toán Bài toán phân loại văn bản có thể được phát biểu như sau : Cho trước một tập văn bản D={d 1 ,d 2 ,…,d n } và tập chủ đề được định nghĩa C={c 1 ,c 2 ,…,c n }. Nhiệm vụ của bài toán là gán lớp d i thuộc về c j đã được định nghĩa. Hay nói cách khác, mục tiêu của bài toán là đi tìm hàm  : 3  : DxC  Boolean              nếu d thuộc về lớp c      nếu d không thuộc về lớp c Trong các thử nghiệm của tác giả, ông đã sử dụng các bài viết tin tức của hãng tin Reuters, cũng như danh sách các chủ đề tin tức của hãng này. Hình 2.2: Ví dụ về một bản tin tức của Reuters Các chủ đề tin tức của Hãng Reuters với hơn 100 chủ đề và số lượng bài viết (văn bản) tác giả sử dụng trong các thử nghiệm này là 12,902 bài viết. 2.3 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 dựa trên 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ê… 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 là máy học đó là : học có giám sát, học không giám sát và học tăng cường. 4 Vấn đề phân loại văn bản theo phương pháp thống kê dựa trên kiểu học có giám sát được đặc tả bao gồm 2 giai đoạn : giai đoạn huấn luyện và giai đoạn phân lớp. 2.3.1 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 hoặc nhiều lớp mà chúng ta sẽ thể hiện chúng bằng một mô hình mã hoá (được trình bày chi tiết ở Phương pháp biểu diễn văn bản). 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 đị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. Nhưng làm thế nào để đánh giá được họ các tham số là tối ưu ? Câu hỏi này sẽ được trình bày trong phần Đánh giá bộ phân lớp. Hình 2.3: Mô hình giai đoạn huấn luyện Đầu vào : ngữ liệu huấn luyện và thuật toán huấn luyện Đầu ra : mô hình phân lớp (bộ phân lớp – classifier) Một ví dụ về một họ các tham số cho bộ phân loại nhị phân :            . Ở đây, bộ phân loại nhị phân chỉ phân loại cho 2 lớp. Chúng ta gọi lớp c 1 là lớp với các văn bản có      và lớp c 2 là lớp với các văn bản có     .Họ các tham số cần xác định là vector     và ngưỡng   . Chi tiết giai đoạn huấn luyện bộ phân lớp 5 Hình 2.4: Chi tiết giai đoạn huấn luyện Trong đó :  Ngữ liệu huấn luyện : kho ngữ liệu thu thập từ nhiều nguồn khác nhau.  Tiền xử lý : chuyển đổi tài liệu trong kho ngữ liệu thành một hình thức phù hợp để phân loại.  Vector hoá : mã hoá văn bản bởi một mô hình trọng số (chi tiết ở phần Phương pháp biểu diễn văn bản).  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 họ 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 họ 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ộ. 2.3.2 Giai đoạn phân lớp Sau khi đã hoàn thành 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. 6 Hình 2.5: Mô hình giai đoạn phân lớp Chi tiết giai đoạn phân lớp Hình 2.6: Mô hình giai đoạn phân lớp 2.4 Tiền xử lý văn bản Văn bản trước khi được vector hoá, tức là trước khi sử dụng, cần phải được tiền xử lý. Quá trình tiền xử lý sẽ giúp 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. Tuỳ vào mục đích bộ phân loại mà chúng ta sẽ có những phương pháp tiền xử lý văn bản khác nhau, như :  Chuyển vẳn bản về chữ thường Loại bỏ dấu câu (nếu không thực hiện tách câu) Loại bỏ các kí tự đặc biệt biệt([ ],[.], [,], [:], [“], [”], [;], [/], [[]], [~], [`], [!], [@], [#], [$],[%],[^],[&],[*],[(],[)]), các chữ số, phép tính toán số học Loại bỏ các stopword (những từ xuất hiện hầu hết trong các văn bản) không có ý nghĩa khi tham gia vào phân loại văn bản.  … 7 2.5 Phương pháp biểu diễn văn bản Một trong những nhiệm vụ đầu tiền trong việc xử lý phân loại văn bản là chọn được một mô hình biểu diễn văn bản thích hợp. Một văn bản ở dạng thô (dạng chuỗi) cần được chuyển sang một mô hình khác để tạo thuận lợi cho việc biểu diễn và tính toán. Tuỳ thuộc vào từng thuật toán phân loại khác nhau mà chúng ta có mô hình biểu diễn riêng. Một trong những mô hình đơn giản và thường được sử dụng trong nhiệm vụ này là mô hình không gian vector. Một văn bản trong nhiệm vụ này được biểu diễn theo dạng , với   là một vector n chiều để đo lường giá trị của phần tử văn bản. 2.5.1 Mô hình không gian vector Mô hình không gian vector là một trong những mô hình được sử dụng rộng rãi nhất cho việc tìm kiếm (truy hồi) thông tin. Nguyên nhân chính là bởi vì sự đơn giản của nó. Trong mô hình này, các văn bản được thể hiện trong một không gian có số chiều lớn, trong đó mỗi chiều của không gian tương ứng với một từ trong văn bản. Phương pháp này có thể biểu diễn một cách hình tượng như sau : mỗi văn bản D được biểu diễn dưới dạng (vector đặc trưng cho văn bản D). Trong đó,          , và n là số lượng đặc trưng hay số chiều của vector văn bản,   trọng số của đặc trưng thứ i (với 1 i  n). Như vậy, nếu trong kho ngữ liệu của quá trình huấn luyện nhiều văn bản, ta kí hiệu D j , là văn bản thứ j trong tập ngữ liệu, và vector              là vector đặc trưng cho văn bản D j , và x ij là trọng số thứ i của vector văn bản   . 2.5.2 Khái niệm trọng số Một vấn đề quan trọng nữa trong việc biểu diễn một văn bản đó là tính trọng số cho vector đặc trưng của văn bản. Có nhiều cách khác nhau để tính trọng số này như :  Word frequency weighting  Boolean weighting  tf*idf weighting [...]... biểu diễn văn bản 3.2.3.2 Giai đoạn huấn luyện Như đã trình bày ở phân thuật toán, để xây dựng cây phân lớp, chúng ta sẽ đi từ nút gốc chứa tất cả các văn bản cần phân loại Trong thử nghiệm của tác giá, ông đã dùng 7681 văn bản để huấn luyện Và mục tiêu là phân lớp văn bản thuộc về chủ đề “earning” Trong đó có, 2304 văn bản thuộc chủ đề cần phân loại, còn lại là 5377 văn bản không thuộc nhóm chủ đề đó... từ i trong văn bản j : chiều dài của văn bản j Nếu từ i không xuất hiện trong văn bản thì wij sẽ được gán là 0 Ví dụ, trong một văn bản từ “profit” xuất hiện 6 lần, và chiều dài của văn bản là 89 từ, thì trọng số cho từ “profit” là và được làm tròn là 5 Mặc dù đã có phương pháp để biểu diễn văn bản, tuy nhiên vấn đề là sử dụng bao nhiêu đặc trưng và nhưng đặc trưng nào để biểu diễn cho văn bản đó Cách... nhánh trái => Xnew thuộc lớp No Áp dụng vào phân loại văn bản 3.2.3 3.2.3.1 Biểu diễn văn bản Như đã trình bày, có nhiều phương pháp để biểu diễn (vector hoá) văn bản Trong phạm vi tài liệu đang tham khảo, tác giá đã sử dụng một cách đơn giản để biểu diễn văn bản như sau : ( Gọi ) là vector biểu diễn văn bản, và wij là các trọng số của các đặc trưng trong văn bản Trọng số của các đặc trưng được tính theo... = 2/5 P(strong|yes) = 3/9 P(strong|no) = 3/5 Bước 2 : Phân lớp Xnew = {sunny, cool, high, strong} Tính các xác suất P(yes)*P(Xnew|yes) = 0.005 P(no)* P(Xnew|no) = 0.021 Xnew thuộc vào lớp No 3.1.3 Áp dụng trong phân loại văn bản Để áp dụng thuật toán Naïve Bayes vào phân loại văn bản, ta cần thực hiện các bước tiền xử lý và vector hoá các văn bản trong tập huấn luyện Các phương pháp tiền xử lý và... Precision và Recall cho bảng thống kê lớn đó Công thức micro-averaging : ∑| | ∑| | ( ∑| ∑| | ( 11 ) | ) 3 Các phương pháp phân loại văn bản Phần này trình bày một số phương pháp phân loại văn bản phổ biến hiện nay theo phương pháp thống kê : thuật toán Naïve Bayes, Cây quyết định, Maximun Entropy Modeling và KNN Phần này cũng trình bày một số ví dụ về cách thực hiện các phương pháp phân loại 3.1 Thuật toán... { ( ( )) ( ) Trong đó, N là tổng số văn bản Biểu thức thứ nhất áp dụng cho các từ có xuất hiện trong văn bản, còn biểu thức thứ hai cho các từ không xuất hiện trong văn bản 2.6 Đánh giá bộ phân lớp Sau khi đã tìm được họ các tham số tối ưu cho bộ phân lớp (hay có thể nói là bộ phân lớp đã được huấn luyện xong), nhiệm vụ tiếp theo là cần phải đánh giá (kiểm tra) bộ phân lớp đó cho kết quả như thế nào?... trong văn bản làm được trưng và số lượng chọn phải hợp lý Tuy nhiên, trong phân loại văn bản, không phải những từ xuất hiện nhiều trong văn bản là những đặc trưng tốt Do đó, ta cần phải sử dụng một độ đo tốt hơn để quyết định chọn xem đặc trưng nào 23 Trong chương này, tác giả đã sử dụng độ đo 2 (đọc là chi-square test) 20 2 đặc trưng có độ đo  = ∑ ( ) cao nhất được sử dụng để biểu diễn văn bản Ở... hiện của từ wi trong văn bản dj), document frequency (dfi số văn bản có chứa từ wi), collection frequency (cfi số lần suất hiện của từ wi trong cả tập ngữ liệu) Trong đó, và ∑ Thông tin được nắm bắt bởi term frequency là sự nổi bật của thông tin (hay từ) trong một văn bản Term frequency càng cao (số lần xuất hiện càng nhiều trong văn bản) thì đó là từ miêu tả tốt cho nội dung văn bản Giá trị thứ hai,... H(p1,p2,…,pM) . bài toán phân loại văn bản theo phương pháp thống kê. 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 toán này là gán các tài liệu văn bản vào nhóm. 10 12 042 ĐỒ ÁN MÔN HỌC XỬ LÝ NGÔN NGỮ TỰ NHIÊN Đề tài: Text Categorization Phân Loại Văn Bản (Chương 16) Dựa trên tài liệu: Foundations Of Statistical Natural Language Processing. hiện bài toán phân loại văn bản. 2.1 Giới thiệu Như đã trình bày ở trên, bài toán phân loại văn bản là một bài toán quan trọng trong xử lý ngôn ngữ. Có khá nhiều bài toán phân loại trong lĩnh

Ngày đăng: 27/06/2014, 11:55

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan