Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 64 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
64
Dung lượng
1,42 MB
Nội dung
Bootstrapping bằng thư viện số ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHAI PHÁ DỮ LIỆU Bootstrapping Phân Lớp Văn Bản bằng Nguồn Tài Nguyên Thư Viện Số Giảng viên hướng dẫn PGS.TS. Đỗ Phúc Học viên: Huỳnh Lê Quốc Vương MHV: CH1101158 Bootstrapping bằng thư viện số 11 – 2012 ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHAI PHÁ DỮ LIỆU Bootstrapping Phân Lớp Văn Bản bằng Nguồn Tài Nguyên Thư Viện Số Giáng viên hướng dẫn PGS.TS. Đỗ Phúc Học viên: Huỳnh Lê Quốc Vương MHV: CH1101158 Bootstrapping bằng thư viện số 11 – 2012 MỤC LỤC Bootstrapping bằng thư viện số LỜI MỞ ĐẦU Automatic Text Classification (ATC) hay Categorization là quá trình tự động gán các tài liệu văn bản thuộc ngôn ngữ tự nhiên vào một hay nhiều mục/lớp tương ứng với nội dung của chúng. ATC là một lĩnh vực con của Information Retrieval (IR). Biết được chủ đề của các văn bản tài liệu có thể nâng cao hiệu năng cho các hệ thống IR trong độ chính xác và tốc độ. Ngoài ra, phân lớp văn bản còn tác động đến các phương pháp tìm kiếm dựa trên keyword mà ở đó chúng trả về một khối kết quả lớn mà người dùng phải lọc một cách thủ công. Hơn nữa, các tài liệu được phân lớp theo một cơ chế phân lớp chuẩn cho phép người sử dụng duyệt theo chủ đề. Với sự phát triển cực kỳ nhanh của các tài liệu điện tử và các lợi ích của việc phân lớp tài liệu, sự phát triển của các hệ thống ATC và các ứng dụng của chúng như đã nói ở trên đã thu hút các nhà nghiên cứu từ các cộng đồng machine learning, information retrieval, và data management. Một số ví dụ của việc phân lớp tài liệu như phân lớp các webpage, sắp xếp email, các bài báo, tin tức hay cho các mục đích nào đó của người sử dụng. Các thuật toán Machine Learning (ML) đã trở thành cách tiếp cận phổ biến nhất cho ATC từ những năm 1990 cho đến nay. Thực tế, các hệ thống ATC dựa trên ML đã chứng minh cho sự thành công to lớn trong phần lớn các ứng dụng với phân lớp văn bản chẳng hạn như lọc spam, phân mục tin tức, bài báo, và phân loại các webpage. Tuy nhiên, các hệ thống này cần phải có một lượng lớn các tài liệu, văn bản được phân lớp trước cho mỗi chủ đề/mục/lớp để huấn luyện cho các thuật toán ML, và phần lớn các trường hợp này thì các dữ liệu huấn luyện không có sẵn. Trong các tình huống này, người ta thường nhờ Bootstrapping bằng thư viện số những người chuyên gia để phân loại, lập mục để tạo ra một tập dữ liệu huấn luyện được gán nhãn. Tuy nhiên, quá trình này thì quá tốn kém tiền bạc cũng như thời gian và không thực tế trong nhiều trường hợp. Chẳng hạn, một một cơ chế phân lớp với kích cỡ trung bình là 1000 lớp, số lượng tài liệu cần được gán nhãn để huấn luyện là 100 cho mỗi lớp. Thì người phân loại sẽ phán gán nhãn cho 100,000 tài liệu. Ngoài ra, cơ chế phân lớp có thể bị thay đổi và dữ liệu huấn luyện lúc đầu có thể không sử dụng được nữa do lỗi thời (chẳng hạn các khái niệm nào đó thay đổi theo thời gian). Các vấn đề này đòi hỏi phải thực hiện lại quá trình gán nhãn thủ công tốn kém để giữ cho tập dữ liệu huấn luyện được cập nhật và chính xác. Bài thu hoạch này sẽ giới thiệu tổng quan về phân lớp văn bản tự động, như lịch sử, thảo luận về các khía cạnh khác nhau của các hệ thống ATC như các ứng dụng, các phương pháp theo Machine Learning (ML), các phương pháp để biểu diễn/mô hình văn bản, các kỹ thuật chọn và giảm các đặc trưng, các độ đo hiệu năng, và các tập dữ liệu kiểm chuẩn. Tiếp theo, là giới thiệu một phương pháp bootstrapping cho các hệ thống phân lớp dựa trên nguồn tài nguyên thư viện điện tử để giải quyết vấn đề tốn kém khi gán nhãn văn bản bằng tay hoặc không có dữ liệu chuẩn để huấn luyện bộ phân lớp. Sau cùng là phần hiện thực phương pháp đó cũng như đánh giá kết quả thử nghiệm. Lời cảm ơn, em chân thành xin dành cho thầy Phúc vì những kiến thức của Thầy mang lại để giúp em có được cũng như hoàn thành tốt bài thu hoạch này. Bootstrapping bằng thư viện số I. Phân Lớp Văn Bản Tự Động 1. Giới Thiệu Trong phần này ta sẽ giới thiệu một cách tổng quan về lĩnh vực Automatic Text Classification/Categorisation (ATC) và thảo luận về các khía cạnh khác nhau của các hệ thống ATC như các ứng dụng, các phương pháp theo Machine Learning (ML), các phương pháp để biểu diễn/mô hình văn bản, các kỹ thuật chọn và giảm các đặc trưng, các độ đo hiệu năng, và các tập dữ liệu kiểm chuẩn. ATC là quá trình tự động gán các tài liệu văn bản ngôn ngữ tự nhiên vào một hay nhiều mục/lớp tương ứng với nội dung của chúng. Nó có thể được chia thành ba loại như sau: - Binary classification: ở đây chỉ có hai mục/lớp duy nhất, và một văn bản chưa được gán nhãn sẽ chỉ thuộc về một một trong hai lớp đó. Một ví dụ thường thấy của kiểu này là các hệ thống lọc spam, nội dung của một email sẽ được phân loại thành spam hay không spam. - Multi class classification: ở đây có nhiều hơn hai mục/lớp, nhưng một văn bản chỉ có thể thuộc về một lớp. - Multi label classification: ở đây có nhiều hơn hai mục/lớp, và một văn bản có thể thuộc về nhiều lớp. Phụ thuộc vào ứng dụng, một hệ thống ATC có thể được yêu cầu thực hiện phân lớp “cứng” hoặc phân lớp “mềm”. Phân lớp cứng cung cấp một giá trị chân trị {True, False} để chỉ sự thuộc về hay không thuộc về của một văn bản đối với một mục/lớp nào đó. Phân lớp cứng được sử dụng phần lớp trong các Bootstrapping bằng thư viện số bộ phân lớp hoàn toàn “tự trị”, có nghĩa là các kết quả không cần được xác nhận lại bởi những chuyên gia phân loại như trong giai đoạn cuối. Ngược lại, phân lớp mềm cung cấp một con số thực giữa 0.0 và 1.0 để chỉ mức độ phụ thuộc của một văn bản đối với một mục/lớp nào đó. Điều này hữu ích cho các hệ thống ATC mà việc phân lớp các tài liệu cuối cùng được quyết định bởi những người phân lớp bằng cách sử dụng các đề nghị bởi các hệ thống phân lớp tự động. ATC xuất hiện vào những năm đầu 1960. Tuy nhiên, qua hai thập kỷ, do sự phát triển bùng nổ của các tài liệu điện tử trên Internet, intranet, và các thư viện số. Do đó, đã nảy sinh nhu cầu cần phải có các hệ thống tự động có khả năng quản lý các khối dữ liệu lớn, ATC đã thu hút một lượng lớn các nhà nghiên cứu làm việc trong nhiều lĩnh vực như: khai khá dữ liệu, truy hồi thông tin, quản lý dữ liệu, máy học, xử lý ngôn ngữ tự nhiên, và các thư viện số. Cho đến cuối những năm 1980, Knowledge Engineering (KE) là cách tiếp cận phổ biến nhất để hiện thực các hệ thống ATC. Nói chung, các tiếp cận này đòi hỏi việc định nghĩa bằng tay một tập luật để mã hóa các kiến thức của chuyên gia về việc làm thế nào để phân lớp văn bản theo các mục/lớp đã cho. Ví dụ nổi tiếng nhất của cách tiếp cận này là hệ thống Construe. Trong những năm 1990, với sự tiến bộ trong lĩnh vực máy học và sự phát triển của phần cứng với khả năng xử lý hàng ngàn tài liệu trong một thời gian ngắn hợp lý, các thuật toán máy học được chấp nhận rộng rãi trong ATC và thay thế đi các phương pháp dựa trên luật. Trong cách tiếp cận sau này, các thuật toán máy học đóng vai trò các kỹ sư kiến thức tương ứng với các hệ thống dựa trên luật và tự động học các đặc tính phân biệt cho từng lớp bằng cách phân tích một tập tài liệu mẫu được phân lớp trước cho từng lớp. Ưu điểm của cách tiếp cận này là: Bootstrapping bằng thư viện số - Tập trung kỹ thuật vào việc xây dựng một bộ xây dựng tự động các bộ phân lớp (người học) thay vì xây dựng từng bộ phân lớp riêng lẻ. Do đó, nếu tập các mục/lớp bị cập nhật hay nếu hệ thống bị chuyển sang lĩnh vực khác, tất cả điều cần là một tập tài liệu được phân lớp khác để học. - Các hệ thống dựa vào máy học yêu cầu hiểu rõ lĩnh vực cho việc gán nhãn, trái ngược với việc thông thạo kỹ thuật xây dựng tri thức trong trường hợp cho các hệ thống dựa trên luật. - Đôi khi các tài liệu được phân lớp đã có sẵn, điều này giảm một phần lớn chi phí và thời gian cho việc xây dựng tập dữ liệu huấn luyện cho các chuyên gia để phát triển một hệ thống ATC dựa vào máy học. Ví dụ như phát triển một hệ thống ATC để tự động phân lớp các tài liệu nghiên cứu liên quan đến khoa học máy tính giống như ACM Computing Classification System (ACM-CCS). Trong trường hợp này, có sẵn một số lượng lớn các bài báo nghiên cứu trong thư viện số ACM tại http://portal.acm.org/dl.cfm, những bài báo này được phân lớp bằng tay theo ACM-CSS và có thể được sử dụng cho việc huấn luyện một bộ phân lớp dựa vào máy học. 2. Các ứng dụng ATC Dưới đây sẽ mô tả các ứng dụng ATC phổ biến nhất: - Tổ chức tài liệu: tự động lập chủ đề cho các bài báo, tạp chí, các bài báo hội nghị, quảng cáo, … - Tổ chức các thư viện số: các thư viện số quy mô lớn chứa hàng ngàn hạng mục và do đó yêu cầu triển khai các kỹ thuật truy hồi thông tin và vấn tin linh hoạt để cho phép người sử dụng dễ dàng tìm thấy những mục mà họ mong muốn. Để cung cấp những kết quả tìm kiếm với độ chính xác cao, ta Bootstrapping bằng thư viện số cần phải vượt qua các kỹ thuật tìm kiếm truyền thống dựa vào keyword, mà ở đó chúng trả về một khối lượng lớn các kết quả mà không đánh giá nội dung. Việc phân lớp các tài liệu trong một thư viện số dựa trên một cơ chế được định nghĩa trước sẽ nâng cao độ chính xác trong việc truy vấn thông tin đáng kể và cho phép người sử dụng duyệt tập hợp theo chủ đề. - Phân lớp các webpage: phân lớp nội dung văn bản của webpage thực chất là các công việc như: crawling, bán tự động xây dựng thư mục web, và phân tích cấu trúc chủ đề web. Phân lớp webpage có thể giúp cho việc nâng cao chất lượng tìm kiếm web. - Lọc spam: trong hình thức đơn giản, thì lọc spam có thể được xem như là một tác vụ phân loại văn bản mà chỉ có hai lớp là spam và không spam, hợp lệ. Nhiều thuật toán máy học có giám sát đã thành công khi áp dụng vào việc lọc spam email. - Nhận dạng thể loại văn bản tự động: thể loại trên văn bản có các đặc điểm khác hơn so với các nội dung chủ đề thông thường. Thể loại văn bản hay kiểu của văn bản thì được xem như là đặc trưng cho mục đích của văn bản được viết. Ví dụ cho các thể loại là: bài báo nghiên cứu, tiểu thuyết, thơ, tin tức, quảng cáo, … Các ứng dụng dựa trên văn bản ngày càng có nhiều thể loại khác nhau, do đó phân loại theo thể loại rất hữu ích cho nhiều mục đích. - Lọc web: các request tới các web nào đó sẽ được lọc và nội dung của các web trả về sẽ được phân tích để chặn nội dung không mong muốn. Lọc web có hai ứng dụng chính sau: Bootstrapping bằng thư viện số o Bảo vệ chống lại nội dung không thích hợp: Internet đã trở thành một nguồn thông tin vô cùng quan trọng. Tuy nhiên, nó cũng nơi chứa hàng loạt nội dung không thích hợp, cụ thể là cho trẻ em. Lọc web có thể được sử dụng để ngăn chặn các truy cập đến các trang web mà được dựa vào một chính sách, luật định trước. o Ngăn chặn chống lại sự lạm dụng tài nguyên mạng: mục đích chính ở đây là để ngăn chặn sự lạm dụng tài nguyên trong một tổ chức nào đó. Một vấn đề thường thấy trong nhiều tổ chức là cung cấp truy cập Internet cho nhân viên mà phần lớn tài nguyên mạng được sử dụng cho các ứng dụng như chat, game, download video, audio. Việc lạm dụng như thế sẽ giảm năng suất, hiệu năng tải trên toàn bộ mạng và do đó, sẽ làm trở ngại cho các hoạt động chính đáng. 3. Các phương pháp máy học cho ATC 3.1. Naïve Bayes (NB) Định lý cơ sở cho thuật toán phân lớp văn bản Naïve Bayes là luật Bayes, cho thấy sự quan hệ giữa một xác suất có điều kiện và hình thức đảo ngược của nó. Nó được biểu diễn như sau: trong đó, - là xác suất tiên nhiệm hay xác suất biên của một sự kiện cho trước. Nó là “tiên nghiệm” theo nghĩa rằng nó không quan tâm đến bất kỳ thông tin nào về B. - là xác suất có điều kiện của , biết Nó còn được gọi là xác suất hậu nhiệm bởi vì nó được suy ra từ hay phụ thuộc vào giá trị của . [...]... y = 1: văn bản thuộc về chủ đề sim(: độ tương tự giữa văn bản cần phải phân loại x và văn bản Chúng ta có thể sử dụng độ đo cosine để tính khoảng cách: sim( là ngưỡng phân loại của lớp được tự động học sử dụng một tập văn bản hợp lệ được chọn ra từ tập huấn luyện Bootstrapping bằng thư viện số 4 Biểu diễn văn bản Tài liệu văn bản, bởi vì chúng không thể được “hiểu” bởi các thuật toán phân lớp Do... hợp Bootstrapping bằng thư viện số II Hệ Thống ATC Bootstrapping bằng Thư Viện Số Có nhiều thông số ảnh hưởng đến độ chính xác của một hệ thống ATC theo máy học - Cơ chế phân lớp, ví dụ., phẳng so với phân cấp - Lĩnh vực của tài liệu, ví dụ., tin tức điện tử và các bài báo khoa học - Số lượng và chất lượng của tài liệu - Sự phân bố tần số tài liệu qua các lớp trong tập huấn luyện, tức là vấn đề phân. .. của một lớp chính là tổng tất cả các khoảng cách ở trên của các văn bản trong k láng giềng có cùng lớp, lớp nào không xuất hiện trong k láng giềng sẽ có trọng số bằng 0 Sau đó các lớp sẽ được sắp xếp theo giá trị trọng số giảm dần và lớp có trọng số cao sẽ được chọn là lớp cho văn bản cần phân loại Trọng số của lớp đối với văn bản x được tính như sau: trong đó: thuộc {0,1}, với: y = 0: văn bản không... trị của nhãn lớp i gán cho tài liệu j: - : là các trường hợp đồng thời cả bộ phân lớp và chuyên gia phân lớp - đồng ý gán nhãn lớp i cho tài liệu j : là các trường hợp khi bộ phân lớp đã nhầm lẫn(theo phán đoán bởi - chuyên gia phân lớp) gán nhãn lớp i cho tài liệu j : là các trường hợp khi bộ phân lớp đã thất bại (theo phán đoán bởi chuyên gia phân lớp) để gán một nhãn lớp i chính xác cho tài liệu j... các từ phân biệt mà xuất hiện trong tất cả các tài liệu huấn luyện Xác suất tiên nhiệm có thể được tính bằng cách đem chia số lượng tài liệu thuộc cho tổng số lượng tài liệu huấn luyện Và nếu một tài liệu được phân loại đến lớp thích hợp nhất thì cho tài liệu đó được xác định như sau: Bootstrapping bằng thư viện số ở đây S là một tập hợp tất cả các lớp đích có khả năng và là tần số của từ k trong tài. .. chủ đề của tập dữ liệu Bootstrapping bằng thư viện số 6.2 Reuters-21578 Đây là một tập dữ liệu kiểm thử phổ biến khác cho công việc phân lớp văn bản Nó chứa 21578 tài liệu được công bố vào năm 1987 Chúng được gán nhãn bằng tay bởi các nhân viên Reuters Tổng số lượng lớp trong tập dữ liệu này là 672, nhưng nhiều lớp thì hiếm khi xảy ra Vài tài liệu thuộc nhiều lớp khác nhau, một số khác thuộc chỉ một,... phân lớp của họ thì cần có một lược đồ phân lớp tổng quát bao phủ hầu như tất cả chủ đề mà con người quan tâm Lược đồ phân lớp tổng quát này sẽ cho phép người sử dụng tạo ra lược đồ phân lớp riêng cho họ Ta sẽ xem xét các hệ thống thư viện cho mục đích này Một hệ thống thư viện sẽ định mã và tổ chức các tài nguyên của họ theo các chủ đề Các hệ thống thư viện đã sử dụng những người biên mục để phân lớp. .. macroaveraging được tính bằng cách tính điểm số cho mỗi lớp (tức là ) và sau đó tính điểm số trung bình cho mỗi lớp Trong khi micro-averaging, số điểm được Bootstrapping bằng thư viện số tính qua toàn thể tất cả các lớp Đó là điều quan trọng phân biệt giữa macroaveraging và micro-averaging Micro-averaing cho điểm số như nhau cho mỗi tài liệu, và do đó được xem là trung bình trên mỗi tài liệu (chính xác... về phân loại văn bản Ý tưởng của phương pháp này là khi cần phân loại một văn bản mới, thuật toán sẽ xác định khoảng cách (có thể áp dụng các công thức về khoảng cách như Euclide, Cosine, Manhattan, …) của tất cả các văn bản trong tập huấn luyện đến văn bản này để tìm ra k văn bản gần nhất, gọi là k láng giềng gần nhất, sau đó dùng các khoảng cách này đánh trọng số cho tất cả các lớp Khi đó, trọng số. .. của mục từ trong tài liệu , N là số lượng tài liệu trong tập dữ liệu, và n là số lượng tài liệu mà mục từ xuất hiện trong đó ít nhất một lần là độ đo tần số tài liệu nghịch đảo Bootstrapping bằng thư viện số 4.1 Vấn đề chiều lớn Các văn bản tài liệu tự nhiên chứa một số lượng lớn các từ và do đó biểu diễn vector của chúng có số chiều rất lớn, mà điều này trong nhiều thuật toán máy học không dễ giải quyết . Bootstrapping bằng thư viện số ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHAI PHÁ DỮ LIỆU Bootstrapping Phân Lớp Văn Bản bằng Nguồn Tài Nguyên Thư Viện Số Giảng. CH1101158 Bootstrapping bằng thư viện số 11 – 2012 ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHAI PHÁ DỮ LIỆU Bootstrapping Phân Lớp Văn Bản bằng Nguồn Tài Nguyên Thư Viện Số Giáng. CH1101158 Bootstrapping bằng thư viện số 11 – 2012 MỤC LỤC Bootstrapping bằng thư viện số LỜI MỞ ĐẦU Automatic Text Classification (ATC) hay Categorization là quá trình tự động gán các tài liệu văn bản