Một giải thuật Tri-train chỉnh sửa và ứng dụng vào bài toán phân lớp câu hỏi

36 292 0
Một giải thuật Tri-train chỉnh sửa và ứng dụng vào bài toán phân lớp câu hỏi

Đ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 HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ NGUYỄN MINH HẢI MỘT GIẢI THUẬT TRI-TRAIN CHỈNH SỬA VÀ ỨNG DỤNG VÀO BÀI TOÁN PHÂN LỚP CÂU HỎI Ngành: Công nghệ Thông tin Chuyên ngành: Hệ thống thông tin Mã số: 60 48 01 04 LUẬN VĂN THẠC SĨ HỆ THỐNG THÔNG TIN NGƯỜI HƯỚNG DẪN KHOA HỌC: TS.NGUYỄN TRÍ THÀNH Hà Nội - 2014 2! Một giải thuật Tri-train chỉnh sửa và ứng dụng vào bài toán phân lớp câu hỏi LỜI CAM ĐOAN Tôi xin cam đoan kết quả đạt được trong luận văn là sản phẩm của riêng cá nhân tôi, không sao chép lại của người khác. Trong toàn bộ nội dung của luận văn, những điều đã trình bày là của cá nhân tôi hoặc là được tôi tổng hợp từ nhiều nguồn tài liệu. Tất cả các nguồn tài liệu tham khảo có xuất xứ rõ ràng và được trích dẫn hợp pháp. Tôi xin chịu toàn bộ trách nhiệm và chịu mọi hình thức kỷ luật theo quy định cho lời cam đoan của tôi. Hà Nội, tháng 10 năm 2014 Nguyễn Minh Hải ! ! 3! Một giải thuật Tri-train chỉnh sửa và ứng dụng vào bài toán phân lớp câu hỏi MỤC LỤC LỜI CAM ĐOAN 2! MỤC LỤC 3! DANH MỤC CÁC TỪ VIẾT TẮT 5! DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ 6! MỞ ĐẦU 7! Chương 1. Giới thiệu bài toán và các nghiên cứu liên quan 8! 1.1. Hệ thống hỏi đáp 8! 1.2. Vị trí của bài toán phân lớp câu hỏi trong hệ thống hỏi đáp 9! 1.3. Bài toán phân lớp câu hỏi 11! 1.4. Các đề tài nghiên cứu liên quan 12! 1.5. Các hướng giải quyết bài toán phân lớp câu hỏi hiện nay 17! 1.6. Lựa chọn định hướng giải quyết bài toán của luận văn 18! Chương 2. Mô hình giải quyết bài toán 20! 2.1. Lựa chọn giải pháp và mô hình giải quyết bài toán 20! 2.2. Cơ sở lý thuyết 20! 2.2.1. Học bán giám sát 20! 2.2.2. Các thuật toán học bán giám sát 20! 2.2.3. Tri-Train 21! 2.2.3.1. Tri-Train gốc 21! 2.2.3.2. Tri-Train cải tiến 23! 2.3. Giải pháp cải tiến 25! 2.3.1. Đề xuất cải tiến 25! Chương 3. Thực nghiệm 27! 3.1. Dữ liệu và công cụ cho thực nghiệm 27! 3.2. Kết quả thực nghiệm Tritrain 28! 3.2.1. Kịch bản thực hiện: 28! 4! Một giải thuật Tri-train chỉnh sửa và ứng dụng vào bài toán phân lớp câu hỏi 3.2.2. Đánh giá hiệu quả của việc sử dụng Tri-Train 28! 3.2.2.1. Hiệu quả cải thiện với 1000 dữ liệu đã được gán nhãn 28! 3.2.2.2. Hiệu quả cải thiện với 2000 dữ liệu đã được gán nhãn 29! 3.2.2.3. Hiệu quả cải thiện với 3000 dữ liệu đã được gán nhãn 30! 3.2.2.4. Hiệu quả cải thiện với 4000 dữ liệu đã được gán nhãn 31! 3.3. Đánh giá chung 31! KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN TƯƠNG LAI 34! TÀI LIỆU THAM KHẢO 35! 5! Một giải thuật Tri-train chỉnh sửa và ứng dụng vào bài toán phân lớp câu hỏi DANH MỤC CÁC TỪ VIẾT TẮT QA Question Answering System TREC Text Retrieval Conference NN Nearest Neighbors NB Naïve Bayes DT Decision Tree SNoW Sparse Network of Winnows SVM Support Vector Machines MEM Maximum Entropy Model CQA Community Question Answering CoCQA Co-Training Over Questions and Answers 6! Một giải thuật Tri-train chỉnh sửa và ứng dụng vào bài toán phân lớp câu hỏi DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ Hình 1.2: Các module chức năng chính của một hệ thống hỏi đáp.! Hình 1.3: Bài toán phân lớp câu hỏi.! Hình 1.4: Mô hình tổng quan hệ thống phân lớp câu hỏi của Kadri Hacioglu và Wayne Ward.! Hình 1.5: Các hướng giải quyết bài toán phân lớp câu hỏi.! Hình 4.1: Biểu đồ đánh giá hiệu quả cải thiện kết qủa với tập dữ liệu đã được gán nhãn là 1000.! Hình 4.2: Biểu đồ đánh giá hiệu quả cải thiện kết qủa với tập dữ liệu đã được gán nhãn là 2000.! Hình 4.3: Biểu đồ đánh giá hiệu quả cải thiện kết qủa với tập dữ liệu đã được gán nhãn là 3000! Hình 4.4: Biểu đồ đánh giá hiệu quả cải thiện kết qủa với tập dữ liệu đã được gán nhãn là 4000! 7! Một giải thuật Tri-train chỉnh sửa và ứng dụng vào bài toán phân lớp câu hỏi MỞ ĐẦU Các hệ thống hỏi đáp (Question Answering System) là một trong những hướng quan trọng trong xử lý ngôn ngữ tự nhiên. Một trong những thành phần quan trọng của các hệ thống này là module phân lớp câu hỏi. Chất lượng của module này có ý nghĩa rất quan trọng vì nó xác định được miền dữ liệu cũng như phương pháp trích chọn câu trả lời cho câu hỏi đưa ra. Luận văn tập trung tìm hiểu các phương pháp nhằm làm tăng hiệu năng phân lớp của module phân lớp câu hỏi. Bài toán phân lớp câu hỏi đã được đặt ra và giải quyết từ khá lâu với hai hướng chủ đạo: dựa trên luật và dựa trên xác suất, tuy nhiên cho đến nay nó vẫn là bài toán đượ c nhiều người quan tâm. Luận văn tập trung khảo sát các phương pháp được áp dụng cho phân lớp câu hỏi. Trên cơ sở đó lựa chọn nghiên cứu về giải thuật học bán giám sát. Trong các giải thuật học bán giám sát, tác giả lựa chọn nghiên cứu cách cải tiến giải thuật Tri-Train áp dụng cho bài toán phân lớp câu hỏi. Kế thừa trên một đề xuất cải tiến của Nguyễn Trí Thành và các cộng sự được công bố vào năm 2008, luận văn đưa ra đề xuất cải tiến và thực hiện nhiều thử nghiệm minh họa sau đó thống kê và phân tích các thử nghiệm. Luận văn được tổ chức như sau: Chương 1: giới thiệu về hệ thống hỏi đáp, tầm quan trọng của module phân lớp câu hỏi và phát biểu bài toán phân lớp câu hỏi. Chương 2: khảo sát các đề tài nghiên cứu liên quan đến phân lớp câu hỏi và những thành tựu nghiên cứu trên thế giới đã đạt được. Chương 3: trình bày sơ lược về học bán giám sát, giải thuật Tri-Train, đưa ra và trình bày chi tiết đề xuất chỉnh sửa nhằm tăng hiệu quả cho bài toán phân lớp câu hỏi. Chương 4: trình bày quá trình làm thực nghiệm và các kết quả đạt được. Tác giả xin chân thành cảm ơn sự hướng dẫn và chỉ bảo tận tình của thầy Nguyễn Trí Thành, cảm ơn các thầy cô giáo trong khoa Hệ Thống Thông Tin trường Đạ i học Công nghệ - Đại học Quốc Gia Hà Nội đã tạo điều kiện giúp tác giả hoàn thành luận văn này. Hà Nội, tháng 10 năm 2014 Nguyễn Minh Hải 8! Một giải thuật Tri-train chỉnh sửa và ứng dụng vào bài toán phân lớp câu hỏi Chương 1. Giới thiệu bài toán và các nghiên cứu liên quan Mở đầu chương này sẽ giới thiệu về hệ thống hỏi đáp nói chung. Sau đó chỉ ra vị trí, vai trò của bài toán phân lớp câu hỏi trong hệ thống hỏi đáp. Cuối cùng, phát biểu dưới dạng toán học bài toán phân lớp câu hỏi. 1.1. Hệ thống hỏi đáp Hệ thống hỏi đáp có thể được xem như bước kế tiếp của quá trình tìm kiếm thông tin, cho phép người dùng đặt các câu hỏi bằng ngôn ngữ tự nhiên và nhận về những câu trả lời ngắn gọn. Để đáp ứng nhu cầu tìm kiếm hiệu quả cho các yêu cầu của người dùng cần có một hệ thống đủ thông minh, nhanh chóng và trả lời chính xác nhất cho các câu hỏi. Chính từ nhu cầu này, hệ thống hỏi đáp tự động QA (Question Answering System) đã được đề xuất, nghiên cứu tìm hướng giải quyết. Hệ thống này nhằm mục đích trả lời cho các câu hỏi tự nhiên trong thời gian ngắn nhất, chi phí tối thiểu và hiệu quả tối đa. Năm 2000, Jaime Carbonell và các cộng sự đã sớm đưa ra các tiêu chuẩn chung cho việc nghiên cứu QA [6]. Theo đó, một hệ thống hỏi đáp được người dùng đánh giá là hữu ích nếu đáp ứng được các tiêu chuẩn: - Tính hợp lý về thời gian: câu trả lời phải được đưa ra trong thời gian ngắn, ngay cả khi có hàng ngàn người dùng cùng truy nhập hệ thống một lúc. Các nguồn dữ liệu mới cần phải được tích hợp vào hệ thống ngay khi chúng sẵn sàng để có thế cung cấp cho người dùng câu trả lời cho những câu hỏi về các sự kiện có tính thời sự. - Tính chính xác: thách thức này là cực kì quan trọng bởi việc đưa ra câu trả lời sai còn tai hại hơn nhiều là không đưa ra câu trả lời. Nghiên cứu về QA cần tập trung vào việc đánh giá tính đúng đắn của câu trả lời đưa ra, bao gồm cả phương thức để phát hiện các trường hợp mà dữ liệu hiện thời không chứa câu trả lời cho câu hỏi. Các thông tin mâu thuẫn trong dữ liệu cũng cần được tìm ra và các thông tin này cần được xử lý theo một cách phù hợp, nhất quán. Để đạt được sự chính xác, hệ thống QA cần được tích hợp các nguồn tri thức và quá trình học suy luận thông thường. - Tính khả dụng: hệ thống QA cần đáp ứng được các yêu cầu cụ thể của một người dùng. Các ontology trên từng miền cụ thể và ontology trên miền mở cần được tích hợp trong hệ thống. Hệ thống QA cần có khả năng khai phá câu trả lời từ bất kì dạng dữ liệu gì (văn bản, web, cơ sở dữ liệu, …) và đưa ra câu trả lời dưới định dạng mà người dùng mong muốn, cho phép người dùng miêu tả ngữ cảnh của câu hỏi và cung cấp các thông tin 9! Một giải thuật Tri-train chỉnh sửa và ứng dụng vào bài toán phân lớp câu hỏi giải thích, trích dẫn nguồn cho câu trả lời. - Tính hoàn chỉnh: câu trả lời hoàn chỉnh cho câu hỏi của người dùng là điều mà các hệ thống QA hướng tới. Trong nhiều trường hợp (câu hỏi về danh sách, nguyên nhân, cách thức…), các phần của câu trả lời nằm rải rác trong một văn bản, thậm chí trong nhiều văn bả n. Vì vậy cần phải hợp nhất các phần này dựa trên các thông tin liên kết để tạo ra câu trả lời hoàn chỉnh. - Tính thích hợp của câu trả lời: trong ngôn ngữ tự nhiên, câu hỏi đưa ra luôn gắn với ngữ cảnh nào đó và câu trả lời cũng nằm trong một ngữ cảnh nhất định. Câu trả lời mà hệ thống QA đưa ra phải phù hợp ngữ cảnh với câu hỏi. Một hệ thống QA có khả năng tương tác là cần thiết trong nhiều trường hợp bởi chuỗi các câu hỏi liên quan đến một vấn đề sẽ giúp làm sáng tỏ thông tin mà người dùng đang hỏi. Việc đánh giá một hệ thống QA cần hướng người dùng bởi ý kiến người dùng là đánh giá tốt nhất cho tính thích hợp của câu trả lời. Hệ thống hỏi đáp tự động là hệ thống được xây dựng để thực hiện việc tìm kiếm tự động câu trả lời từ một tập lớn các tài liệu cho câu hỏi đầu vào một cách chính xác. QA hiện đang thu hút sự quan tâm của rất nhiều nhà nghiên cứu từ các trường đại học, các viện nghiên cứu cũ ng như các công ty lớn hàng đầu trên thế giới [15]. Nhiều hội nghị lớn về xử lý ngôn ngữ tự nhiên được tổ chức hàng năm như Coling, Text Retrieval Conference (Trec)… đều có nhữ ng phần dành riêng cho những nghiên cứu liên quan đến hệ thống hỏ i đáp. 1.2. Vị trí của bài toán phân lớp câu hỏi trong hệ thống hỏi đáp Hệ thống hỏi đáp ngày càng trở nên phổ biến và phong phú trong nhiều lĩnh vực và ứng dụng trong cuộc sống. Phân lớp câu hỏi là một module quan trọng trong hệ thống này (hình 1.2). Do vậy bài toán phân lớp câu hỏi càng trở nên cần thiết và quan trọng. Chức năng chính của nó là phân các câu hỏi vào các lớp giúp giảm đáng kể không gian tìm kiếm câu trả lời, độ chính xác của nó đóng vai trò quan trọng trong hiệu quả của hệ thống hỏi đáp. 10! Một giải thuật Tri-train chỉnh sửa và ứng dụng vào bài toán phân lớp câu hỏi Hình 1.2: Các module chức năng chính của một hệ thống hỏi đáp. Trong đó các bước tiến hành như sau 1. Người dùng nhập câu hỏi qua giao diện web/mobile app… 2. Hệ thống sử dụng module phân lớp câu hỏi để xác định lĩnh vực của câu hỏi để tìm kiếm, bước này là bước rất quan trọng, nếu bư ớc này phân lớp sai lĩnh vự cần hỏi thì gần như hoàn toàn là câu trả lời sẽ không chính xác. 3. Sau khi đã xác định được lĩnh vực/nội dung cần tìm câu trả lời, hệ thống sẽ chuẩn hoá câu hỏi theo format của hê thống, format này có [...]... vực/miền/nhóm của câu hỏi Phát biểu: cho tập hợp N các câu hỏi đã được gán nhãn và danh sách các nhãn lớp Cho một câu hỏi A bất kỳ, xác định nhãn lớp cho câu hỏi A Một giải thuật Tri-train chỉnh sửa và ứng dụng vào bài toán phân lớp câu hỏi 12   Module phân lớp câu hỏi Thuật toán luyện và các quy luật phân lớp Câu hỏi A chưa được phân lớp Trích chọn các đặc trưng và gán nhãn lớp Lớp 1 A được xếp vào lớp i A... thuật toán khi đưa vào giải quyết bài toán phân lớp câu hỏi 2.2.2 Các thuật toán học bán giám sát Self-Train xuất hiện vào năm 1960, là kỹ thuật học bán giám sát đầu tiên hỗ trợ sử dụng dữ liệu chưa gán nhãn trong phân lớp Với cách thức sử dụng “dự đoán” của nó để luyện chính nó, ban đầu Self-Train huấn luyện một bộ phân lớp Một giải thuật Tri-train chỉnh sửa và ứng dụng vào bài toán phân lớp câu hỏi. .. công, việc phân lớp các câu hỏi chính xác là một nhân tố quan trọng [5] Hệ thống phân lớp câu hỏi bao gồm hai thành phần chính: một nguyên tắc phân loại các câu trả lời và một máy phân loại 1.3 Bài toán phân lớp câu hỏi Phân lớp câu hỏi có thể được hiểu theo cách thông thường là: cho một câu hỏi (đại diện bởi các đặc trưng), gán câu hỏi đó vào một nhóm hoặc một tập nhóm (hình 1.3) Đầu vào: câu hỏi ở dạng... xếp vào lớp j Dữ liệu mẫu và danh sách các lớp Lớp i Lớp j Lớp n-1 Lớp n Hình 1.3: Bài toán phân lớp câu hỏi Tuy nhiên bằng cách áp dụng định nghĩa của phân loại văn bản vào vấn đề phân lớp câu hỏi, Håkan Sundblad cũng đã phát biểu lại bài toán phân lớp câu hỏi như sau [5]: Định nghĩa 1: phân lớp câu hỏi là công việc gán một giá trị kiểu bool cho mỗi cặp < 𝑞! , 𝑐! >∈ 𝑄×𝐶 với Q là lĩnh vực các câu hỏi. .. suất phân lớp khi số lượng lớp là khá lớn Các câu hỏi được phân lớp một cách tuần tự bởi phân lớp thô và một phân lớp tinh Nghiên cứu được công bố trong bài báo [9] Họ cũng đưa ra khuyến cáo: mặc dù một câu hỏi có thể thuộc về nhiều lớp nhưng đề xuất chỉ nên phân câu hỏi vào lớp có xác suất cao nhất trong số các lớp có thể xếp vào Ngoài ra, bài báo [9] còn đề xuất hướng giải quyết bài toán phân lớp câu. .. chọn Tri-Train để nghiên cứu, cải tiến và áp dụng vào bài toán phân lớp câu hỏi Do vậy ở phần tiếp theo tác giả sẽ trình bày kĩ hơn về thuật toán Tri-Train và đưa ra đề xuất cải tiến 2.2.3 Tri-Train 2.2.3.1 Tri-Train gốc Giải thuật Tri-Train gốc mà Zhou và Li đề xuất [13] sử dụng ba bộ phân lớp với cùng một giải thuật Tri-Train: luyện ba phân lớp với cùng một thuật toán giống nhau Trong giải thuật. .. thuật toán Learni để tạo ra hi từ Viewi của tập nguồn ban đầu L Các thực nghiệm của [10] đã sử dụng hai giải thuật SVM và MEM với hai khung nhìn bag-of-word và bag-of-pos&word Hai bộ phân lớp đầu tiên sử dụng giải thuật thứ nhất và hai khung nhìn khác nhau, bộ phân lớp thứ ba sử dụng giải thuật còn lại với đặc trưng bag-of-word: Một giải thuật Tri-train chỉnh sửa và ứng dụng vào bài toán phân lớp câu. .. phương pháp phân lớp câu hỏi mở rộng Họ đã nghiên cứu về giá trị đại diện các câu hỏi, trọng số và các thuật toán học máy và làm Một giải thuật Tri-train chỉnh sửa và ứng dụng vào bài toán phân lớp câu hỏi 17   các thực nghiệm trên dữ liệu thực tế Kết quả thực nghiệm cũng đã chỉ ra những dấu hiệu tốt trong việc cải thiện chất lượng phân lớp câu hỏi Năm 2012, trong bài báo [7], Jinzhong Xu và các cộng... thuật Tri-train chỉnh sửa và ứng dụng vào bài toán phân lớp câu hỏi 26   hi ← Learni (L∪Li); e’i ← ei; l’i ← |Li| 25 … Trong giả mã thuật toán trên: - Learni: là giải thuật phân lớp thứ i - Các bước thực hiện giống như ở thuật toán Tri-Train gốc (a), chỉ khác ở chỗ thay vì sử dụng hàm BootstrapSample(L) để tạo ra tập Si, rồi sử dụng thuật toán Learn để sinh ra bộ phân lớp hi thì ta sử dụng thuật toán. .. giám sát không cho hiệu quả tốt đối với các phân lớp tinh Do đó không áp dụng học bán giám sát cho các phân lớp tinh và có giám sát cho phân lớp thô Tuy nhiên phương pháp ứng dụng bán giám sát cho phân lớp tinh chưa mang lại kết quả tốt nhưng mở ra một vấn đề mới cho việc nghiên cứu xa hơn Một giải thuật Tri-train chỉnh sửa và ứng dụng vào bài toán phân lớp câu hỏi 16   Tiếp nối nghiên cứu [9], năm 2008, . nhãn lớp cho câu hỏi A. 12! Một giải thuật Tri-train chỉnh sửa và ứng dụng vào bài toán phân lớp câu hỏi A được xếp vào lớp i A được xếp vào lớp j Lớp n-1 Lớp n Lớp 1 Lớp j Lớp i Câu hỏi. pháp phân lớp câu hỏi mở rộng. Họ đã nghiên cứu về giá trị đại diện các câu hỏi, trọng số và các thuật toán học máy và làm 17! Một giải thuật Tri-train chỉnh sửa và ứng dụng vào bài toán phân lớp. tin 9! Một giải thuật Tri-train chỉnh sửa và ứng dụng vào bài toán phân lớp câu hỏi giải thích, trích dẫn nguồn cho câu trả lời. - Tính hoàn chỉnh: câu trả lời hoàn chỉnh cho câu hỏi của người

Ngày đăng: 11/07/2015, 10:37

Từ khóa liên quan

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

Tài liệu liên quan