ĐẠ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