Luận vă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ế

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.

pdf56 trang | Chia sẻ: vietpd | Lượt xem: 1341 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Luận vă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ế, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ĐẠ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. 3 1.2.2.1. Web ngữ nghĩa Web ngữ nghĩa hay còn gọi là Semantic Web theo Tim Berners-Lee [34] là bước phát triển mở rộng của công nghệ Word Wide Web hiện tại, chứa các thông tin được định nghĩa rõ ràng sao cho con người và máy tính làm việc với nhau hiệu quả hơn. Mục tiêu của Web ngữ nghĩa là phát triển dựa trên những chuẩn và công nghệ chung, cho phép máy tính có thể hiểu thông tin chứa trong các trang Web nhiều hơn nhằm hỗ trợ tốt con người trong khai phá dữ liệu, tổng hợp thông tin, hay trong việc xây dựng các hệ thống tự động khác… Không giống như công nghệ Web thông thường, nội dung chỉ bao hàm các tài nguyên văn bản, liên kết, hình ảnh, video mà Web ngữ nghĩa có thể bao gồm những tài nguyên thông tin trừu tượng hơn như: địa điểm, con người, tổ chức… thậm chí là một sự kiện trong cuộc sống. Ngoài ra, liên kết trong Web ngữ nghĩa không chỉ đơn thuần là các siêu liên kết (hyperlink) giữa các tài nguyên mà còn chứa nhiều loại liên kết, quan hệ khác. Những đặc điểm này khiến nội dung của Web ngữ nghĩa đa dạng hơn, chi tiết và đầy đủ hơn. Đồng thời, những thông tin chứa trong Web ngữ nghĩa có một mối liên hệ chặt chẽ với nhau. Với sự chặt chẽ này, người dùng dễ dàng hơn trong việc sử dụng, và tìm kiếm thông tin. Đây cũng là ưu điểm lớn nhất của Web ngữ nghĩa so với công nghệ Web thông thường. Hình 1. Ví dụ về Web ngữ nghĩa [27] Hình 1 là một ví dụ mô tả về một trang Web ngữ nghĩa chứa thông tin của một người tên là Yo-Yo Ma. Trang Web có cấu trúc như một đồ thị có hướng mang trọng số, mà mỗi đỉnh của đồ thị mô tả một kiểu tài nguyên chứa trong trang Web. Các cạnh của đồ thị thể hiện một kiểu liên kết (hay còn gọi là thuộc tính của tài nguyên) giữa các tài nguyên, trọng số của các liên kết đó thể hiện tên của liên kết (tên của thuộc tính) đó. Cụ thể ta thấy Yo-Yo Ma có thuộc tính ngày sinh là “10/07/55” có nơi sinh ở “Paris, France”, “Paris, France” có nhiệt độ là “62 F” … 4 Như vậy, mỗi tài nguyên được mô tả trong Web ngữ nghĩa là một đối tượng. Đối tượng này có tên gọi, thuộc tính, giá trị của thuộc tính (giá trị có thể là một đối tượng khác) và liên kết với các tài nguyên (đối tượng) khác (nếu có). Để xây dựng được một trang Web ngữ nghĩa cần phải có tập dữ liệu đầy đủ, nói một cách khác là cần phải xây dựng một tập các đối tượng mô tả tài nguyên cho Web ngữ nghĩa. Các đối có quan hệ với nhau hình thành một mạng liên kết rộng, được gọi là mạng ngữ nghĩa. Mạng ngữ nghĩa được chia sẻ rộng khắp do vậy các đối tượng trong một mạng ngữ nghĩa cần phải mô tả theo một chuẩn chung nhất. Ontology [25][23] được sử dụng để mô tả về đối tượng, tài nguyên cho Web ngữ nghĩa. 1.2.2.2. Ontology Trong những năm gần đây, thuật ngữ “Ontology” không chỉ được sử dụng ở trong các phòng thì nghiệm trên lĩnh vực trí tuệ nhân tạo mà đã trở nên phổ biến đối với nhiều miền lĩnh vực trong đời sống. Đứng trên quan điểm của ngành trí tuệ nhân tạo, một Ontology là sự môt tả về những khái niệm và những quan hệ của các khái niệm đó nhằm mục đích thể hiện một góc nhìn về thế giới. Trên miền ứng dụng khác của khoa học, một Ontology bao gồm tập các từ vựng cơ bản hay một tài nguyên trên một miền lĩnh vực cụ thể, nhờ đó những nhà nghiên cứu có thể lưu trữ, quản lý và trao đổi tri thức cho nhau theo một cách tiện lợi nhất [25]. a. Khái niệm và cấu trúc của Ontology Hiện nay tồn tại nhiều khái niệm về Ontology, trong đó có nhiều khái niệm mâu thuẫn với các khác niệm khác, khóa luận này chỉ giới thiệu một định nghĩa mang tính khái quát và được sử dụng khá phổ biến được Kincho H. Law đưa ra: “Ontology là biểu hiện một tập các khái niệm (đối tượng), trong một miền cụ thể và những mối quan hệ giữa các khái niệm này” [18]. Một Ontology có bốn thành phần chính: cá thể (individuals), lớp (classes), thuộc tính (attributes) và các mối quan hệ (relationships). Với cấu trúc này, Ontology được sử dụng rộng rãi như một mô hình phân lớp thông tin trong việc phát triển thông tin trên Web. Ngoài ra một Taxonomy [33] có thể được coi như là một Ontology khuyết (không có thành phần thuộc tính, tính chất trong mô tả). Cụ thể hơn về cấu trúc của một Ontology được mô tả thông qua các thành phần của nó như sau: • Cá thể (individuals): là một thể hiện (hay đối tượng) cụ thể của Ontology, bao gồm đầy đủ các thuộc tính, liên kết của Ontology. Một cá thể là một đối tượng thực như con người, xe cộ, động vật … nhưng cũng có thể là một khái niệm trừu tượng như chữ số, sự kiện … Về mặt lý thuyết, một Ontology có thể không có một thể hiện nào, nhưng một trong những mục đích của