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ế

  • Số trang: 56 |
  • Loại file: PDF |
  • Lượt xem: 12 |
  • Lượt tải: 0
nganguyen

Đã đăng 34173 tài liệu

Mô 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 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. i 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 ii 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 iii 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 iv 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 v 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. 1 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. 2 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” … 3 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 Ontology là cung cấp ngữ nghĩa cho những lớp cá thể riêng biệt, vì vậy thể hiện của một Ontology là cần thiết. 4 • Lớp (classes): hay còn được gọi là khái niệm, kiểu hay loại, là một nhóm trừu tượng của các đối tượng. Một lớp có thể bao gồm các thể hiện của lớp đó hay bao gồm một lớp con khác. Ví dụ về một lớp Ontology như: Person (lớp mô tả về con người) , Vehicle (lớp mô tả về các phương tiện vận chuyển)… • Thuộc tính (Attributes): Các thể hiện trong một Ontology có thể được gán cho chúng những thuộc tính riêng, nhằm biểu thị các đặc trưng riêng và phân biệt với các thể hiện khác. Mỗi một thuộc tính của Ontology đều có hai thành phần gồm tên của thuộc tính và giá trị được gán cho thuộc tính đó. Ví dụ cá thể có tên là K49HTTT có các thuộc tính sau: o Tên : K49HTTT o Số lượng sinh viên : 56 o Chủ nhiệm : lecturer.NguyenNgocHoa Các thuộc tính của một Ontolgy được thiết kế phù hợp với các đặc điểm của đối tượng được mô tả ở ngoài thực tế. Giá trị của một thuộc tính có thể là một kiểu phức hợp (kết hợp nhiều kiểu dữ liệu khác nhau) hoặc có thể là một lớp khác của Ontology. • Quan hệ (relationships): Được thể hiện bằng các thuộc tính của Ontology. Một quan hệ được hình thành khi giá trị của một thuộc tính là một cá thể của một Ontology. Các mối quan hệ này thể hiện sự liên kết giữa các đối tượng trong Ontology. Mối quan hệ “xếp gộp” (Subsumption) là một liên kết chủ đạo trong các Ontology, thể hiện các kiểu quan hệ: là lớp cha (is_superclass_of), là (is_a), là lớp con (is_subclass_of). Với liên kết “xếp gộp” Ontology sẽ có cấu trúc như một cây phân cấp. Ngoài liên kết chủ đạo trên, một Ontology cụ thể có thể có nhiều liên kết khác. 5 Hình 2. Ví dụ về Ontology Y tế [1] Trong hình 2, phần bên trái mô tả cấu trúc phân cấp của Ontology Y tế, thể hiện tên các lớp và mối quan hệ “xếp gộp” của các lớp đó. Lớp Thing là lớp cha (is_superclass_of) của tất cả các lớp còn lại như: Bệnh, Chất_hóa_học, Nguyên_nhân, Thuốc… Các lớp con (is_subclass_of) của Thing cũng có thể có nhiều lớp con khác ví dụ như lớp Thuốc bao gồm hai lớp con: Đông_y, Tây_y… Phần bên phải thể hiện các thuộc tính hoặc liên kết có trong Ontology Y tế, ví dụ như liên kết biến_chứng thể hiện liên kết của một cá thể thuộc lớp Bệnh với một cá thể khác cũng thuộc lớp Bệnh, hay liên kết gây_ra mô tả một quan hệ giữa lớp Nguyên_nhân và lớp Bệnh… Trong ví dụ trên chưa có sự hiện diện cụ thể của các cá thể (thể hiện) trong các lớp, nhưng những thể hiện cụ thể của các lớp có thể được thêm vào bởi các chuyên gia trên lĩnh vực Y tế (ví dụ như Chuột gây_ra dịch_hạch …). b. Ngôn ngữ mô tả tài nguyên Web ngữ nghĩa và Ontology Một Ontology cần được mô tả bằng một cấu trúc chặt chẽ và theo những chuẩn chung nhất để người sử dụng có thể chia sẻ (với người sử dụng khác) hoặc sử dụng lại 6 những Ontology đã có sẵn. Trong phần này trình bày về RDF (Resource Description Framework )[30] một framework cho việc mô hình hóa, mô tả tài nguyên trên Web và OWL [38] (Web Ontology Language) đang được sử dụng rộng rãi hiện nay. • RDF – Resouce Description Framework : là một mô hình được W3C đề xuất là mở rộng của công nghệ XML [37] với mục tiêu đưa đưa ra một chuẩn chung trong việc mô hình hóa và mô tả các tài nguyên trên Web. Ngoài ra RDF còn là một cấu trúc để thể hiện dữ liệu. RDF có tập các từ khóa, tập ngữ pháp và tập luật riêng được giới thiệu cụ thể ở [39]. Ví dụ mô tả về tài nguyên http://www.coltech.vnu.edu.vn/courses bằng RDF như sau: ITLab, Vietnam National University, Hanoi http://www.coltech.vnu.edu.vn • OWL (Web Ontology Language) : là một ngôn ngữ biểu diễn tri thức dựa trên RDF, được xây dựng để mô tả Web ngữ nghĩa. OWL có những đặc điểm sau: o OWL là một chuẩn của Web. o OWL được viết dưới dạng XML. o OWL dùng để xử lý thông tin trên Web. o OWL là một ngôn ngữ được thông dịch bởi máy tính. Về cơ bản OWL và RDF có nhiều đặc điểm giống nhau, tuy nhiên OWL có tập từ vựng (từ khóa) lớn hơn RDF, và là một ngôn ngữ được máy tính thông dịch tốt hơn RDF. OWL được chia thành ba loại khác nhau, đáp ứng với từng nhu cầu sử dụng cụ thể: (1) OWL lite: Đây là phiên bản đơn giản nhất của OWL, dành cho những người dùng chỉ có nhu cầu về tách lớp các tài nguyên riêng rẽ và giữa các tài nguyên có những ràng buộc hay quan hệ đơn giản. Ví dụ : về ràng buộc lực lượng, với OWL lite số lực lượng này chỉ có thể mang giá trị 0 hoặc 1. (2) OWL DL: Dành cho những người sử dụng đòi hỏi những tính năng phức tạp trong tính toán và xử lý thông tin với những ràng buộc chặt chẽ: Các bước xử lý, suy luận đều được tối ưu và thực hiện trong thời gian giới hạn … OWL được tích hợp với logic mô tả (description logic [9]). Tuy nhiên OWL DL vẫn có một số hạn chế như : Một class có thể được thừa kế bởi nhiều class khác nhưng, class này không thể là một thể hiện của class khác… 7 (3) OWL full : Hướng tới những người dùng đòi hỏi tối đa những tính năng của OWL mà không bị ràng buộc bởi cấu trúc ngữ pháp phức tạp. OWL full có cấu trúc lỏng lẻo như RDF, ví dụ : một lớp trong OWL full có thể đồng thời được coi như là một tập các thể hiện hoặc là một thể hiện của chính lớp đó. Giữa ba loại của ngôn ngữ OWL có quan hệ bao hàm nhau. Tức là: tất các các qui tắc cấu trúc hợp lệ của OWL lite thì đều hợp lệ với OWL dl, và mọi qui tắc, cấu trúc hợp lệ của OWL dl thì đều hợp lệ với OWL full. Một ví dụ về OWL lite: Version 0.1 Countries Ontology, Created by Jenz & Partner GmbH, Version 0.1, 28-FEB-2004 Với OWL việc truy xuất, xử lý và chia sẻ Ontology giữa những người sử dụng trở nên dễ dàng hơn. Nhờ đó giảm bớt những khó khăn khi xây dựng cơ sở tri thức và nguồn tài nguyên cho Web ngữ nghĩa, tạo tiền đề cho Web ngữ nghĩa phát triển. 8 1.2.2. Kiến trúc cơ bản của một máy tìm kiếm ngữ nghĩa Xét về cơ bản, một máy tìm kiếm ngữ nghĩa có cấu trúc tương tự với một máy tìm kiếm thông thường cũng bao gồm hai thành phần chính: (1) Phần giao diện người dùng (front end) có hai chức năng chính: - Giao diện truy vấn: cho phép người dùng nhập câu hỏi, truy vấn. - Hiển thị câu trả lời, kết quả. (2) Phần kiến trúc bên trong (back end) là 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 như sau: Search Services 1.Nhập truy vấn Semantic Web/Ontology 2.Phân lớp câu hỏi 5.Kết quả trả về 3.Biển đổi dạng câu hỏi 4.Tìm kiếm Mạng ngữ nghĩa Hình 3. Sơ đồ của máy tìm kiếm ngữ nghĩa 9 1.2.2.3. Giao diện người dùng Như đã giới thiệu ở trên, giao diện người dùng có hai chức năng đó là cho phép người dùng nhập câu hỏi hoặc truy vấn tìm kiếm và hiện thị kết quả trả về. So với các máy tìm kiếm thông thường thì phần này không có sự khác biệt lớn và có thể 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 giúp ích cho việc phân lớp câu hỏi và giới hạn được loại câu trả lời phù hợp cho truy vấn người dùng đưa vào, tiết kiệm thời gian tìm kiếm. 1.2.2.4. Kiến trúc bên trong Như mô tả ở hình 3, các thành phần của kiến trúc bên trong bao gồm bốn module chính: phân lớp câu hỏi, biến đổi dạng câu hỏi, tìm kiếm và mạng ngữ nghĩa. Các bước xử lý một câu hỏi/truy vấn của người dùng như sau: - Bước (1) người dùng nhập câu hỏi/ 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 của máy tìm kiếm. - Bước (5) hiện thị kết quả trả về của câu hỏi/truy vấn đưa vào. Một máy tìm kiếm ngữ nghĩa sẽ xử lý câu hỏi của người dùng qua năm bước cơ bản như trên. Và tùy thuộc vào từng đặc điểm của loại máy tìm kiếm định xây dựng, mà có thể có thêm những module khác. Ví dụ một số máy tìm kiếm có có phần lựa chọn câu trả lời thích hợp nhất do người dùng lựa chọn nhằm xây dựng tập câu trả lời mẫu . a. 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à Ontology được xây dựng theo từng miền lĩnh vực riêng rẽ. Do vậy cần tiến hành phân loại truy vấn theo miền câu hỏi nhằm xác định miền 10 Ontology của câu hỏi để giới hạn không gian tìm kiếm, giảm thời gian tìm kiếm. Phân lớp miền câu hỏi có ảnh hưởng quyết định tới chất lượng của kết quả trả về.. Một ví dụ minh chứng cho điều này: Giả sử người dùng đưa vào câu hỏi : “bệnh sởi có chữa được không” và cơ sở mạng ngữ nghĩa trong máy tìm kiếm bao gồm 4 miền : Y tế, Du lịch, Văn hóa và Chính trị. Qua bộ phân lớp miền câu hỏi, nếu kết quả trả về là thuộc miền Y tế thì máy tìm kiếm sẽ đưa ra kết quả trả lời phù hợp hơn, còn nếu xác định một miền miền khác không phải Y tế thì sẽ không có kết quả trả hoặc sai về mặt ý nghĩa. (2) Phân loại loại câu hỏi trong một miền: cấu trúc nội tại của một Ontology có sự phân cấp rất lớn: một Ontogy được chia thành nhiều phần, nhiều tầng, lớp bao hàm nhau, mỗi tầng của Ontology cũng có thể coi là một miền nhỏ bao hàm một miền tri thức nhỏ có mối quan hệ mật thiết với nhau. Do đó để có thể tối ưu tìm kiếm còn cần phân lớp trên nội tại một miền. Bước này tiến hành phân lớp câu hỏi trên nội tại một miền, phân lớp câu hỏi theo những lĩnh vực khác nhau của một miền. Chúng ta coi Ontology là một cây có cấu trúc phân tầng, mỗi lớp trong Ontology sẽ thuộc một tầng nhất định, và trong mỗi tầng các đối tượng có độ liên quan đến nhau lớn, và độ liên quan này giảm đi khi các đối tượng ở những tầng khác nhau. Tiến hành phần loại nội miền chính là việc chỉ ra câu hỏi người dùng đưa vào thuộc tầng nào hoặc cụm nào của Ontology. Bước này làm giới hạn tối đa không gian tìm kiếm, mang lại kết quả chính xác hơn và nhanh hơn. Sự khác biết giữa phân loại miền câu hỏi và phân loại nội miền chỉ ở không gian phân loại. Trong khi phân loại miền câu hỏi không gian là toàn bộ tập Ontology của mạng ngữ nghĩa,thì phân loại nội miền tiến hành trên một miền Ontology cụ thể, còn về thuật toán tiến hành phân loại thì như nhau. Phụ thuộc vào máy tìm kiếm ngữ nghĩa cần xây dựng, mà một trong hai bước phân loại câu hỏi trên có thể được bỏ qua. Ví dụ: khi xây dựng một hệ thống tìm kiếm ngữ nghĩa cho một miền cụ thể (hệ thống hỏi đáp) thì việc phân loại miền câu hỏi là không cần thiết, chỉ cần thiết phân loại nội miền. Hiện nay đã có nhiều phương pháp để phân lớp câu hỏi trong đó nổi bật là hai hướng tiếp cận: dựa vào biểu thức chính qui (regular expression) và hướng tiếp cận dựa trên xác suất. Mỗi phương pháp có những ưu và nhược điểm riêng. Với hướng tiếp cận biểu thức chính qui, câu hỏi đưa vào được so sánh các mẫu câu hỏi có sẵn, do đó phương pháp này đòi hỏi các chuyên gia khi xây dựng bộ câu hỏi mẫu và thường khó xác định hết được các trường hợp nhập nhằng nên kết quả phân lớp câu hỏi thường không được như ý muốn… Cụ thể về các phương pháp sẽ được trình bày ở chương 3. 11 b. Biến đổi dạng câu hỏi Theo Maria Vargas-Vera, Enrico Motta và John Domingue [21], sau khi qua bộ phân lớp câu hỏi truy vấn của người dung được chuyển từ dạng ngôn ngữ tự nhiên sang dạng ngôn ngữ lo-gic (Question Logic Language - QLL). QLL là một ngôn ngữ thể hiện câu hỏi/ truy vấn thuộc ngôn ngữ tự nhiên theo dạng logic học. Mỗi một câu thuộc QLL chứa các terms (biểu thức, biến, thủ tục…) của ngôn ngữ Prolog , nói một các khác QLL là một ngôn ngữ con của Prolog [5]. Theo [21] có một số qui tắc khi chuyển đổi từ một câu S1 ở dạng ngôn ngữ tự nhiên sang câu S2 thuộc QLL như sau: (1) Một danh từ đơn (theo đơn vị từ) của S1 sẽ tạo nên một vị từ đơn trong S2. Ví dụ: S1 “ Hà Nội là thành phố vì hòa bình”, thì trong S2 sẽ chứa vị từ sau thành_phố(Hà Nội). (2) Cụm danh từ của S1 tạo nên một vị phức trong S2 với số tham số bằng số lượng từ đơn chứa trong cụm danh từ của S1 cộng thêm 1. Ví dụ S1 “Số lượng sinh viên của Trường Đại học Công nghệ là bao nhiêu?”. Tạo ra một vị từ phức trong S2 là số_lượng_sinh_viên(đại_học_công_nghệ, X) ở đây X là số lượng sinh viên. (3) Một động từ của S1 sẽ tạo nên một vị từ phức với một hoặc nhiều tham số, tham số đầu tiên là chủ ngữ của S1, tham số thứ hai là vị ngữ chính của S1, tham số thứ ba là vị ngữ phụ của S1 (nếu có), tham số thứ tư là các bổ ngữ (nếu có)… Ví dụ: S1 “Torres ghi bàn vào lưới ManU”, thì S2 sẽ chứa vị từ ghi_bàn(Torres, ManU). (4) Một giới từ trong S1 tạo nên một vị từ phức với hai tham số là hai từ được nối bởi giới từ đó. Ví dụ S1 “Cái bút nằm trên bàn học”, S2 sẽ chứa vị từ nằm_trên(bút,bàn_học). (5) Một tính từ định tính có thể tạo nên một vị từ với một hoặc hai tham số. Ví dụ S1 “diện tích của Hà nội là bao nhiêu?” trong S2 sẽ chứa vị từ diện_tích(Hà_Nội, X) – X là diện tích. Với 5 qui tắc biến đổi trên, một câu hỏi bất kỳ đều được chuyển sang dạng QLL, với lợi thế về suy luận và tối ưu xử lý, câu hỏi dưới dạng QLL sẽ mang lại tốc độ tốt hơn và mang đặc thù ngữ nghĩa nhiều hơn. c. Tìm kiếm câu trả lời. Sau khi câu hỏi/truy vấn của người dùng được chuyển sang dạng QLL, hệ thống tiến hành tìm kiếm câu trả lời sẽ được thực hiện qua các phép toán logic với dữ liệu là các Ontology (mạng ngữ nghĩa) được xây dựng từ trước. Giả sử S2 là một câu truy vấn dạng QLL, hệ thống cần tìm ra câu trả lời cho S2. Chiến lược giải quyết như sau: 12
- Xem thêm -