luận văn về phân lớp câu hỏi tìm kiếm ngữ nghĩa tiếng Việt trong lĩnh vực y tế
ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Nguyễn Minh Tuấn PHÂN LỚP CÂU HỎI HƯỚNG TỚI TÌM KIẾM NGỮ NGHĨA TIẾNG VIỆT TRONG LĨNH VỰC Y TẾ KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành : Công nghệ thông tin HÀ NỘI - 2008 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Nguyễn Minh Tuấn PHÂN LỚP CÂU HỎI HƯỚNG TỚI TÌM KIẾM NGỮ NGHĨA TIẾNG VIỆT TRONG LĨNH VỰC Y TẾ KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành : Công nghệ thông tin Cán bộ hướng dẫn: PGS. TS. Hà Quang Thụy Cán bộ đồng hướng dẫn: Th.S Nguyễn Việt Cường HÀ NỘI - 2008 Lời cảm ơn Trước tiên, tôi xin gửi lời cảm ơn và lòng biết ơn sâu sắc nhất tới Phó Giáo sư Tiến sĩ Hà Quang Thụy và Thạc sỹ Nguyễn Việt Cường, người đã tận tình chỉ bảo và hướng dẫn tôi trong suốt quá trình thực hiện khoá luận tốt nghiệp. Tôi chân thành cảm ơn các thầy, cô đã tạo cho tôi những điều kiện thuận lợi để học tập và nghiên cứu tại tr ường Đại Học Công Nghệ. Tôi xin gửi lời cảm ơn chân thành tới Thạc Sỹ Nguyễn Cẩm Tú và Cử Nhân Nguyễn Thu Trang những đã tận tình hỗ trợ về kiến thức chuyên môn, giúp đỡ tôi hoàn thành khóa luận. Tôi cũng xin gửi lời cảm ơn tới các anh chị và các bạn sinh viên trong nhóm “Khai phá dữ liệu” đã giúp tôi rất nhiều trong việc thu thập và xử lý dữ liệu. Cuối cùng, tôi muốn gửi lời cả m vô hạn tới gia đình và bạn bè, những người thân yêu luôn bên cạnh và động viên tôi trong suốt quá trình thực hiện khóa luận tốt nghiệp. Tôi xin chân thành cảm ơn ! Sinh viên Nguyễn Minh Tuấn i Tóm tắt Cùng với sự ra đời của Web ngữ nghĩa và các Ontology, nhu cầu tìm kiếm ngữ nghĩa ngày càng nhận được nhiều sự quan tâm trong cộng đồng nghiên cứu về khai phá dữ liệu Web/Text. Mặt khác, phân lớp câu hỏi là một trong những thành phần cơ bản nhưng quan trọng nhất trong kiến trúc tổng thể của hầu hết các máy tìm kiếm ngữ nghĩa. Đây cũng là thành phần chịu nhiều sự ảnh hưởng củ a các đặc trưng ngôn ngữ và giữ vai trò nền tảng cho các bước xử lý nhằm hướng tới tìm kiếm ngữ nghĩa. Khóa luận này tập trung nghiên cứu phương pháp phân loại câu hỏi trong lĩnh vực y tế tiếng Việt dựa trên hướng tiếp cận cực đại hóa Entropy (maxent). Dựa trên việc khảo sát các đặc trưng tiếng Việt và các hướng tiếp cận trong phân lớp câu hỏi trên tiếng Anh, khóa luận đã tích hợp các đặ c trưng này vào quá trình phân lớp với Maxent và thu được kết quả khả quan. Những nội dung này có thể coi là những nghiên cứu đầu tiên trong vấn đề này trên tiếng Việt. ii Mục lục Tóm tắt .i Mục lục .ii Danh sách các bảng .iv Danh sách các hình .v Lời mở đầu 1 Chương I. Tổng quan về tìm kiếm ngữ nghĩa 2 1.1. Nhu cầu về máy tìm kiếm ngữ nghĩa .2 1.2. Cấu trúc tổng thể của một máy tìm kiếm ngữ nghĩa .2 1.2.1. Nền tảng cho tìm kiếm ngữ nghĩa 2 1.2.2.1. Web ngữ nghĩa 3 1.2.2.2. Ontology .4 1.2.2. Kiến trúc cơ bản của một máy tìm kiếm ngữ nghĩa .9 1.2.2.3. Giao diện ng ười dùng .10 1.2.2.4. Kiến trúc bên trong .10 Chương 2. Tìm kiếm ngữ nghĩa trong tiếng Việt .14 2.1. Tổng quan về cơ sở cho tìm kiếm ngữ nghĩa tiếng Việt 14 2.2. Một số đặc trưng của tiếng Việt 15 2.2.1 Đặc điểm ngữ âm .15 2.2.2 Đặc điểm từ vựng: 15 2.2.3 Đặc điểm ngữ pháp .16 2.3. Tìm kiếm ngữ nghĩa trong lĩnh vực y tế 16 2.3.1. Ontology Y tế trong tiếng Việt .16 2.3.2. Bộ phân lớp câu hỏi Y tế trong tiếng Việt .18 Chương 3. Các phương pháp phân lớp câu hỏi 19 3.1. Giới thiệu về phân lớp câu hỏi .19 3.2. Các phương pháp phân lớp câu hỏi .19 3.3. Hướng tiếp cận dựa trên xác suất 20 3.3.2 Các hướng tiếp cận theo phương pháp học máy 21 iii 3.3.1.1 Support Vector Machines (SVM) .21 3.3.1.2 Một số phương pháp khác 27 3.3.1.3 Thực nghiệm khi tiến hành phân lớp câu hỏi .28 3.3.3 Hướng tiếp cận dựa trên mô hình hình ngôn ngữ 31 3.3.3.1 Hướng tiếp cận Entropy cực đại .33 Chương 4. Thực nghiệm và đánh giá .37 4.1 Dữ liệu của thực nghiệm .37 4.2 Thiết kế thử nghiệm 38 4.3 Kết quả thực nghiệm .39 4.4 Đánh giá kết quả thực nghiệm 43 Kết luận .45 Tài liệu tham khảo 46 Tiếng Việt .46 Tiếng Anh .46 iv Danh sách các bảng Bảng 1: taxonomy của tập lớp câu hỏi thử nghiệm của Zhang .28 Bảng 2. Độ chính xác trên năm phân lớp Cha với các giải thuật khác nhau trong học máy, sử dụng vector đặc trưng bag-of-words. .29 Bảng 3. Độ chính xác trên năm phân lớp Cha với các giải thuật khác nhau trong học máy, sử dụng vector đặc trưng bag-of-Ngrams 30 Bảng 4. Độ chính xác trên các phân lớp con với các giải thuật khác nhau trong học máy, sử dụng vector đặc trưng bag-of-words. 30 Bảng 5. Độ chính xác trên các phân lớp con với các giải thuật khác nhau trong học máy, sử dụng vector đặc trưng bag-of-Ngrams .31 Bảng 6.Tập dữ liệu huấn luyện 37 Bảng 7. Tập dữ liệu kiểm tra 38 Bảng 8. Tham số huấn luyện mô hình SVM .39 Bảng 9. Tham số huấn luyện mô hình Entropy cực đại .39 Bảng 10. kết quả huấn luyện với SVM .39 Bảng 11. Kết quả 10 lần huấn luyện với Entropy cực đại 40 Bảng 12. Kết quả của bước lặp thứ 6 41 v Danh sách các hình Hình 1. Ví dụ về Web ngữ nghĩa .3 Hình 2. Ví dụ về Ontology Y tế 6 Hình 3. Sơ đồ của máy tìm kiếm ngữ nghĩa .9 Hình 5. Mối quan hệ giữa các siêu phẳng phân cách .23 Hình 6. Siêu phẳng tối ưu và biên. 24 Hình 7. Sơ đồ phân lớp câu hỏi với SVM 26 Hình 8. Đồ thị biểu diễn sự phụ thuộc của F1 vào số lần lặp .42 Hình 9. Tổng hợp độ đo 10 lần huấn luyện .42 1 Lời mở đầu Sự ra đời của Web ngữ nghĩa và các Ontology dẫn tới sự ra đời của các hệ thống tìm kiếm với sự hộ trợ của dạng thông tin mới này – hệ thống tìm kiếm ngữ nghĩa. Một hệ thống tìm kiếm ngữ nghĩa thông thường được xây dựng trên một miền và ngôn ngữ cụ thể. Cấu trúc nội tại của một hệ thống tìm kiếm ngữ nghĩ a điển hình bao gồm hai thành phần quan trọng mang đặc trưng ngôn ngữ đó là: (1) phân lớp câu hỏi và (2) cơ sở dữ liệu tri thứ (mạng ngữ nghĩa). Trong vài năm gần đây nhiều công trình nghiên cứu giải quyết bài toán phân lớp câu hỏi đã được công bố [16], [15], [19], [36], [42]. Ta có thể chia các thuật toán phân lớp câu hỏi thành hai hướng tiếp cận chính: (1) hướng tiếp cận theo regular expression (biểu thức chính qui) [35] và (2) hướng tiếp cận dựa trên xác su ất [16], [15], [19], [36], [42]. Mỗi hướng tiếp cận có những ưu và nhược điểm riêng và sẽ được xem xét trong các phần sau đây. Khóa luận này tiến hành phân tích cấu trúc tổng thể của một máy tìm kiếm ngữ nghĩa. Qua đó chỉ ra các module ảnh hưởng bởi đặc trưng ngôn ngữ và tiến hành khảo sát các phương pháp giải quyết bài toán phân lớp câu hỏi phổ biến hiện nay. Từ đó đề xuất giải pháp thích hợp khi áp d ụng vào tiếng Việt . Khóa luận gồm bốn chương nội dung được mô tả sơ bộ dưới đây: Chương 1. Tổng quan về tìm kiếm ngữ nghĩa giới thiệu những thành phần cơ bản về một hệ thống tìm kiếm ngữ nghĩa: nhu cầu về tìm kiếm ngữ nghĩa và các nền tảng cho tìm kiếm ngữ nghĩa hình thành. Đồng thời, chương này c ũng giới thiệu kiến trúc tổng thể của một hệ thống tìm kiếm ngữ nghĩa và chỉ ra các module chịu ảnh hưởng bởi đặc trưng của ngôn ngữ. Chương 2. Tìm kiếm ngữ nghĩa trong tiếng Việt trình bày về hiện trạng của tìm kiếm ngữ nghĩa trong tiếng Việt hiện nay. Qua đó, chỉ ra những cơ sở cần thiết để xây dựng m ột hệ thống tìm kiếm ngữ nghĩa trong tiếng Việt. Đồng thời, chương này cũng giới thiệu quá trình phân tích và xây dựng hai module mang đặc trưng ngôn ngữ, tạo tiền đề xây dựng mộ hệ thống tìm kiếm ngữ nghĩa trong lĩnh vực Y tế tiếng Việt. Chương 3. Các phương pháp phân lớp câu hỏi khảo sát và phân tích kỹ lưỡng các thuật toán cho bài toán phân lớp câu hỏi, chỉ ra ưu nhược đ iểm của từng phương pháp. Qua đó lựa, chọn phương pháp tốt nhất để thử nghiệm trong tiếng Việt. Chương 4. Thực nghiệm và đánh giá hai thuật toán Support Vector Machine và nguyên lý Entropy cực đại trên tập dữ liệu câu hỏi Y tế tiếng Việt. Kết quả thử nghiệm cho thấy hiệu của của từng phương pháp và chỉ rõ phương pháp nào thích hơn khi áp dụng cho tiếng Việt. Ph ần kết luận tổng kết và tóm lược nội dung chính của khóa luận. 2 Chương I. Tổng quan về tìm kiếm ngữ nghĩa 1.1. Nhu cầu về máy tìm kiếm ngữ nghĩa Lượng thông tin khổng lồ và phát triển mạnh mẽ theo từng ngày trên World Wide Web (thường được gọi tắt là Web) đưa ra thách thức để khai thác được thông tin trên Web một cách hiệu quả. Các máy tìm kiếm như Google, Yahoo… ra đời nhằm hỗ trợ người dùngtrong quá trình tìm kiếm và sử dụng thông tin. Tuy kết quả trả về của các máy tìm kiếm này ngày càng được cải thiện về chất và lượng nhưng vẫn đơn thuần là danh sách các tài liệu chứa những t ừ xuất hiện trong câu truy vấn. Những thông tin từ các kết quả trả về này chỉ được hiểu bởi con người, máy tính không thể “hiểu” được, điều này gây những khó khăn cho quá trình xử lý thông tin tìm kiếm được về sau. Sự ra đời của Web ngữ nghĩa (hay Semantic Web được W3C (The World Wide Web Consortium) giới thiệu trong [40]) đã mở ra một bước tiến của công nghệ Web những thông tin trong Web ngữ nghĩa có cấu trúc hoàn chỉnh và mang ngữ nghĩa mà máy tính có thể “hiểu” được. Những thông tin này, có thể được sử dụng lại mà không cần qua các bước tiền xử lý. Khi sử dụng các máy tìm kiếm thông thường (Google, Yahoo…), tìm kiếm thông tin trên Web ngữ nghĩa sẽ không tận dụng được những ưu điểm vượt trội của Web ngữ nghĩa, kết quả trả về không có sự thay đổi. Nói theo một cách khác thì với các máy tìm kiếm hiện tại Web ngữ nghĩa hay Web thông thường chỉ là m ột. Do vậy, cần thiết có một hệ thống tìm kiếm ngữ nghĩa (Semantic Search) tìm kiếm trên Web ngữ nghĩa hay trên một mạng tri thức mang ngữ nghĩa, kết quả trả về là các thông tin có cấu trúc hoàn chỉnh mà máy tính có thể “hiểu” được, nhờ đó việc sử dụng hay xử lý thông tin trở nên dễ dàng hơn[27][29]. Ngoài ra, việc xây dựng được một hệ thống tìm kiếm ngữ nghĩa cụ thể sẽ t ạo tiền đề cho việc mở rộng xây dựng các hệ thống hỏi đáp tự động trên từng lĩnh vực cụ thể như : Y tế, văn hóa … điều này mang một ý nghĩa thiết thực trong đời sống. 1.2. Cấu trúc tổng thể của một máy tìm kiếm ngữ nghĩa Máy tìm kiếm ngữ nghĩa được xây dựng dựa trên những công nghệ, kỹ thuật mới của khoa học. Mỗi công nghệ phát triển trên những nền tảng nhất định. Do vậy để mô tả cấu trúc của một máy tìm kiếm ngữ nghĩa một cách chi tiết nhất, trước tiên cần đề cập các nền tảng cho tìm kiếm ngữ nghĩa. 1.2.1. Nền tảng cho tìm kiếm ngữ nghĩ a Có hai nền tảng cho tìm kiếm ngữ nghĩa đó là: (1) Web ngữ nghĩa : là sự phát triển mở rộng của Web hiện tại. (2) Ontology : dùng để mô tả các tài nguyên thông tin có ngữ nghĩa. [...]... hình của Ontology Y tế n y ở hình 2 2.3.2 Bộ phân lớp câu hỏi Y tế trong tiếng Việt Với Ontology Y tế giới thiệu ở phần trên, để giải quyết được hai bài toán mang đặc trưng của tiếng Việt cần x y dựng một bộ phân lớp câu hỏi Y tế trong tiếng Việt Bộ phân lớp câu hỏi n y là bộ phân lớp nội miền (trong miền Ontology Y tế) , tức là với các câu hỏi/ truy vấn của người dùng đưa vào, bộ phân lớp phải xác định... các hệ thống tìm kiếm ngữ nghĩa lớn tìm kiếm trên nhiều miền Ontology, thường có bộ phân lớp câu hỏi kép gồm : (1) phân lớp để xác định miền Ontology của câu hỏi (phân lớp nội miền) (2) phân lớp để xác định câu hỏi thuộc lĩnh vực nào (lớp nào) trong miền Ontology đã xác định ở phân lớp nội miền Ngược lại đối với các m y tìm kiếm ngữ nghĩa trên một miền Ontology, chỉ cần x y dựng bộ phân lớp đơn (2)... qua, cầu g y - Đêm hôm, qua cầu g y Qua một số đặc điểm nổi bật vừa nêu trên đ y, chúng ta có thể hình dung được phần nào bản sắc và tiềm năng của tiếng Việt 2.3 Tìm kiếm ngữ nghĩa trong lĩnh vực y tế Trong phần n y, khóa luận sẽ trình b y những bước đầu của việc x y dựng một m y tìm kiếm ngữ nghĩa trên lĩnh vực Y tế cho tiếng Việt 2.3.1 Ontology Y tế trong tiếng Việt Với các dữ liệu về y tế thu thập... Phân lớp câu hỏi Phân lớp câu hỏi là một trong hai thành phần quan trọng nhất của một m y tìm kiếm ngữ nghĩa Phần n y đảm nhiệm vai trò phân loại câu hỏi theo chủ đề và lĩnh vực Quá trình phân lớp có thể tiến hành qua hai bước: (1) Phân lớp xác định miền câu hỏi: Y u cầu n y xuất phát từ cơ sở dữ liệu của m y tìm kiếm ngữ nghĩa (mạng ngữ nghĩa) Các mạng n y về cơ bản được x y dựng từ các Ontology, mà... Chương 2 Tìm kiếm ngữ nghĩa trong tiếng Việt 2.1 Tổng quan về cơ sở cho tìm kiếm ngữ nghĩa tiếng Việt Từ cấu trúc cơ bản của một hệ thống tìm kiếm ngữ nghĩa đã được trình b y ở trên cho th y để x y dựng được một hệ thống tìm kiếm ngữ nghĩa trong tiếng Việt trước tiên phải giải quyết hai bai toán: (1) X y dựng bộ phân lớp câu hỏi tiếng Việt (2) X y dựng một mạng ngữ nghĩa tiếng Việt Hai bài toán trên... phần hạt nhân của m y tìm kiếm bao gồm ba thành phần chính đó là: - Phân tích câu hỏi - Tìm kiếm kết quả cho truy vấn hay câu hỏi - Tập tài liệu, dữ liệu tìm kiếm/ mạng ngữ nghĩa Sự khác biệt trong cấu trúc của m y tìm kiếm ngữ nghĩa so với m y tìm kiếm thông thường nằm ở phần kiến trúc bên trong, cụ thể ở hai thành phần: phân tích câu hỏi và tập dữ liệu tìm kiếm Về cơ bản, một m y tìm kiếm có kiến trúc... dùng cho phân lớp nhị phân, nhưng hiện nay đã được cải tiến cho phân lớp đa lớp, phiên bản phân lớp đa lớp n y sẽ được sử dụng cho bài toán phân lớp câu hỏi Hai quá trình chuẩn bị dữ liệu khi x y dựng được mô hình phân lớp câu hỏi dựa trên SVM như sau: (1) Thiết kế mô hình c y phân cấp (taxonomy) cho tập lớp câu hỏi Miền ứng dụng của câu hỏi sẽ quyết định độ phức tạp (phân cấp) của taxonomy (2) X y dựng... truy vấn của mình ở giao diện - Bước (2) câu hỏi/ truy vấn ở (1) đưa qua bộ phân tích câu hỏi để xác định câu hỏi thuộc về lĩnh vực miền nào và thuộc về phần nào trong lĩnh vực đó Ví dụ câu hỏi “Bệnh Lao phổi chữa như thế nào?” được phân về domain Y tế - Bước (3) câu hỏi được biển đổi về dạng chuẩn (biểu thức logic) để có thể tiến hành tìm kiếm - Bước (4) câu hỏi/ truy vấn được tìm kiếm trên mạng ngữ nghĩa. .. (x1 ,y1 ), … ,(xm,ym) với xi là một vector n chiều và yi ∈ Y là nhãn lớp được gán cho vector xi - Chia tập Y thành m tập lớp con có cấu trúc như sau zi ={yi , Y \ yi } - Áp dụng SVM phân lớp nhị phân cơ bản với m tập Zi để x y dựng siêu phẳng cho phân lớp n y - Bộ phân lớp với sự kết hợp của m bộ phân lớp trên được gọi là bộ phân lớp đa lớp mở rộng với SVM c Áp dụng SVM vào phân lớp câu hỏi Tuy mục... t y biến, thay đổi dễ dàng Tuy v y, để phục vụ cho mục đích là tìm kiếm ngữ nghĩa, phía giao diện người dùng cần cung cấp cho người sử dụng những lựa chọn khi tìm kiếm: • Cung cấp lựa chọn tìm kiếm theo từng miền lĩnh vực cụ thể, nếu một m y tìm kiếm ngữ nghĩa có cơ sở tìm kiếm ngữ nghĩa bao gồm nhiều lĩnh vực • Gợi ý các từ để hỏi ví dụ như (what, where, when…) khi người dùng nhập câu hỏi Điều này . NGHỆ Nguyễn Minh Tuấn PHÂN LỚP CÂU HỎI HƯỚNG TỚI TÌM KIẾM NGỮ NGHĨA TIẾNG VIỆT TRONG LĨNH VỰC Y TẾ . ĐẠI HỌC CÔNG NGHỆ Nguyễn Minh Tuấn PHÂN LỚP CÂU HỎI HƯỚNG TỚI TÌM KIẾM NGỮ NGHĨA TIẾNG VIỆT TRONG LĨNH VỰC Y TẾ KHOÁ LUẬN