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.
56 trang |
Chia sẻ: vietpd | Lượt xem: 1355 | Lượt tải: 0
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