Top Banner
ĐẠI HC QUC GIA HÀ NI TRƯỜNG ĐẠI HC CÔNG NGHNguyn Minh Tun PHÂN LP CÂU HI HƯỚNG TI TÌM KIM NGNGHĨA TING VIT TRONG LĨNH VC Y TKHOÁ LUN TT NGHIP ĐẠI HC HCHÍNH QUY Ngành: Công nghthông tin HÀ NI - 2008
56

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆuet.vnu.edu.vn/~thuyhq/Student_Thesis/K49_Nguyen_Minh_Tuan_Thesis.pdfĐẠi hỌc quỐc gia hÀ nỘi trƯỜng

Aug 29, 2019

Download

Documents

lydien
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆuet.vnu.edu.vn/~thuyhq/Student_Thesis/K49_Nguyen_Minh_Tuan_Thesis.pdfĐẠi hỌc quỐc gia hÀ nỘi trƯỜng

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

Page 2: ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆuet.vnu.edu.vn/~thuyhq/Student_Thesis/K49_Nguyen_Minh_Tuan_Thesis.pdfĐẠi hỌc quỐc gia hÀ nỘi trƯỜng

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

Page 3: ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆuet.vnu.edu.vn/~thuyhq/Student_Thesis/K49_Nguyen_Minh_Tuan_Thesis.pdfĐẠi hỌc quỐc gia hÀ nỘi trƯỜng

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

Page 4: ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆuet.vnu.edu.vn/~thuyhq/Student_Thesis/K49_Nguyen_Minh_Tuan_Thesis.pdfĐẠi hỌc quỐc gia hÀ nỘi trƯỜng

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.

Page 5: ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆuet.vnu.edu.vn/~thuyhq/Student_Thesis/K49_Nguyen_Minh_Tuan_Thesis.pdfĐẠi hỌc quỐc gia hÀ nỘi trƯỜng

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

Page 6: ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆuet.vnu.edu.vn/~thuyhq/Student_Thesis/K49_Nguyen_Minh_Tuan_Thesis.pdfĐẠi hỌc quỐc gia hÀ nỘi trƯỜng

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

Page 7: ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆuet.vnu.edu.vn/~thuyhq/Student_Thesis/K49_Nguyen_Minh_Tuan_Thesis.pdfĐẠi hỌc quỐc gia hÀ nỘi trƯỜng

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

Page 8: ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆuet.vnu.edu.vn/~thuyhq/Student_Thesis/K49_Nguyen_Minh_Tuan_Thesis.pdfĐẠi hỌc quỐc gia hÀ nỘi trƯỜng

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

Page 9: ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆuet.vnu.edu.vn/~thuyhq/Student_Thesis/K49_Nguyen_Minh_Tuan_Thesis.pdfĐẠi hỌc quỐc gia hÀ nỘi trƯỜng

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.

Page 10: ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆuet.vnu.edu.vn/~thuyhq/Student_Thesis/K49_Nguyen_Minh_Tuan_Thesis.pdfĐẠi hỌc quỐc gia hÀ nỘi trƯỜng

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.

Page 11: ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆuet.vnu.edu.vn/~thuyhq/Student_Thesis/K49_Nguyen_Minh_Tuan_Thesis.pdfĐẠi hỌc quỐc gia hÀ nỘi trƯỜng

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” …

Page 12: ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆuet.vnu.edu.vn/~thuyhq/Student_Thesis/K49_Nguyen_Minh_Tuan_Thesis.pdfĐẠi hỌc quỐc gia hÀ nỘi trƯỜng

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 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.

Page 13: ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆuet.vnu.edu.vn/~thuyhq/Student_Thesis/K49_Nguyen_Minh_Tuan_Thesis.pdfĐẠi hỌc quỐc gia hÀ nỘi trƯỜng

5

• 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.

Page 14: ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆuet.vnu.edu.vn/~thuyhq/Student_Thesis/K49_Nguyen_Minh_Tuan_Thesis.pdfĐẠi hỌc quỐc gia hÀ nỘi trƯỜng

6

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

Page 15: ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆuet.vnu.edu.vn/~thuyhq/Student_Thesis/K49_Nguyen_Minh_Tuan_Thesis.pdfĐẠi hỌc quỐc gia hÀ nỘi trƯỜng

7

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:

• 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…

<?xml version="1.0"?> <RDF> <Description about="http://www.coltech.vnu.edu.vn/courses">

<author> ITLab, Vietnam National University, Hanoi </author>

<homepage> http://www.coltech.vnu.edu.vn</homepage> </Description>

Page 16: ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆuet.vnu.edu.vn/~thuyhq/Student_Thesis/K49_Nguyen_Minh_Tuan_Thesis.pdfĐẠi hỌc quỐc gia hÀ nỘi trƯỜng

8

(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:

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.

<owl:Ontology rdf:about=""> <owl:versionInfo>Version 0.1</owl:versionInfo> <rdfs:comment>Countries Ontology, Created by Jenz &amp; Partner GmbH, Version 0.1, 28-FEB-2004</rdfs:comment> </owl:Ontology> <owl:Class rdf:ID="UnclaimableTerritory"> <rdfs:subClassOf> <owl:Class rdf:about="#Country"/> </rdfs:subClassOf> <owl:disjointWith> <owl:Class rdf:about="#IndependentState"/> </owl:disjointWith> <owl:disjointWith> <owl:Class rdf:about="#FullyDependentTerritory"/> </owl:disjointWith> <owl:disjointWith> <owl:Class rdf:about="#VirtuallyAnnexedTerritory"/> </owl:disjointWith> <owl:disjointWith> <owl:Class rdf:about="#IndependenceDisputedState"/> </owl:disjointWith> <owl:disjointWith> <owl:Class rdf:about="#VirtualTerritory"/> </owl:disjointWith> <owl:disjointWith> <owl:Class rdf:about="#AssociatedState"/> </owl:disjointWith> <owl:disjointWith> <owl:Class rdf:about="#OccupiedTerritory"/> </owl:disjointWith> </owl:Class>

Page 17: ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆuet.vnu.edu.vn/~thuyhq/Student_Thesis/K49_Nguyen_Minh_Tuan_Thesis.pdfĐẠi hỌc quỐc gia hÀ nỘi trƯỜng

9

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:

Hình 3. Sơ đồ của máy tìm kiếm ngữ nghĩa

Mạng ngữ nghĩa

Semantic Web/Ontology

Search Services

1.Nhập truy vấn

5.Kết quả trả về

2.Phân lớp câu hỏi

3.Biển đổi dạng câu hỏi

4.Tìm kiếm

Page 18: ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆuet.vnu.edu.vn/~thuyhq/Student_Thesis/K49_Nguyen_Minh_Tuan_Thesis.pdfĐẠi hỌc quỐc gia hÀ nỘi trƯỜng

10

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

Page 19: ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆuet.vnu.edu.vn/~thuyhq/Student_Thesis/K49_Nguyen_Minh_Tuan_Thesis.pdfĐẠi hỌc quỐc gia hÀ nỘi trƯỜng

11

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.

Page 20: ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆuet.vnu.edu.vn/~thuyhq/Student_Thesis/K49_Nguyen_Minh_Tuan_Thesis.pdfĐẠi hỌc quỐc gia hÀ nỘi trƯỜng

12

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:

Page 21: ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆuet.vnu.edu.vn/~thuyhq/Student_Thesis/K49_Nguyen_Minh_Tuan_Thesis.pdfĐẠi hỌc quỐc gia hÀ nỘi trƯỜng

13

(1) Với mỗi một vị từ trong S2, xác định Ontology để tìm kiếm (sử dụng kết quả từ bước phân lớp câu hỏi ở trên), tìm ra đối tượng chứa câu trả lời từ tập các đối tượng thuộc miền Ontology đã chỉ ra, trong đó:

o Đối tượng chứa câu trả lời phải có một thuộc tính có độ tương đồng với một trong các tham số của vị từ. Ví dụ: với vị từ diện_tích(Hà_Nôi), trong Ontology về địa lý đối tượng chứa câu trả lời sẽ là thành_phố.Hà_Nội - ở đây có sự tương đồng về tên của đối tượng với tham số của vị từ.

o Thông tin trả lời cho vị từ hoặc thông tin về vị từ được mô tả bằng tên gọi của lớp hay bằng thuộc tính của một lớp có trong Ontology. Ví dụ : với vị từ diện_tích (Hà_Nội) thì câu trả lời được chứa trong một thuộc tính của đối tượng thành_phố.Hà_Nội.

(2) Lặp lại bước (1) cho đến khi tìm được đối tượng chứa thông tin trả lời, hoặc đã tìm qua tất cả các đối tượng mà không có câu trả lời. Vị từ nào không đưa lại kết quả (không xác định được giá trị) sẽ được loại bỏ ra khỏi S2. Câu trả lời của truy vấn sẽ là phép tính tổ hợp giá trị của các vị từ.

Thay vì đưa ra câu trả lời chính xác hoặc khi không tìm được câu trả lời chính xác cho câu hỏi đưa vào, hệ thống có thể trả về thông tin của đối tượng được xác định là có thể trả lời cho câu hỏi. d. Mạng ngữ nghĩa. Mạng ngữ nghĩa là cơ sở dữ liệu cho hệ thống tìm kiếm ngữ nghĩa. Về cơ bản, một mạng ngữ được hình thành từ một tập các thông tin mang ngữ nghĩa có quan hệ với nhau có thể là tập các Ontology hay tập các trang Web ngữ nghĩa. Với các máy tìm kiếm thông thường, cơ sở dữ liệu cho tìm kiếm được thu thập tự động từ các trang Web hiện có trên internet. Và quá trình xử lý các thông tin của các trang Web lấy về không gặp nhiều khó khăn. Trái lại, đối với máy tìm kiếm ngữ nghĩa thì công việc xây cơ sở cho tìm kiếm không đơn giản bởi hai nguyên nhân sau:

• Số lượng các trang Web ngữ nghĩa còn hạn chế.

• Việc xây dựng Ontology cho từng miền đòi hỏi sự hợp tác của nhiều chuyên gia miền trong thời gian lớn.

Hiện nay có một số công cụ hỗ trợ việc xây dựng Ontology như: Protégé hay GATE…

Page 22: ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆuet.vnu.edu.vn/~thuyhq/Student_Thesis/K49_Nguyen_Minh_Tuan_Thesis.pdfĐẠi hỌc quỐc gia hÀ nỘi trƯỜng

1 http://semanticmining.coling-uni-jena.de/bin/view/External/WebHome 2 http://www.bioontology.org/about.html 3 http://www.loa-cnr.it/medicine/physical-concepts/index.html

14

Chương 2. Tìm kiếm ngữ nghĩa trong tiếng Việt

2.1. Tổng quan về cơ sở cho tìm kiếm ngữ nghĩa tiếng Việt

Từ cấu trúc cơ bản của một hệ thống tìm kiếm ngữ nghĩa đã được trình bày ở trên cho thấy để xây dựng được một hệ thống tìm kiếm ngữ nghĩa trong tiếng Việt trước tiên phải giải quyết hai bai toán:

(1) Xây dựng bộ phân lớp câu hỏi tiếng Việt (2) Xây dựng một mạng ngữ nghĩa tiếng Việt

Hai bài toán trên đều chịu sự chi phối của yếu tố ngôn ngữ. Tiếng Việt có những đặc trưng riêng biệt về: chữ viết – chính tả, âm tiết và từ … do vậy đối với bài toán (1) và (2) phải tích hợp được những đặc trưng này.

Hiện nay chưa có hệ thống tìm kiếm ngữ nghĩa tiếng Việt nào được công bố. Nguyên nhân chính là do tập cơ sở dữ liệu về ngữ nghĩa tiếng Việt còn ít không như tiếng Anh, Pháp… Trên thế giới có rất nhiều tổ chức, viện nghiên cứu, trường đại học đã đưa ra các Ontology trong những miền lĩnh vực khác nhau, có thể kể đến như:

• Miền Y tế có các Ontology như : Semantic Mining1 một Ontology về khai phá dữ liệu trong Y tế, hay Disease Ontology là Ontology về các từ khóa chuyên ngành y khoa được phát triển bởi khoa Tin sinh tại Center for Genetic Medicine2

...

• Miền thương mại, kinh doanh: điển hình là Ontology-Based Business Process Management được nghiên cứu và phát triển bởi Jenz & Partner GmbH [16].

• Miền khoa học phổ thông: có Ontology về vật lý (Physical-Concepts được phát triển bởi Laboratory for Applied Ontology3) …

• Và nhiều miền lĩnh vực khác. Có một số ít Ontolgy được công bố, điển hình là Ontology VN–KIM [4]. Ontology này bao gồm 347 lớp thực thể và 114 quan hệ và thuộc tính. Cơ sở tri thức của VN-KIM là một tập hợp các thực thể có tên phổ biến ở Việt Nam và Quốc tế, các thực thể chủ yếu thuộc các miền như:

- Con người (Các nhà lãnh đạo quốc gia, giám đốc công ty, bác sỹ, nhà giáo, văn nghệ sỹ…)

- Tổ chức, công ty (Các tổ chức xã hội, giáo dục, công ty…)

Page 23: ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆuet.vnu.edu.vn/~thuyhq/Student_Thesis/K49_Nguyen_Minh_Tuan_Thesis.pdfĐẠi hỌc quỐc gia hÀ nỘi trƯỜng

15

- Đơn vị hành chính (các tỉnh, thành phố, quận, huyện, phường, xã ở Việt Nam và các thành phố lớn trên thế giới)

- Sông, núi (các sông, núi lớn ở Việt Nam và trên thế giới)

- Đường (các đường ở TPHCM, Hà Nội, các tỉnh lộ, quốc lộ) Điều này cho thấy, tập các Ontology miền trong Tiếng Việt còn ít, đây là một trong những khó khăn cần giải quyết để sớm, tạo tiền đề phát triển những hệ thống mang ngữ nghĩa. 2.2. Một số đặc trưng của tiếng Việt

Tiếng Việt thuộc ngôn ngữ đơn lập, tức là mỗi một tiếng (âm tiết) được phát âm tách rời nhau và được thể hiện bằng một chữ viết. Đặc điểm này thể hiện rõ rệt ở tất cả các mặt ngữ âm, từ vựng, ngữ pháp. Dưới đây trình bày một số đặc điểm của tiếng Việt theo các tác giả ở Trung tâm ngôn ngữ học Việt Nam đã trình bày [3]. 2.2.1 Đặc điểm ngữ âm

Tiếng Việt có một loại đơn vị đặc biệt gọi là "tiếng", về mặt ngữ âm, mỗi tiếng là một âm tiết. Hệ thống âm vị tiếng Việt phong phú và có tính cân đối, tạo ra tiềm năng của ngữ âm tiếng Việt trong việc thể hiện các đơn vị có nghĩa. Nhiều từ tượng hình, tượng thanh có giá trị gợi tả đặc sắc. Khi tạo câu, tạo lời, người Việt rất chú ý đến sự hài hoà về ngữ âm, đến nhạc điệu của câu văn. 2.2.2 Đặc điểm từ vựng:

Mỗi tiếng nói chung là một yếu tố có nghĩa. Tiếng là đơn vị cơ sở của hệ thống các đơn vị có nghĩa của tiếng Việt. Từ tiếng, người ta tạo ra các đơn vị từ vựng khác để định danh sự vật, hiện tượng..., chủ yếu nhờ phương thức ghép và phương thức láy.

Việc tạo ra các đơn vị từ vựng ở phương thức ghép luôn chịu sự chi phối của quy luật kết hợp ngữ nghĩa, ví dụ: đất nước, máy bay, nhà lầu xe hơi, nhà tan cửa nát... Hiện nay, đây là phương thức chủ yếu để sản sinh ra các đơn vị từ vựng. Theo phương thức này, tiếng Việt triệt để sử dụng các yếu tố cấu tạo từ thuần Việt hay vay mượn từ các ngôn ngữ khác để tạo ra các từ, ngữ mới, ví dụ như tiếp thị, karaoke, thư điện tử (e-mail), thư thoại (voice mail), phiên bản (version), xa lộ thông tin, siêu liên kết văn bản, truy cập ngẫu nhiên, v.v.

Việc tạo ra các đơn vị từ vựng ở phương thức láy thì quy luật phối hợp ngữ âm chi phối chủ yếu việc tạo ra các đơn vị từ vựng, chẳng hạn như chôm chỉa, chỏng chơ, đỏng đa đỏng đảnh, thơ thẩn, lúng lá lúng liếng, v.v.

Vốn từ vựng tối thiểu của tiếng Việt phần lớn là các từ đơn tiết (một âm tiết, một tiếng). Sự linh hoạt trong sử dụng, việc tạo ra các từ ngữ mới một cách dễ dàng đã tạo điều kiện thuận lợi cho sự phát triển vốn từ, vừa phong phú về số lượng, vừa đa dạng trong hoạt động. Cùng một sự vật, hiện tượng, một hoạt động hay một đặc trưng, có thể có nhiều từ ngữ khác nhau biểu thị. Tiềm năng của vốn từ ngữ tiếng Việt được phát huy cao độ trong các phong cách chức năng ngôn ngữ, đặc biệt là trong phong cách ngôn ngữ

Page 24: ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆuet.vnu.edu.vn/~thuyhq/Student_Thesis/K49_Nguyen_Minh_Tuan_Thesis.pdfĐẠi hỌc quỐc gia hÀ nỘi trƯỜng

16

nghệ thuật. Hiện nay, do sự phát triển vượt bậc của khoa học-kĩ thuật, đặc biệt là công nghệ thông tin, thì tiềm năng đó còn được phát huy mạnh mẽ hơn. 2.2.3 Đặc điểm ngữ pháp:

Từ của tiếng Việt không biến đổi hình thái. Đặc điểm này sẽ chi phối các đặc điểm ngữ pháp khác. Khi từ kết hợp từ thành các kết cấu như ngữ, câu, tiếng Việt rất coi trọng phương thức trật tự từ và hư từ. Việc sắp xếp các từ theo một trật tự nhất định là cách chủ yếu để biểu thị các quan hệ cú pháp. Trong tiếng Việt khi nói “Anh ta lại đến” là khác với “Lại đến anh ta”. Khi các từ cùng loại kết hợp với nhau theo quan hệ chính phụ thì từ đứng trước giữ vai trò chính, từ đứng sau giữ vai trò phụ. Nhờ trật tự kết hợp của từ mà "củ cải" khác với "cải củ", "tình cảm" khác với "cảm tình". Trật tự chủ ngữ đứng trước, vị ngữ đứng sau là trật tự phổ biến của kết cấu câu tiếng Việt. Phương thức hư từ cũng là phương thức ngữ pháp chủ yếu của tiếng Việt. Nhờ hư từ mà tổ hợp “anh của em” khác với tổ hợp “anh và em”, “anh vì em”. Hư từ cùng với trật tự từ cho phép tiếng Việt tạo ra nhiều câu cùng có nội dung thông báo cơ bản như nhau nhưng khác nhau về sắc thái biểu cảm. Ví dụ, so sánh các câu sau đây:

- Ông ấy không hút thuốc.

- Thuốc, ông ấy không hút.

- Thuốc, ông ấy cũng không hút. Ngoài trật tự từ và hư từ, tiếng Việt còn sử dụng phương thức ngữ điệu. Ngữ điệu giữ vai trò trong việc biểu hiện quan hệ cú pháp của các yếu tố trong câu, nhờ đó nhằm đưa ra nội dung muốn thông báo. Trên văn bản, ngữ điệu thường được biểu hiện bằng dấu câu. Sự khác nhau trong nội dung thông báo được nhận biệt khi so sánh hai câu sau:

- Đêm hôm qua, cầu gãy.

- Đêm hôm, qua cầu gãy. Qua một số đặc điểm nổi bật vừa nêu trên đây, chúng ta có thể hình dung được phần nào bản sắc và tiềm năng của tiếng Việt 2.3. Tìm kiếm ngữ nghĩa trong lĩnh vực y tế

Trong phần này, khóa luận sẽ trình bày những bước đầu của việc xây dựng một máy tìm kiếm ngữ nghĩa trên lĩnh vực Y tế cho tiếng Việt. 2.3.1. Ontology Y tế trong tiếng Việt

Với các dữ liệu về y tế thu thập được từ các trang Web và Ontology BioCaster [1], tiến hành liệt kê các thuật ngữ (term) quan trọng nhằm có thể nêu định nghĩa cho người dùng với hướng nghiên cứu tiếp theo là tự động liên kết đến các định nghĩa có sẵn trên

Page 25: ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆuet.vnu.edu.vn/~thuyhq/Student_Thesis/K49_Nguyen_Minh_Tuan_Thesis.pdfĐẠi hỌc quỐc gia hÀ nỘi trƯỜng

17

trang wikipedia. Từ các thuật ngữ trên, sẽ định nghĩa các thuộc tính của chúng. Việc xây dựng Ontology là một quá trình lặp lại được bắt đầu bằng việc định nghĩa các khái niệm trong hệ thống lớp và mô tả thuộc tính của các khái niệm đó. Qua khảo sát Ontology BioCaster với các thuật ngữ trong tiếng Việt, cùng với một số luợng lớn các trang Web về y tế hiện nay ở Việt Nam, chúng tôi đã xây dựng nên một tập các thuật ngữ, các mối quan hệ cơ bản nhất để từ đó để xuất ra Ontology thử nghiệm ban đầu, với những khái niệm cơ bản sau:

- Thuốc: bao gồm hai loại Đông y và Tây y. Ví dụ, thuốc 5-Fluorouracil Ebewe chống ung thư (ung thư đại trực tràng, vú, thực quản, dạ dày), hay là thuốc Ciloxan sát trùng, chống nhiễm khuẩn ở mắt. Thuốc đông y ngũ gia bì chữa bệnh phong thấp, tráng gân cốt …

- Bệnh, hội chứng: Các loại bệnh như cúm gà, viêm loét dạ dày, các hội chứng mất ngủ, suy tim …

- Triệu chứng : Ví dụ như triệu chứng của cúm H5N1 là sốt cao, nhức đầu, đau mỏi toàn thân,...

- Nguyên nhân: Tác nhân (virut, vi khuẩn..muỗi, gà, chim..), và các nguyên khác như là thiếu ngủ, lười tập thể dục, hút thuốc lá thụ động …

- Thực phẩm: Bao gồm các món ăn có lợi hoặc gây hại cho sức khỏe con nguời cũng như phù hợp với một số loại bệnh nào đó.

- Người: Bao gồm bác sỹ, giáo sư mà người bệnh có thể tìm kiếm để khám bênh, xin giúp đỡ khi mắc bệnh.

- Tổ chức: Bệnh viện, phòng khám, hiệu thuốc … là các địa điểm để bệnh nhân có thể tìm đến khi mắc bệnh.

- Địa điểm: Địa chỉ của một tổ chức nào đó mà bệnh nhân có thể tìm đến, các nơi dịch đang phát sinh và lan rộng.

- Cơ thể người: Là tất cả các bộ phận cơ thể người có thể thể bị nhiễm bệnh: mắt, mũi, gan, tim …

- Hoạt động: Chẩn trị, xét nghiệm, hồi cứu, hô hấp nhân tạo, phòng tránh, tiêm phòng ...

- Hóa chất: Vitamin, khoáng chất …gây tác động xấu, tốt đến cơ thể con người, ví dụ vitamin A có lợi cho mắt, Vitamin C, E làm giảm các nguy cơ bệnh tim…

Giữa các khái niệm cơ bản trên có các mỗi quan hệ như sau:

- Sự tương tác thuốc – thuốc : Thuốc này có thể gây tác dụng phụ cho thuốc kia, hay có thể kết hợp các loại thuốc với nhau để chữa bệnh. Ví dụ thuốc chống ung

Page 26: ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆuet.vnu.edu.vn/~thuyhq/Student_Thesis/K49_Nguyen_Minh_Tuan_Thesis.pdfĐẠi hỌc quỐc gia hÀ nỘi trƯỜng

18

thư Alexan không nên dùng chung với methotrexate hay 5-fluorouracil <tương_tác_thuốc>

- Thực phẩm tác động xấu, tốt đến bệnh, cơ thể người: Ví dụ như uống xôđa nhiêu có rủi ro mắc các bệnh rối loạn trao đổi chất, tăng vòng bụng, tăng huyết áp…<tác_động>

- Quan hệ bệnh – thuốc: <chữa_bằng>(<chữa>)

- Quan hệ nguyên nhân gây ra bệnh, hay bệnh có nguyên nhân: <gây_ra> (<bị_gây_ra_bởi>)

- Quan hệ bệnh – triệu chứng: <biểu_hiện_bởi> (<liên_quan>)

- Quan hệ bệnh biến chứng thành bệnh khác: <biến_chứng>

- Các hoạt động tác động lên bệnh: <tác_động>

- Bệnh được phát hiện, chữa trị ở tổ chức:< phát_hiện_tại>

- Người làm việc trong một tổ chức tại địa điểm nào đó: <tại> Ví dụ minh họa thể hiện Mô hình của Ontology Y tế này ở hình 2. 2.3.2. Bộ phân lớp câu hỏi Y tế trong tiếng Việt

Với Ontology Y tế giới thiệu ở phần trên, để giải quyết được hai bài toán mang đặc trưng của tiếng Việt cần xây dựng một bộ phân lớp câu hỏi Y tế trong tiếng Việt. Bộ phân lớp câu hỏi này là bộ phân lớp nội miền (trong miền Ontology Y tế), tức là với các câu hỏi/truy vấn của người dùng đưa vào, bộ phân lớp phải xác định chúng thuộc về các khái niệm nào. Chương 3 sẽ cụ thể hóa các phương pháp phân lớp câu hỏi.

Page 27: ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆuet.vnu.edu.vn/~thuyhq/Student_Thesis/K49_Nguyen_Minh_Tuan_Thesis.pdfĐẠi hỌc quỐc gia hÀ nỘi trƯỜng

19

Chương 3. Các phương pháp phân lớp câu hỏi

3.1. Giới thiệu về phân lớp câu hỏi. Trong hầu hết các hệ thống tìm kiếm ngữ nghĩa, bước đầu tiên là xử lý câu hỏi nhằm

xác định câu hỏi đó hỏi về cái gì? Phân chia truy vấn của người dùng ra thành một số lớp định nghĩa trước như hỏi địa điểm (ở đâu ?), thời gian (khi nào ?)… Thông thường ở phần lớn các trường hợp để xác định được điều này, hệ thống thường sử dụng một số thông tin hay đặc trưng của câu hỏi để xác định kiểu của câu trả lời. Ví dụ với câu hỏi “ai là người phát hiện ra vacxin phòng bệnh dại?” thì mục đích của câu hỏi là muốn tìm hiểu thông tin về một người. Hệ thống cần xác định được kiểu của câu trả lời (trong ví dụ này là thông tin về một người) để có thể trả về thong tin mong muốn cho người dùng.

Trong các hệ thống tìm kiếm ngữ nghĩa, đối tượng được tìm kiếm là các thông tin mang ngữ nghĩa, do vậy việc phân lớp câu hỏi còn được gọi là phân lớp ngữ nghĩa cho câu hỏi (semantic question classification) có hai vai trò quan trọng sau đây:

(1) Giảm không gian tìm kiếm, chẳng hạn với câu hỏi “thuốc nào chữa bệnh viêm họng?” hệ thống chỉ cần tìm kiếm trên các lớp thuốc của miền Y tế để có câu trả lời, thay vì tìm kiếm trên toàn bộ cơ sở dữ liệu.

(2) Nâng cao độ chính xác của câu trả lời. Đối với các hệ thống tìm kiếm ngữ nghĩa lớn tìm kiếm trên nhiều miền Ontology, thường có bộ phân lớp câu hỏi kép gồm :

(1) phân lớp để xác định miền Ontology của câu hỏi (phân lớp nội miền) (2) phân lớp để xác định câu hỏi thuộc lĩnh vực nào (lớp nào) trong miền Ontology đã

xác định ở phân lớp nội miền. Ngược lại đối với các máy tìm kiếm ngữ nghĩa trên một miền Ontology, chỉ cần xây dựng bộ phân lớp đơn (2). 3.2. Các phương pháp phân lớp câu hỏi

Hiện nay, có một số nghiên cứu tập trung vào hướng tiếp cận biểu thức chính qui dựa vào những luật ngữ pháp viết tay (hand-written grammar rulers) để xác định lớp của câu hỏi đầu vào như các tác giả B., Huang, Y., Kupsc, A. và Nyberg, E năm 2003 [35] giới thiệu. Mặc dù hướng tiếp cận này cũng đạt được những thành công đáng kể, nhưng vẫn có những hạn chế mà đã được Li, Roth 2002[19] và Hacioglu, Ward 2003[16] chỉ ra.

Page 28: ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆuet.vnu.edu.vn/~thuyhq/Student_Thesis/K49_Nguyen_Minh_Tuan_Thesis.pdfĐẠi hỌc quỐc gia hÀ nỘi trƯỜng

20

Cụ thể, các tác giả [14] đã chỉ ra bốn hạn chế của hướng tiếp cận này: (1) Xây dựng mô hình cho phương pháp này rất tốn thời gian và công sức, cần có sự

cộng tác của những chuyên gia trong lĩnh vực ngôn ngữ học khi xây dựng các mẫu câu hỏi và văn phạm cho từng loại câu hỏi đó.

(2) Các luật ngữ pháp viết tay và văn phạm của từng loại câu hỏi rất cứng nhắc, không linh động. Khi một dạng câu hỏi mới xuất hiện, mô hình theo hướng này không thể xử lý. Muốn xử lý được mô hình cần phải được cung cấp những luật mới.

(3) Vấn đề nhập nhằng của các văn phạm ngữ pháp rất khó xử lý, kiểm soát và phụ thuộc vào đặc điểm của từng ngôn ngữ.

(4) Khi tập câu trả lời được mở rộng hoặc thay đổi kéo theo việc phải viết lại hoàn toàn các luật trước đó nên hệ thống rất khó mở rộng.

Với các hạn chế như trên dẫn đến số lớp của bộ phân lớp theo hướng này là nhỏ (khoảng 8-10 lớp) không thích hợp khi tích hợp vào một hệ thống tìm kiếm ngữ nghĩa có qui mô lớn. Một hướng tiếp cận khác để giải quyết bài toán phân lớp câu hỏi là theo hướng tiếp cận xác suất được Jonathan Brown năm 2004 tổng hợp lại [15], bao gồm hai cách tiếp cận chính đó là:

(1) Tiếp cận theo hướng học máy (machine learning) (2) Tiếp cận theo mô hình ngôn ngữ (language modeling)

Không giống như hướng tiếp cận biểu thức chính quy (thực hiện việc so sánh mẫu), các phương pháp theo hướng tiếp cận dựa trên xác suất sẽ xây dựng một mô hình phân lớp tự động từ tập dữ liệu học cho trước. Các thuật toán của hướng tiếp cận này sẽ tính toán xác suất phân lớp cho câu hỏi vào dựa trên những đặc trưng hay những mối quan hệ của các từ trong câu hỏi/truy vấn đưa vào. Nhờ đó phương pháp này khắc phục những nhược điểm của hướng tiếp cận biểu thức chính quy [15]. Do vậy, hướng tiếp cận này không những phù hợp với các hệ thống tìm kiếm ngữ nghĩa lớn mà còn phù hợp với các hệ thống nhỏ hơn (do khả năng linh hoạt cao dễ dàng mở rộng tập dữ liệu và số phân lớp).

Khóa luận sẽ tập trung trình bày các phương pháp phân lớp câu hỏi dựa trên hướng tiếp cận xác suất để xây dựng bộ phân lớp câu hỏi trong Tiếng Việt. 3.3. Hướng tiếp cận dựa trên xác suất

Bên cạnh hướng tiếp cận dựa trên biểu thức chính quy thì hướng tiếp cận dựa trên xác suất cũng là một hướng tiếp cận được nhiều nhà khoa học lựa chọn khi nghiên cứu về phân lớp câu hỏi. Như đã được giới thiệu, hướng tiếp cận dựa trên xác suất bao gồm hai hướng con là hướng học máy và hướng dựa trên mô hình ngôn ngữ [15].

Hướng tiếp cận học máy sử dụng những thuật toán và kỹ thuật cho phép máy tính có thể “học” 1 được. Cụ thể, trong bài toán phân lớp câu hỏi hướng tiếp cận học máy sử dụng các thuật toán như : Support Vector Machines (SVM), láng giềng gần nhất (Nearest

Page 29: ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆuet.vnu.edu.vn/~thuyhq/Student_Thesis/K49_Nguyen_Minh_Tuan_Thesis.pdfĐẠi hỌc quỐc gia hÀ nỘi trƯỜng

21

Neighbors – kNN), Naïve Bayes (NB)…v.v để học trên tập câu hỏi mẫu đã được gán nhãn từ đó xây dựng mô hình phân lớp câu hỏi.

Trong khi đó, tiếp cận dựa trên mô hình ngôn ngữ xây dựng một mô hình ngôn ngữ thống kê có thể ước lượng được phân phối của ngôn ngữ tự nhiên chính xác nhất có thể. Ví dụ, với một xâu S = “Bệnh đau dạ dày chữa ở đâu?” thì mô hình ngôn ngữ cho xâu S chính là xác suất P(S), sao cho xác suất này ánh xạ với tần suất mà xâu S trở được xuất hiện như một câu nói trong ngôn ngữ tự nhiên (ví dụ tiếng Việt). Khi áp dụng phương pháp này cho bài toán phân lớp câu hỏi, tức là xây dựng một mô hình ngôn ngữ cho từng câu hỏi. Mô hình này sẽ cho biết xác suất câu hỏi được phân vào lớp nào là hợp lý nhất (lớn nhất). Cả hai phương pháp trên đều có độ chính xác khác nhau phụ thuộc vào ngôn ngữ áp dụng. Để lựa chọn hướng tiếp cận tốt nhất khi xây dựng bộ phân lớp câu hỏi cho tiếng Việt, phần tiếp theo của khóa luận sẽ trình bày những khảo sát về cả hai hướng tiếp cận trên 3.3.2 Các hướng tiếp cận theo phương pháp học máy

Trong hướng tiếp học máy thuật toán được sử dụng chủ yếu để giải quyết bài toán phân lớp câu hỏi là Support Vector Machines (được sử dụng trong các tài liệu [19, 20, 22], ngoài ra các thuật toán khác cũng được sử dụng như Nearest Neighbors (NN), Naïve Bayes (NB), Decision Tree (DT) và Sparse Network of Winnows (SNoW) [42]. Đưới đây trình bày sơ lược về nội dung một số thuật toán học máy. 3.3.1.1 Support Vector Machines (SVM) a. Thuật toán [2] Thuật toán Support Vector Machines (máy vector hỗ trợ) được Corters và Vapnik giới thiệu vào năm 1995. SVM rất hiệu quả để giải quyết các bài toán với dữ liệu có số chiều lớn như các vector biểu diễn văn bản. Thuật toán SVM ban đầu chỉ được thiết kế để giải quyết bài toán phân lớp nhị phân tức là số lớp hạn chế là hai lớp. Hiện nay, SVM được đánh giá là bộ phân lớp chính xác nhất cho bài toán phân lớp văn bản [31] bởi vì đó là bộ phân lớp tốc độ rất nhanh và hiệu quả đối với bài toán phân lớp văn bản. Cho tập dữ liệu học D ={(xi, yi), i = 1,…, n} với xi ∈ Rm và yi∈{0,1} là một số là một số nguyên xác định xi là dữ liệu dương hay âm. Một tài liệu xi được gọi là dữ liệu dương nếu nó thuộc lớp ci ; xi được gọi là dữ liệu âm nếu nó không thuộc lớp ci . Bộ phân lớp tuyến tính được xác định bằng siêu phẳng:

{x : f(x) = WT + w0 =0}

Trong đó W∈ Rm và w0∈R đóng vai trò là tham số của mô hình. Hàm phân lớp nhị phân h: Rm → {0,1}, có thể thu được bằng cách xác định dấu của f(x):

{ 0 (x) 10 (x) 0

>≤= f

f h

Page 30: ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆuet.vnu.edu.vn/~thuyhq/Student_Thesis/K49_Nguyen_Minh_Tuan_Thesis.pdfĐẠi hỌc quỐc gia hÀ nỘi trƯỜng

22

Học bộ phân lớp của mô hình bao gồm việc xác định w và w0 từ dữ liệu. Với thuật toán này, mỗi dữ liệu được xem là một điểm trong mặt phẳng. Dữ liệu học là tách rời tuyến tính (linearly separable) nếu tồn tại một siêu phẳng sao cho hàm phân lớp phù hợp với tất cả các nhãn; tức là yif(xi)>0 với mọi i = 1,...,n. Với giả thuyết này, Rosenblatt đã đưa ra một thuật toán đơn giản để xác định siêu phẳng :

1. w ←0 2. w0←0 3. repeat 4. e←0 5. for i←1,…,n 6. do s←sign(yi(wTxi +w0) 7. if s<0 8. then w ←w + yixi 9. w0←w0 + yixi 10. e←e+1 11. util e=0 12. return (w,w0)

Điều kiện cần để D tách rời tuyến tính là số dữ liệu học n = |D| nhỏ hơn hoặc bằng m+1. Điều này là thường đúng với bài toán phân lớp văn bản, bởi vì số lượng từ mục có thể lên tới hàng nghìn và lớn hơn nhiều lần so với số lượng dữ liệu học.

Page 31: ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆuet.vnu.edu.vn/~thuyhq/Student_Thesis/K49_Nguyen_Minh_Tuan_Thesis.pdfĐẠi hỌc quỐc gia hÀ nỘi trƯỜng

23

Hình 4. Mối quan hệ giữa các siêu phẳng phân cách

Trong Hình 4, giả sử rằng các dữ liệu mẫu thuộc lớp âm và lớp dương đều tuân theo luật phân bố chuẩn Gaussian, và được tạo ra với cùng một xác suất. Khi đó một siêu phẳng phân cách được gọi là lý tưởng nếu nó làm cực tiểu xác suất phân lớp sai cho một điểm dữ liệu mới. Với giả thuyết ở trên thì siêu phẳng phân cách lý tưởng sẽ trực giao với đoạn thẳng nối tâm của hai vùng có mật độ xác suất lớn nhất. Rõ ràng các siêu phẳng được xây dựng nhằm phân cách các điểm dữ liệu mẫu có thể lệch đi rất nhiều so với siêu phẳng lý tưởng, do đó sẽ dẫn tới việc phân lớp không tốt trên dữ liệu mới sau này. Độ phức tạp của quá trình xác định siêu phẳng lý tưởng sẽ tăng theo số chiều của không gian đầu vào m, vì với một số lượng các dữ liệu mẫu cố định, tập hợp các siêu phẳng thực tế sẽ tăng theo hàm mũ với lũy thừa m. Với bài toán phân lớp trang văn bản, m thường rất lớn, khoảng vài ngàn hay thậm chí là hàng triệu từ.

Page 32: ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆuet.vnu.edu.vn/~thuyhq/Student_Thesis/K49_Nguyen_Minh_Tuan_Thesis.pdfĐẠi hỌc quỐc gia hÀ nỘi trƯỜng

24

Hình 5. Siêu phẳng tối ưu và biên.

Theo lý thuyết thống kê được phát triển bởi Vapnik năm 1998 chỉ ra rằng có thể xác định một siêu phẳng tối ưu thoả mãn hai tính chất quan trong (1) nó là duy nhất với mỗi tập dữ liệu học tách rời tuyến tính; (2) khả năng overfitting là nhỏ hơn so với các siêu phẳng khác [26]. Định nghĩa biên M của bộ phân lớp là khoảng cách giữa các siêu phẳng và các dữ liệu học gần nhất. Siêu phẳng tối ưu nhất là siêu phẳng có biên lớn nhất, điều đó có nghĩa là chúng ta cần tìm siêu phẳng sao cho khoảng cách từ siêu phẳng đến những điểm gần nhất là lớn nhất (Hình 5). Vapnik cũng chứng minh rằng khả năng overfitting với siêu phẳng tối ưu nhỏ hơn so với các siêu phẳng khác.

Khoảng cách từ một điểm x đến siêu phẳng là :

Vì vậy siêu phẳng tối ưu có thể thu được bằng ràng buộc tối ưu sau:

0w,w

max M sao cho Ti i 0

1 y (w x w ) M,i 1,...n|| w ||

+ ≥ =

0T ww

||w||1

+

Page 33: ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆuet.vnu.edu.vn/~thuyhq/Student_Thesis/K49_Nguyen_Minh_Tuan_Thesis.pdfĐẠi hỌc quỐc gia hÀ nỘi trƯỜng

25

Trong đó ràng buộc yêu cầu mỗi tài liệu học (tương đương với các điểm) phải nằm trên nửa mặt phẳng của nó và khoảng cách từ điểm tới siêu phẳng lớn hơn hoặc bằng M.

Đặt 1w M= biểu thức trên được viết lại như sau

0w,wmin W sao cho T

i i 0y (w x w ) M,i 1,...,n+ ≥ =

Đưa về phương trình Lagrangian:

( )n

2 Ti i 0

i 1

1L(D) || w || y w w 12 =

⎡ ⎤= − + α + −⎣ ⎦∑

Sau đó tính đạo hàm của phương trình trên theo w,w0 ta được n

Ti

i 1

1max2α

=

− α Λα + α∑ thoả mãn i 0,i 1,...,nα ≥ =

Với Λ là ma trận n×n trong đó iα = yiyj jTi xx . Đây là bài toán bậc hai, theo lý thuyết có

thể giải được bằng phương pháp chuẩn tối ưu. Với mỗi dữ liệu học i, cách giải phải thoả mãn điều kiện:

iα ( )[ ]1wwy 0T

i −+ =0

Và do đó hoặc iα = 0 hoặc )wxw(y 0iT

i + =1. Nói cách khác, nếu iα >0 thì khoảng cách từ điểm xi đến mặt phẳng phân cách là M . Các điểm thoả mãn iα >0 được gọi là các vector hỗ trợ. Hàm quyết định h(x) có thể được tính qua công thức dấu của f(x) hoặc tương đương với dạng sau:

iT

i

n

1ii xxxy(x) ∑

=

=f

Nếu dữ liệu học không tách rời tuyến tính, thêm biến ξi và thay phương trình trên bằng phương trình:

∑=

+n

1i

C||w||min iww,ξ

0

thỏa mãn

( )+ ≥ − =

≥ =

⎧⎪⎨⎪⎩

Ti i 0 i

i

y w x w 1 ξ ,i 1,...,n

ξ 0, i 1,...,n

Vấn đề này có thể đưa về dạng:

1

1max2

nT

iiα

α α α=

− Λ +∑ thỏa mãn Cα0 i ≤≤ i=1,…,n

Bộ phân lớp theo cách này được gọi là bộ phân lớp máy vector hỗ trợ – Support Vector Machine.

Page 34: ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆuet.vnu.edu.vn/~thuyhq/Student_Thesis/K49_Nguyen_Minh_Tuan_Thesis.pdfĐẠi hỌc quỐc gia hÀ nỘi trƯỜng

26

b. Phân lớp đa lớp với SVM Bài toán phân lớp câu hỏi yêu cầu một bộ phân lớp đa lớp do đó cần cải tiến SVM cơ bản (phân lớp nhị phân) thành bộ phân lớp đa lớp. Một trong những phương pháp cải tiến đó là sử dụng thuật toán 1-against-all[20]. Ý tưởng cơ bản như sau:

- Giả sử tập dữ liệu mẫu (x1,y1), … ,(xm,ym) với xi là một vector n chiều. và yi ∈Y là nhãn lớp được gán cho vector xi .

- Chia tập Y thành m tập lớp con có cấu trúc như sau zi ={yi , \ iY y } .

- Áp dụng SVM phân lớp nhị phân cơ bản với m tập Zi để xây dựng siêu phẳng cho phân lớp này.

- Bộ phân lớp với sự kết hợp của m bộ phân lớp trên được gọi là bộ phân lớp đa lớp mở rộng với SVM.

c. Áp dụng SVM vào phân lớp câu hỏi Tuy mục tiêu ban đầu của SVM là dùng cho phân lớp nhị phân, nhưng hiện nay đã

được cải tiến cho phân lớp đa lớp, phiên bản phân lớp đa lớp này sẽ được sử dụng cho bài toán phân lớp câu hỏi. Hai quá trình chuẩn bị dữ liệu khi xây dựng được mô hình phân lớp câu hỏi dựa trên SVM như sau:

(1) Thiết kế mô hình cây phân cấp (taxonomy) cho tập lớp câu hỏi. Miền ứng dụng của câu hỏi sẽ quyết định độ phức tạp (phân cấp) của taxonomy

(2) Xây dựng tập dữ liệu mẫu (corpus) đã được gán nhãn cho từng lớp câu hỏi. Trong bước này, cách lựa chọn đặc trưng để biểu diễn câu hỏi có vai trò quan trọng. Phụ thuộc vào đặc điểm của từng ngôn ngữ mà tập các đặc trưng được lựa chọn khác nhau. Ví dụ với tiếng Anh thì tập đặc trưng của nó là các từ.

Sau khi xây dựng được tập các lớp câu hỏi cùng với tập dữ liệu sẽ tiến hành “học”: Mô hình học như sau:

Hình 6. Sơ đồ phân lớp câu hỏi với SVM

Trong Hình 6, bước tiền xử lý thực hiện chức năng làm tinh dữ liệu: loại bỏ từ dừng (stopword) …sau đó câu hỏi được trích trọn các đặc trưng (các đặc trưng được lựa chọn từ trước), dữ liệu đầu vào của bộ phân lớp SVM sẽ là tập các vector đặc trưng.

Page 35: ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆuet.vnu.edu.vn/~thuyhq/Student_Thesis/K49_Nguyen_Minh_Tuan_Thesis.pdfĐẠi hỌc quỐc gia hÀ nỘi trƯỜng

27

3.3.1.2 Một số phương pháp khác Ngoài SVM và K láng giềng gần nhất, trong bài toán phân lớp câu hỏi một số phương pháp khác được giới thiệu ở [42] như:

• Thuật toán Naïve Bayes (NB) [32]là một thuật toán phổ biến trong học máy. Được McCallum [22] và Yang [41] đánh giá là một trong những phương pháp có hiệu năng cao nhất khi thực hiện phân lớp văn bản. Tư tưởng chủ đạo của thuật toán Naïve Bayes là ước lượng các thông số của đa thức sinh cho của thể hiện (văn bản, câu …). Sau đó lựa chọn lớp thích hợp nhất cho từng thể hiện dựa vào các luật Bayes và giả thiết Bayes (giả thiết độc lập - sự xuất hiện của đặc trưng này là tự nhiên, không phụ thuộc vào sự xuất hiện các đặc trưng khác)

• Thuật toán cây quyết định (Decision Tree –DT) [32] là phương pháp xấp xỉ giá trị các hàm mục tiêu rời rạc. Trong đó, hàm học của phương pháp này là một cây có bậc tùy ý. Cây quyết định bao gồm các lá và nhánh, mỗi là là đại diện cho một lớp và các nhánh là các điều kiện, đặc trưng dẫn đến lớp ở đỉnh lá.

• Thuật toán Mạng lọc thưa (Sparse Network of Winnows -SNoW) [6] được thiết kế để học trên những tập dữ liệu có số lượng đặc trưng lớn. Được sử dụng rộng rãi trong các bài toán phân lớp đa lớp. SNoW là một mạng thưa dùng các hàm tuyến tính là các bộ lọc để cập nhật tập luật. Phương pháp này thích hợp cho học trong miền khi các đặc trưng tiềm năng tạo các quyết định sai khác nhau mà không biết mức độ ưu tiên.

• Bộ phân lớp dựa trên thuật toán K người láng giềng gần nhất là một bộ phân lớp dựa trên bộ nhớ, đơn giản vì nó được xây dựng bằng cách lưu trữ tất cả các đối tượng trong tập huấn luyện. Để phân lớp cho một điểm dữ liệu mới x, trước hết bộ phân lớp sẽ tính khoảng cách từ điểm x đến tất cả các điểm dữ liệu trong tập huấn luyện. Qua đó tìm được tập N(x, D, k) gồm k điểm dữ liệu mẫu có khoảng cách đến x là gần nhất. Ví dụ nếu các dữ liệu mẫu được biểu diễn bởi không gian vector thì chúng ta có thể sử dụng khoảng cách Euclian để tính khoảng cách giữa các điểm dữ liệu với nhau. Sau khi xác định được tập N(x, D, k), bộ phân lớp sẽ gán nhãn cho điểm dữ liệu x bằng lớp chiếm đại đa số trong tập N(x, D, k). Mặc dù rất đơn giản, nhưng thuật toán K người láng giềng gần nhất đã cho kết quả tốt trong nhiều ứng dụng thực tế. Để áp dụng thuật toán k-NN vào tài liệu văn bản, chúng ta sử dụng hàm tính trọng số cho mỗi lớp theo biểu thức (1.1) (Trong công thức, ( )kD,x,Nc là tập con chỉ chứa các đối tượng thuộc lớp c của tập):

( )( )∑

=kD,x,Ncx'

)x'cos(x,x|cScore (1.1)

Khi đó tài liệu x sẽ được phân vào lớp c0 nếu: ( ) ( ){ }Cc,x|cscoreMaxx|cScore 0 ∈=

Page 36: ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆuet.vnu.edu.vn/~thuyhq/Student_Thesis/K49_Nguyen_Minh_Tuan_Thesis.pdfĐẠi hỌc quỐc gia hÀ nỘi trƯỜng

28

3.3.1.3 Thực nghiệm khi tiến hành phân lớp câu hỏi Với sự phong phú của các thuật toán trong học máy dẫn đến việc phải cân nhắc khi lựa chọn thuật giải nào đại diện cho hướng học máy áp dụng vào bài toán phân lớp câu hỏi trong tiếng Việt. Zhang [42] đã tiến hành thử nghiệm năm thuật toán khác nhau trong hướng học máy khi xây dựng bộ phân lớp câu hỏi. Dựa trên kết thực nghiệm này, sẽ quyết định thuật toán sử dụng trong hướng học máy.

Thực nghiệm của Zhang như sau: a. Taxonomy của lớp câu hỏi

Lớp cha Các lớp con

ABBR Tóm tắt, sự khai triển

DESC Định nghĩa, mô tả, lý do

ENTY Động vật, cơ thể, màu sắc, sang tác, tiền tệ, ngôn ngữ, chữ viết, loại khác, thực vật, bệnh /thuốc, sự kiện, thực phẩm, ngôn ngữ, công cụ - phương tiện, sản phẩm, tôn giáo, thể thao, vật chất, ký hiệu, kỹ thuật, thuật ngữ, xe cộ, từ.

HUM Nhóm, cá thể, tên, tư cách

LOC Thành phố, đất nước, núi, bang, loại khác

NUM Mã, đếm, ngày, khoảng cách, tiền, thứ tự, khác, phần trăm-tỉ lệ, thời kỳ, tốc độ, nhiệt độ, kích cỡ, cân nặng

Bảng 1. Taxonomy của tập lớp câu hỏi thử nghiệm của Zhang Bảng trên mô tả tầng cao nhất của taxonomy câu hỏi, mỗi một lớp thuộc cột “chi tiết” mô tả một loại câu hỏi riêng biệt. b. Tập câu hỏi cho taxonomy trên bao gồm các câu hỏi đã được gán nhãn được cung cấp

bởi USC [11], UIUC [42] và TREC [14][13] [12]. Tập dữ liệu này được gán nhãn thủ công. Mỗi một câu hỏi chỉ thuộc một lớp nhất định. Tập đặc trưng lựa chọn bao gồm hai loại đặc trưng:

(1) bag-of-words: biểu diễn văn bản/câu hỏi độc lập với ngôn ngữ và ngữ pháp. Mỗi một văn bản/câu hỏi được biểu diễn bẳng một tập các từ, tập từ này không xếp thứ tự.

Page 37: ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆuet.vnu.edu.vn/~thuyhq/Student_Thesis/K49_Nguyen_Minh_Tuan_Thesis.pdfĐẠi hỌc quỐc gia hÀ nỘi trƯỜng

29

(2) bag-of-ngrams: là một kỹ thuật biểu diễn văn bản độc lập với ngôn ngữ. Nó chuyển đổi các văn bản/câu hỏi thành các vectơ đặc trưng đa chiều với mỗi đặc trưng tương đương với một chuỗi con liền kề nhau. n-grams là các ký tự liền kề nhau (chuỗi con) bắt đầu từ mẫu tự A. Vì vậy, khoảng cách n-grams trong văn bản ít hơn hoặc bằng |A|n. Đều này cho thấy số chiều của vectơ đặc trưng n-grams có thể rất lớn thậm chí khi n có giá trị vừa phải.

Vector đặc trưng trích trọn được với mỗi câu hỏi thường là vector có giạ trị nhị phân (các chiều thường mang giá trị 0 hoặc 1 – xuất hiện hoặc không xuất hiện) khi sử dụng hai kiểu đặc trưng trên.

c. Kết quả của thí nghiệm Sau năm lần thí nghiệm với 5 tập dữ liệu có số lượng câu hỏi khác nhau : 1.000, 2.000, 3.000, 4.000 và 5.500 câu. Kết quả thực nghiệm như sau (về độ chính xác):

• Thí nghiệm trên tập lớp cha (năm lớp cha như ở bảng 1.0) o Khi chọn vector đặc trưng là bag-of-words

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.

Thuật toán 1000 2000 3000 4000 5000

Láng giềng gần nhất 70.0% 73.6% 74.8% 74.8% 75.6%

Naïve Bayes 53.8% 60.4% 74.2% 76.0% 77.4%

Cây quyết định 78.8% 79.8% 82.0% 83.4% 84.2%

SNoW 71.8% 73.4% 74.2% 78.2% 66.8%

SVM 76.8% 83.4% 87.2% 87.4% 85.8%

Page 38: ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆuet.vnu.edu.vn/~thuyhq/Student_Thesis/K49_Nguyen_Minh_Tuan_Thesis.pdfĐẠi hỌc quỐc gia hÀ nỘi trƯỜng

30

o Khi sử dụng vertor đặc trưng là bag-of-Ngrams

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

• Thí nghiệm trên tập lớp chi tiết (trong bảng 1.0) o Khi chọn vector đặc trưng là bag-of-words

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.

Thuật toán 1000 2000 3000 4000 5000

Láng giềng gần nhất 72.0% 81.0% 79.8% 80.8% 79.8%

Naïve Bayes 73.0% 79.2% 80.0% 81.8% 83.2%

Cây quyết định 73.8% 82.6% 83.0% 84.6% 84.2%

SNoW 59.8% 85.2% 80.6% 87.0% 86.6%

SVM 77.6% 82.6% 84.8% 84.8% 87.4%

Thuật toán 1000 2000 3000 4000 5000

Láng giềng gần nhất 57.4% 62.8% 65.2% 67.2% 68.4%

Naïve Bayes 48.8% 52.8% 56.6% 56.2% 58.4%

Cây quyết định 67.0% 70.0% 73.6% 75.4% 77.0%

SNoW 42.2% 66.2% 69.0% 66.6% 74.0%

SVM 68.0% 75.0% 77.2% 77.4% 80.2%

Page 39: ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆuet.vnu.edu.vn/~thuyhq/Student_Thesis/K49_Nguyen_Minh_Tuan_Thesis.pdfĐẠi hỌc quỐc gia hÀ nỘi trƯỜng

31

o Khi sử dụng vertor đặc trưng là bag-of-Ngrams

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

Từ kết quả thực nghiệm trên, nhận thấy rằng:

• Độ chính xác của phân lớp tỉ lệ với tập dữ liệu học

• SVM mang lại độ chính xác cao hơn so với các phương pháp còn lại. Đối với SVM độ chênh lệnh khi sử dụng tập đặc trưng là bag-of-words và tập đặc trưng bag-of-ngrams là không lớn.

Như vậy, dựa trên kết quả thực nghiêm trên và một số thực nghiệm khác của Hacioglu [16] và Li [19]có thể kết luận rằng đối với phân lớp câu hỏi theo phương pháp SVM là lựa chọn khá tốt so với các thuật toán khác trong học máy. Phần thực nghiệm sử dụng SVM cho tập dữ liệu tiếng Việt sẽ được tình bày cụ thể ở Chương 4. 3.3.3 Hướng tiếp cận dựa trên mô hình hình ngôn ngữ Chúng ta có thể xem xét rất nhiều bài toán trong lĩnh vực xử lý ngôn ngữ tự nhiên (Natural Language Processing - NLP) dưới dạng các bài toán phân lớp với nhiệm vụ là ước lượng xác suất có điều kiện p(a|b) của “lớp” a xuất hiện trong “ngữ cảnh” (context) b, hay nói cách khác là, ước lượng xác suất xuất hiện của a với điều kiện b. Ngữ cảnh trong các bài toán xử lý ngôn ngữ tự nhiên thường bao gồm các từ và việc chọn ra ngữ cảnh phụ thuộc theo bài toán đặt ra. Đối với một số bài toán thì ngữ cảnh b có thể là một từ đơn lẻ nhưng đối với một số bài toán khác thì ngữ cảnh b có thể chứa một số từ xung

Thuật toán 1000 2000 3000 4000 5000

Láng giềng gần nhất 59.4% 64.6% 67.2% 67.4% 68.6%

Naïve Bayes 54.4% 58.4% 63.0% 65.0% 67.8%

Cây quyết định 62.8% 72.2% 72.6% 73.0% 77.0%

SNoW 44.0% 67.0% 75.0% 55.8% 75.8%

SVM 65.0% 74.0% 74.8% 77.4% 79.2%

Page 40: ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆuet.vnu.edu.vn/~thuyhq/Student_Thesis/K49_Nguyen_Minh_Tuan_Thesis.pdfĐẠi hỌc quỐc gia hÀ nỘi trƯỜng

32

quanh hoặc các từ cùng với các nhãn cú pháp tương ứng. Bài toán đặt ra là chúng ta phải tìm một phương pháp ước lượng (có thể tin tưởng được) mô hình xác suất có điều kiện p(a|b) . Hướng tiếp cận này là tiếp cận theo mô hình ngôn ngữ LM. Ý tưởng cơ bản nhất của LM là :

• Các phần của văn bản đều được sinh ra từ một mô hình ngôn ngữ

• Giữa hai phần văn bản bất kỳ, có một độ đo thể hiện xác suất chúng cùng được sinh ra bởi một mô hình ngôn ngữ.

Trong phân lớp câu hỏi LM được sử dụng để tính xác suất của phân lớp câu hỏi C xuất hiện trong ngữ cảnh câu hỏi Q. Giả sử truy vấn Q là tập hợp của n từ w1,w2, …,wn. Xác suất Q và lớp C được sinh ra bởi cùng một mô hình ngôn ngữ được tính theo công thức:

( ) 1 2| ( | ) ( | ) *...* ( | )nP Q C P w C P w C P w C= ∗ (*)

Một mô hình ngôn ngữ sẽ được tạo ra cho mỗi một lớp câu hỏi Ci (i=1,…,n). Mô hình này xây dựng từ tập hợp các câu hỏi thuộc lớp C. Khi một câu hỏi Q tới, xác suất P(Q|Ci) sẽ được tính với tất cả các lớp câu hỏi Ci , Q sẽ được phân vào lớp Ci có xác suất P(Q|Ci) lớn nhất. Thông thường, để khi sử dụng mô hình ngôn ngữ để tiến hành phân lớp các mẫu n-gram (chủ yếu là unigram và bigram) được sử dụng . Công thức (*) là dạng biểu diễn unigram. Bigram có dạng biểu diễn như sau:

( ) 1 2 1 1| ( | ) ( | , w ) *...* ( | , )n nP Q C P w C P w C P w C w −= ∗ (**)

Để xác định được xác suất ở (*) hoặc (**) phải tính được giá trị của từng xác suất thành phần ở vế phải: P(wi|C) (với i=1,…,n), một cách trực quan thì xác suất này phải tỉ lệ với số lần từ wi xuất hiện trong C. Ngoài ra, khi áp dụng LM phải có biện pháp loại bỏ trường hợp xác suất P(Q|C) bằng không. Để loại bỏ tình trạng này cần áp dụng những kỹ thuật làm mịn các xác suất thành phần P(wi|C) sao cho minP(wi|C)>0. Các phương pháp làm mịn được tác giả Wei Li giới thiệu cụ thể trong tài liệu [36]. Sử dụng kỹ thuật LM cho phân lớp câu hỏi Wei Li[36] đạt được kết quả khá khả quan (độ chính xác khoảng 80%) khi sử dụng kết hợp hai mẫu unigram và bigram.

Một kỹ thuật để nâng cao hiệu suất của LM đó là các mô hình khi xây dựng được tích hợp với bộ phận nhận dạng thực thể tên (Named entity recognition-NE), bộ phận này sẽ nhận diện các thực thể thuộc: tên người, địa danh, số … một từ wi nếu được NE nhận diện, nó sẽ bị thay thể bằng tên dại diện cho lớp thực thể đó. Ví dụ với câu hỏi “Ai là

Page 41: ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆuet.vnu.edu.vn/~thuyhq/Student_Thesis/K49_Nguyen_Minh_Tuan_Thesis.pdfĐẠi hỌc quỐc gia hÀ nỘi trƯỜng

33

Ronaldo?” nếu “Ronaldo” được nhận dạng thuộc lớp <Người> bởi NE, thì câu hỏi sẽ chuyển thành dạnh “ai là <Người>” theo đó, độ chính xác của LM sẽ được nâng cao . 3.3.3.1 Hướng tiếp cận Entropy cực đại

Đối với bài toán phân lớp dữ liệu, Entropy cực đại là một kỹ thuật dùng để ước lượng xác suất các phân phối từ dữ liệu. Tư tưởng chủ đạo của nguyên lý Entropy cực đại là “mô hình phân phối đối với mỗi tập dữ liệu và tập các ràng buộc đi cùng phải đạt được độ cân bằng/ đều nhất có thể ” – (có Entropy cực đại) (được giới thiệu ở tài liệu [17] và [24]) Tập dữ liệu được học (đã được gán nhãn) được sử dụng để tìm ra các ràng buộc cho mô hình - là cơ sở để ước lượng phân phối cho từng lớp cụ thể. Những ràng buộc này được thể hiện bởi các giá trị ước lượng được của các đặc trưng. Từ các ràng buộc sinh ra bởi tập dữ liệu này, mô hình sẽ tiến hành tính toán để có được một phân phối với Entropy cực đại. Ví dụ về mô hình Entropy cực đại:

“giả sử với bộ phân lớp bài báo của báo điện từ Vnexpress. Bốn lớp chính chỉ ra đó là pháp_luật, thể_thao, quốc_tế, văn_hóa. Các thống kê trên tập dữ liệu mẫu chỉ ra rằng trung bình 70% các tài liệu trong lớp thể_thao có chứa từ bóng_đá. Như vậy một cách trực quan có thể thấy rằng nếu một tài liệu D có chứa từ bóng_đá thì xác suất được phân vào lớp thể_thao là 70% và xác suất phân vào ba lớp còn lại 10% ( bằng nhau giữa các lớp) và nếu D không chứa từ thể_thao thì xác suất phân phối của D là đều cho bốn lớp (mỗi lớp 25%).” Trong ví dụ trên thì “tài liệu chứa cụm bóng_đá thì có xác suất phân vào lớp thể_thao là 70%” là một ràng buộc của mô hình. a. Các ràng buộc và đặc trưng Đối với nguyên lý Entropy cực đại, các ràng buộc cho phân phối điều kiện sẽ được thiết lập dựa trên tập dữ liệu mẫu. Mỗi một ràng buộc biểu thị một đặc điểm của tập dữ liệu học. Một đặc trưng trong mô hình Entropy cực đại được biểu hiện bởi một hàm fi(D;C). Nguyên lý cực đại Entropy cho phép chúng ta thu hẹp mô hình phân phối để thu được giá trị kỳ vọng cân bằng cho từng đặc trưng của dữ liệu. Xác suất phân phối của dữ liệu D cho lớp C thỏa mãn phương trình sau:

( )( ) ( ) ( ) ( ) (*) cd,fd|cPdPdcd,f|D|

1i

cdDdi ∑∑∑ =

Trong phương trình (*) D là tập dữ liệu và C là một lớp câu hỏi.

Page 42: ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆuet.vnu.edu.vn/~thuyhq/Student_Thesis/K49_Nguyen_Minh_Tuan_Thesis.pdfĐẠi hỌc quỐc gia hÀ nỘi trƯỜng

34

Ở một khía cạnh khác, fi(D;C) có thể được hiểu như: Nếu C là tập các lớp có thể mà chúng ta muốn phân lớp và D là tập các ngữ cảnh ( ràng buộc) có thể mà chúng ta quan sát được, thì mệnh đề biểu diễn thông tin ngữ cảnh là một hàm có dạng như sau:

{0,1}DC :f →×

Và được mô tả như sau:

( ) { khi c c' và cp(d) true1

cp,c ' 0 otherwisef c,d

= =

=

Trong đó cp(d) là một hàm có dạng: cp: d→{ true, false }

Hàm này trả về giá trị true hoặc false, phụ thuộc vào sự xuất hiện hoặc không xuất hiện của các thông tin hữu ích trong một số ngữ cảnh d �D. Ví dụ: - c' là lớp “thể_thao”, d là văn bản hiện tại.

- cp = [ câu hiện tại chứa cụm từ “bóng_đá” ]. thì hàm đặc điểm này sẽ trả về giá trị 1 nếu như lớp dự đoán a là “thể_thao” và mang giá trị 0 trong các trường hợp còn lại. Bước đầu tiên khi sử dụng cự đại Entropy là phải xác định được tập hàm đặc trưng cho bộ phân lớp, sau đó đánh giá giá trị kỳ vọng của đặc trưng ấy trên tập dữ liệu học để biến hàm đặc trưng này thành một ràng buộc của phân lớp. b. Mô hình Entropy cực đại

Mô hình xác suất Entropy cực đại cung cấp một cách đơn giản để kết hợp các đặc trưng của liệu trong những ngữ cảnh khác nhau để ước lượng xác suất của một số lớp xuất hiện cùng với một số ngữ cảnh này. Trước tiên chúng ta sẽ mô tả cách biểu diễn đặc trưng này và kết hợp nó vào một dạng riêng của mô hình xác suất dưới các hình mẫu.

Tư tưởng chủ đạo của phương pháp Entropy cực đại là tìm được một mô hình có phân phối xác suất thoả mãn mọi ràng buộc quan sát được từ dữ liệu mà không đưa thêm bất kì một giả thiết nào khác. Theo nguyên lý Entropy cực đại, phân phối cần đáp ứng dữ liệu quan sát và làm cực đại độ đo Entropy có điều kiện:

( ) ( ) ( ) ( ),

| log |≡ −∑ %c d

H p p c p c d p d c

( )* argmax ∈

=p C

p H p

(p * là phân phối xác suất tối ưu)

Page 43: ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆuet.vnu.edu.vn/~thuyhq/Student_Thesis/K49_Nguyen_Minh_Tuan_Thesis.pdfĐẠi hỌc quỐc gia hÀ nỘi trƯỜng

35

Mô hình Entropy cực đại xây dựng các đặc trưng từ tập dữ liệu huấn luyện. Mỗi đặc trưng nhận hàm hai của câu hỏi và lớp, hàm này nhận một trong hai giá trị đúng hoặc sai. Tập các ràng buộc sẽ được thiết lập từ các đặc trưng này. Một ràng buộc là một điều kiện từ dữ liệu buộc mô hình phải thoả mãn. Mỗi đặc trưng fi được gán một trọng số iλ . Khi đó, bài toán phân lớp đưa về bài toán ước lượng xác suất có điều kiện:

( ) ( )i ii

1P c | d exp f d,cZ(d)

⎛ ⎞= λ⎜ ⎟⎝ ⎠∑

trong đó Z(d) là biểu thức chuẩn hóa để bảm bảo điều kiện ( ) 1d|cp =∑ , có công thức

như sau:

Khi các đặc trưng được ước lượng từ tập dữ liệu mẫu, thì giải pháp cho mô hình Entropy cực đại giống với giải pháp với bài toán cực đại hóa likelihood trên mô hình mũ sau (được chứng minh ở [28]):

( ) ( )∏=

=k

1i

dc,fi

iλZ(d)

1d|cP

( )∑∏=

=c

k

1i

dc,fi

iλZ(d)

( ) ( ) ( )~

c,d

L P p c,d logp c|d=∑

Tức là p* arg max L(p) arg max H(p)= = .

c. Thuật toán uớc lượng tham số

Ước lượng tập tham số { }1 n, ...,λ = λ λ để huấn luyện mô hình Entropy đạt được cực đại. Trên thế giới hiện nay có nhiều phương pháp để ước lượng tập tham số này như: Thuật toán GIS – Generalized Iterative Scaling – được đưa ra trong [7]; Thuật toán IIS – Improved Iterative Scaling – được đưa ra trong [8] là thuật toán ước lượng tham số của mô hình mũ do các thành viên trong nhóm nghiên cứu tại IBM’s T. J. Watson Research

( ) ( )∑ ∑ ⎟⎠⎞

⎜⎝⎛ λ=

ci

ii c,dfexpdZ

Page 44: ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆuet.vnu.edu.vn/~thuyhq/Student_Thesis/K49_Nguyen_Minh_Tuan_Thesis.pdfĐẠi hỌc quỐc gia hÀ nỘi trƯỜng

36

Center đưa ra vào những năm đầu của thập kỉ 1990; Thuật toán L-BFGS – Limited memory BFGS – là phương pháp giới hạn bộ nhớ cho phương pháp quasi-Newton cho phép tối ưu hàng triệu tham số với tốc độ rất nhanh. L-BFGS là thuật toán sử dụng trong phần thử nghiệm với nguyên lý Entropy cực đại ở Chương 4.

Page 45: ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆuet.vnu.edu.vn/~thuyhq/Student_Thesis/K49_Nguyen_Minh_Tuan_Thesis.pdfĐẠi hỌc quỐc gia hÀ nỘi trƯỜng

37

Chương 4. Thực nghiệm và đánh giá

4.1 Dữ liệu của thực nghiệm Dữ liệu dùng để thử nghiệm cho bộ phân lớp câu hỏi Y tế tiếng Việt là các câu hỏi

được lấy từ các trang sau Web: http://hoidap.7sac.com, http://www.nld.com.vn, http://www.suckhoedoisong.vn, http://www.tuoitre.com.vn .

Tập dữ liệu kiểm tra lấy từ báo http://vietbao.vn và http://www.suckhoeviet.com. Toàn bộ dữ liệu của thử nghiệm đều được gán nhãn bằng tay.

Các phân lớp của dữ liệu được thiết kế dựa trên Ontology Y tế đã được giới thiệu ở chương 2, mục 2.3 bao gồm 8 lớp như sau:

STT Phân lớp Ký hiệu Số lượng câu hỏi

1 Benh B 413

2 dia_diem DD 43

3 Nguyen_nhan NN 114

4 trieu_chung TC 42

5 hoat_dong HD 314

6 thuc_pham TP 105

7 Thuoc TH 96

8 thoi_gian T 23

Tổng số 1150

Bảng 6.Tập dữ liệu huấn luyện Dữ liệu dùng cho huấn luyện cùng số lượng câu hỏi được mô tả trong Bảng 6 bao gồm 1144 câu hỏi được lấy cân bằng theo các lớp, tuy nhiên có một số lớp có sự chênh lệch lớn là do chúng tôi nhận thấy rằng số lượng từ chuyên môn của lớp đó và nhu cầu hỏi

Page 46: ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆuet.vnu.edu.vn/~thuyhq/Student_Thesis/K49_Nguyen_Minh_Tuan_Thesis.pdfĐẠi hỌc quỐc gia hÀ nỘi trƯỜng

38

trong lớp đấy không nhiều như các lớp khác nên không cần phải sử dụng một lượng câu hỏi quá lớn.

Tập dữ liệu dùng để kiểm tra được mô tả trong bảng 7, số lượng câu hỏi của mỗi lớp tỉ lệ với số lượng câu hỏi trong tập dữ liệu dùng để huấn luyện.

STT Phân lớp Ký hiệu Số lượng câu hỏi

1 benh B 48

2 dia_diem DD 9

3 nguyen_nhan NN 20

4 trieu_chung TC 13

5 hoat_dong HD 38

6 thuc_pham TP 29

7 thuoc TH 31

8 thoi_gian T 6

Tổng số 194

Bảng 7. Tập dữ liệu kiểm tra 4.2 Thiết kế thử nghiệm Khóa luận thử nghiệm theo hai thuật toán Support Vector Machines và nguyên lý Entropy cực đại. a. Thiết lập thông số cho SVM Trong thực nghiêm với SVM, khóa luận sử dụng SVMmulticlass - Multi-Class Support Vector Machine của tác giả Thorsten Joachims [44], đòi hỏi thiết lập một số thông số cho chương trình, các thông số này được lựa chọn qua nhiều lần thử nghiệm. Chi tiết các thông số được trình bày trong bảng 8.

Page 47: ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆuet.vnu.edu.vn/~thuyhq/Student_Thesis/K49_Nguyen_Minh_Tuan_Thesis.pdfĐẠi hỌc quỐc gia hÀ nỘi trƯỜng

39

Tham số Giá trị Mô tả

-c 1.0 Giá trị chuyển đổi giữa lỗi của tập huấn luyện và độ lệch chuẩn

-t 0 Loại hàm nhân của , 0 là lựa chọn hàm tuyến tính

-w 3 Cấu trúc của thuật toán học, 3 là lựa chọn thuật toán nối ràng buộc đôi.

Bảng 8. Tham số huấn luyện mô hình SVM b. Thiết lập thông số cho Entropy cực đại Với thuật toán Entropy cực đại, khóa luận sử dụng thư viện của tác giả Phan, X.H [43], việc sử dụng cũng đòi hỏi thiết lập một số thông số cho mô hình. Các thông số này cũng được lựa chọn qua nhiều lần thử nghiệm, chi tiết được mô tả ở bảng 9.

Tham số Giá trị Mô tả

numIterations 10 Số bước lặp trong quá trình huấn luyện

cpRareThreshold 0 Các đặc trưng xuất hiện nhiều hơn số này thì sẽ không bị loại bỏ khỏi tập dữ liệu huấn luyện.

fRareThreshold 0 Các mệnh đề mô tả thông tin ngữ cảnh phải xuất hiện nhiều hơn số này thì sẽ được dùng để xây dựng các đặc trưng.

Bảng 9. Tham số huấn luyện mô hình Entropy cực đại 4.3 Kết quả thực nghiệm a. Kết quả thực nghiệm với SVM Với SVM khi tiến hành thử nghiệm với tập dữ liệu tiếng Việt, sử dụng độ đo TF-IDF trên mẫu unigram, trong thời gian 1.56 giây cho kết quả khá thấp. Chi tiết kêt quả mô tả ở bảng 10.

Thuật toán Thời gian Độ chính xác Tỉ lệ lỗi

SVM 1.56 26% 58/148

Bảng 10. kết quả huấn luyện với SVM

Page 48: ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆuet.vnu.edu.vn/~thuyhq/Student_Thesis/K49_Nguyen_Minh_Tuan_Thesis.pdfĐẠi hỌc quỐc gia hÀ nỘi trƯỜng

40

b. Kết quả thực nghiệm với Entropy cực đại Tiến hành thử nghiệm trên tập dữ liệu huấn luyện với số lượng bước lặp là 10. Các kết quả thu được khá khả quan với thời gian khoảng 0.15giây/lần và được mô tả trong một số bảng biểu và đồ thị được biểu diễn sau đây.

Độ chính xác Độ hồi tưởng F1 Bước lặp Thời

gian Avg1 Avg2 Avg1 Avg2 Avg1 Avg2

1 0.26 46.54 55.15 38.81 55.15 42.32 55.15

2 0.22 49.24 60.82 45.37 60.82 47.22 60.82

3 0.127 63.99 63.92 51.83 63.92 57.27 63.92

4 0.11 71.40 65.98 59.80 65.98 65.09 65.98

5 0.132 73.56 67.53 63.15 67.53 67.95 67.53

6 0.133 73.54 69.07 64.64 69.07 68.80 69.07

7 0.117 72.93 67.01 62.83 67.01 67.51 67.01

8 0.135 69.13 64.95 60.55 64.95 64.56 64.95

9 0.153 70.24 63.92 59.93 63.92 64.67 63.92

10 0.106 79.25 65.46 61.85 65.46 69.47 65.46

Trung bình 0.1493 66.982 64.381 56.876 64.381 61.486 64.381

Bảng 11. Kết quả 10 lần huấn luyện với Entropy cực đại Qua bảng trên, chúng tôi thấy kết quả khả quan nhất là ở bước lặp thứ 6 với độ đo F1 đạt 69.07% chi tiết về bước lặp này như sau:

Page 49: ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆuet.vnu.edu.vn/~thuyhq/Student_Thesis/K49_Nguyen_Minh_Tuan_Thesis.pdfĐẠi hỌc quỐc gia hÀ nỘi trƯỜng

41

Nhãn Độ chính xác Độ hồi tưởng F1

benh 65.57 83.33 73.39

hoat_dong 62.22 73.68 67.47

dia_diem 50.00 23.08 31.58

nguyen_nhan 80.00 88.89 84.21

thoi_gian 88.24 75.00 81.08

trieu_chung 100.00 50.00 66.67

thuoc 76.92 64.52 70.18

thuc_pham 65.38 58.62 61.82

Avg1 73.54 64.64 68.80

Avg2 69.07 69.07 69.07

Bảng 12. Kết quả của bước lặp thứ 6 Trong bảng kết quả trên thì kết quả của phân lớp địa_điểm rất kém với độ đo chính xác là 31.58% và tốt nhất là phân lớp nguyên_nhân với độ chính xác là 84.21%.

Page 50: ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆuet.vnu.edu.vn/~thuyhq/Student_Thesis/K49_Nguyen_Minh_Tuan_Thesis.pdfĐẠi hỌc quỐc gia hÀ nỘi trƯỜng

42

0

10

20

30

40

50

60

70

80

1 2 3 4 5 6 7 8 9 10

Bước lặp

Độ đo

F1

F1-Avg2F1-Avg1

Hình 7. Đồ thị biểu diễn sự phụ thuộc của F1 vào số lần lặp

0

10

20

30

40

50

60

70

80

90

1 2 3 4 5 6 7 8 9 10

Bước lặp

Độ

chín

h xá

c củ

a ph

ân loại

Độ chính xácĐộ hồi tưởngF1

Hình 8. Tổng hợp độ đo 10 lần huấn luyện

Page 51: ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆuet.vnu.edu.vn/~thuyhq/Student_Thesis/K49_Nguyen_Minh_Tuan_Thesis.pdfĐẠi hỌc quỐc gia hÀ nỘi trƯỜng

43

4.4 Đánh giá kết quả thực nghiệm Kết quả thực nghiệm thu được cho thấy có sự chênh lệch rất lớn giữa hai phương

pháp SVM và Entropy cực đại (SVM có độ chính xác là 25% và Entropy cực đại là 70%) khi sử dụng cho bộ phân lớp câu hỏi tiếng Việt. Đâu là nguyên nhân dẫn đến sự chênh lệch này? a. Đối với thuật toán SVM SVM khi áp dụng vào bộ phân lớp câu hỏi tiếng Anh có độ chính xác rất cao (khoảng 80% – như trong các bài báo [16] và [42] công bố) nhưng khi sử dụng thuật toán này cho bộ dữ liệu tiếng Việt độ chính xác bị giảm đáng kể. Nguyên nhân của sự sụt giảm này có thể được lý giải theo cảm tính như sau:

(1) Khóa luận sử dụng tập dữ liệu khác so với tập dữ liệu của các tác giả Hacioglu [16] và Zhang [42]

(2) Số lượng dữ liệu học chưa đủ lớn (1150 câu hỏi) chưa thể hiện hết được các đặc trưng của từng lớp câu hỏi. Khi tập dữ liệu dùng để huấn luyện tăng lên độ chính xác của thuật toán cũng được nâng lên.

(3) Có sự khác biệt về vector đặc trưng sử dụng khi biểu diễn câu hỏi; nguyên nhân này có thể là thứ yếu vì trong bài báo [42], tác giả Zhang cũng sử dụng TF IDF và mô hình unigram để làm vector đặc trưng cho từng câu hỏi.

b. Đối với nguyên lý Entropy cực đại Đối với tập dữ liệu học là 1150 câu hỏi cho 8 phân lớp cho kết quả khá khả quan về độ

đo F1 là 69.07%. Mặt khác, do số lượng câu hỏi huấn luyện cho từng phân lớp có sự chênh lệch dẫn đến khả năng đoán nhẫn của từng phân lớp cũng khác nhau. Ví dụ như lớp Bệnh có số lượng câu hỏi là 413 trong khi lớp thời_gian có số lượng câu hỏi là 23. Lý do của việc này là khi xảy ra sự mất cân bằng trong số lượng dữ liệu dùng để huấn luyện, trọng số của các đặc trưng có ích chuyên biệt cho từng lớp sẽ không cao do đó mô hình rất dễ đoán nhận nhầm.

Để đảm bảo khả năng đoán nhận của các phân lớp cần bằng với nhau và khả năng đoán nhận tốt thì số lượng câu hỏi mẫu cho từng lớp cần phải tương đương nhau về mặt số lượng. Song song với đó là tập câu hỏi huấn luyện cần gia tăng thêm về số lượng, đảm bảo cung cấp đầu đủ các ràng buộc từ dữ liệu cho mô hình.

Như trong mục 3.3.3 đã trình bày, tư tưởng chủ đạo của nguyên lý cực đại Entropy là thay vì thêm vào các ràng buộc mới, mô hình tự tìm ra trong dữ liệu (tập câu hỏi mẫu) những ràng buộc và đặc trưng riêng cho từng phân lớp. Điều này là khác với SVM cố gắng tìm ra các siêu phẳng ngăn cách dữ liệu của từng lớp câu hỏi. Cho nên khi tập liệu không có số lượng quá lớn và mỗi một tài liệu chỉ chứa ít đặc trưng (như câu hỏi) làm cho sự phân lớp của SVM bị giảm sút trong khi mô hình của phân lớp của nguyên lý cực đại Entropy vấn được bảo đảm.

Page 52: ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆuet.vnu.edu.vn/~thuyhq/Student_Thesis/K49_Nguyen_Minh_Tuan_Thesis.pdfĐẠi hỌc quỐc gia hÀ nỘi trƯỜng

44

Từ những kết quả thực nghiệm trên cho thấy khi xây dựng bộ phân lớp câu hỏi tiếng Việt thuật toán nguyên lý Entropy cực đại tỏ ra thích hợp hơn so với các thuật toán khác.

Page 53: ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆuet.vnu.edu.vn/~thuyhq/Student_Thesis/K49_Nguyen_Minh_Tuan_Thesis.pdfĐẠi hỌc quỐc gia hÀ nỘi trƯỜng

45

Kết luận

Nhu cầu xây dựng một hệ thống tìm kiếm ngữ nghĩa cho từng lĩnh vực trong đời sống ngày càng trở cấp thiết, trong đó vấn đề xây dựng hai module phân lớp câu hỏi và mạng ngữ nghĩa chịu ảnh hưởng bởi đặc trưng riêng của từng ngôn ngữ là phần quan trong trong quá trình xây dựng một hệ thống tìm kiếm ngữ nghĩa .

Sự đa dạng của các thuật toán phân loại dữ liệu nói chung và phân lớp câu hỏi nói riêng khiến cho việc lựa chọn thuật toán để xây dựng module phân lớp câu hỏi cho từng ngôn ngữ tở nên khó khăn hơn.

Khóa luận này tiếp cận các vấn đề nói trên và nghiên cứu các thuật toán phổ biến hiện nay cho phân lớp câu hỏi, từ đó đưa ra phương pháp và thuật toán áp dụng vào tiếng Việt .

Khóa luận đã đạt được những kết quả:

• Phân tích các vấn đề xung quanh bài toán xây dựng một hệ thống tìm kiếm ngữ nghĩa

• Chỉ ra các module chịu ảnh hưởng bởi đặc trưng ngôn ngữ và phân tích phương pháp xây dựng các module này.

• Khảo sát các thuật toán phân lớp câu hỏi và lựa chọn thuật toán tốt nhất khi áp dụng cho tiếng Việt

• Xây dựng module phân lớp câu hỏi Y tế trong tiếng Việt. Do giới hạn về thời gian cũng như kiến thức của tác giả cho nên hiệu quả module phân lớp câu hỏi cho tiếng Việt chưa thực sự cao. Hạn chế này cần được tiếp tục nghiên cứu và cải tiến qua đó để khẳng định tính hiệu quả của phương pháp chỉ ra.

Page 54: ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆuet.vnu.edu.vn/~thuyhq/Student_Thesis/K49_Nguyen_Minh_Tuan_Thesis.pdfĐẠi hỌc quỐc gia hÀ nỘi trƯỜng

46

Tài liệu tham khảo Tiếng Việt [1] Lê Diệu Thu, Trần Thị Ngân, “Xây dựng Ontology nhằm hỗ trợ tìm kiếm ngữ nghĩa

trong lĩnh vực Y tế”, Công trình sinh viên nghiên cứu khoa học, Đại học Công nghệ, ĐHQGHN, 2008.

[2] Nguyễn Thị Hương Thảo, “Phân lớp phân cấp Taxonomy văn bản Web và ứng dụng”, Khóa luận tốt nghiệp đại học, Đại học Công nghệ, ĐHQGHN, 2006.

[3] Trung tâm ngôn ngữ học Việt Nam. “Đặc điểm tiếng Việt”, http://www.vietlex.com/vietnamese.htm

[4] VN-KIM , Đại học Bách khoa, ĐHQG Thành Phố Hồ chí Minh http://www.dit.hcmut.edu.vn/~tru/VN-KIM/products/vnkim-kb.htm.

Tiếng Anh [5] Clocksin W. F. and Mellish C. S., “Programming in Prolog”, Springer-Verlag, 1981. [6] D. Roth. “Learning to Resolve Natural Language Ambiguities: A Unified Approach.”

Proceedings of AAAI'98: 806-813, Madison, WI, USA, Jul 1998. [7] Darroch, J. and Ratcliff, D. “Generalized iterative scaling for log-linear models”.

Annals Mathematical Statistics, 43(5):1470–1480, 1972. [8] Della Pietra, S., Della Pietra, V. and Lafferty, J. “Inducing features of random fields”.

IEEE Transactions on Pattern Analysis and Machine Intelligence, 19(4):380–393, 1997.

[9] Description logic, http://en.wikipedia.org/wiki/Description_logic. [10] Dieter E. Jenz “Ontology-Based Business Process Management: The Vision

Statement”, White Paper, Jenz and Partner GmbH, 2003 [11] E. Hovy, L. Gerber, U. Hermjakob, C. Lin, and D. Ravichandran. “Towards

Semantics-based Answer Pinpointing”. Proceedings of the DARPA Human Language Technology conference (HLT), San Diego, CA,1999

[12] E. Voorhees. “Overview of the TREC 2001 Question Answering Track”. Proceedings of the 10th Text Retrieval Conference (TREC10): 157-165, NIST, Gaithersburg, MD, 2001.

[13] E. Voorhees. Overview of the TREC-9 Question Answering Track. Proceedings of the 9th Text Retrieval Conference (TREC9): 71-80, NIST, Gaithersburg, MD, 2000.

[14] E. Voorhees. The TREC-8 Question Answering Track Report. Proceedings of the 8th Text Retrieval Conference (TREC8): 77-82, NIST, Gaithersburg, MD, 1999.

Page 55: ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆuet.vnu.edu.vn/~thuyhq/Student_Thesis/K49_Nguyen_Minh_Tuan_Thesis.pdfĐẠi hỌc quỐc gia hÀ nỘi trƯỜng

47

[15] Jonathan Brown, “Entity-Tagged Language Models for Question Classification in a QA System”, IR Lab project, 2004. Http://nyc.lti.cs.cmu.edu/IRLab/11-743s04/jonbrown/Brown-IRLab.pdf

[16] Kadri Hacioglu and Wayne Ward. "Question Classification with Support Vector Machines and Error Correcting Codes". Proceedings of HLT-NAACL 2003:28-30, Edmonton, Alberta, Canada, May 2003.

[17] K. Nigam, J. Lafferty, and A. McCallum, "Using maximunm Entropy for text classification", Proceeding of the 16th International Joint Conference Workshop on Machine Learning for Information Filtering: 61-67 Stockholm, Sweden, 1999.

[18] Kincho H. Law, “Ontology: Basic Definitions and a Brief Introduction”, TN-2007-03. NEESit – Workshops 2007. Http://it.nees.org/support/workshops/2007/2wfcree/TN-2007-03_Law.pdf

[19] Li, X. & Roth, D. “Learning Question Classifiers”, Proceedings of the 19th International Conference on Computational Linguistics (COLING):556–562, 2002.

[20] LIU Yi, ZHENG Y F. “One-against-all multi-Class SVM classification using reliability measures”.Proceedings of the 2005 International Joint Conference on Neural Networks Montreal,Canada, 2005.

[21] Maria Vargas-Vera, Enrico Motta, John Domingue: “AQUA: An Ontology-Driven Question Answering System”, New Directions in Question Answering:53-57, 2003.

[22] McCallum and K. Nigam. “A Comparison of Event Models for Naïve Bayes Text Classification”, AAAI-98Workshop on Learning for Text Categorization, 1998. http://citeseer.ist.psu.edu/mccallum98comparison.html

[23] N. Guarino (ed.), “Formal Ontology in Information Systems”. Proceedings of FOIS’98:3-15, Trento, Italy, 6-8 June 1998. Amsterdam, IOS Press.

[24] Nguyen Viet Cuong, Nguyen Thi Thuy Linh Ha, Quang Thuy and Phan Xuan Hieu (2006). A Maximum Entropy Model for Text Classification. The International Conference on Internet Information Retrieval 2006:134-139, Hankuk Aviation University, December 6, 2006, Goyang-si, Korea.

[25] Noy, N.F., and McGuinness, D.L. “Ontology Development 101: A Guide to Creating Your First Ontology SMI”, Technical report SMI-2001-0880 (2001), Stanford University.

[26] Pierre Baldi, Paolo Frasconi, Padhraic Smyth. “Modeling the Internet and the Web: Probabilistic Methods and Algorithms”, John Wiley and Sons, 2003.

[27] R.Guha, Rob McCool, Eric Miller. “Semantic Search”, http://www2003.org/cdrom/papers/refereed/p779/ess.html

Page 56: ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆuet.vnu.edu.vn/~thuyhq/Student_Thesis/K49_Nguyen_Minh_Tuan_Thesis.pdfĐẠi hỌc quỐc gia hÀ nỘi trƯỜng

48

[28] Ratnaparkhi, A. “A simple introduction to maximum Entropy models for natural language processing”. Technical Report 97-08, Institute for Research in Cognitive Science, University of Pennsylvania, 1997.

[29] S.Cohen , Mamou, J., Kanza, Y., Sagiv, Y.: “ Xsearch: A semantic search engine for xml”. In: Proceedings of of the 29th VLDB Conference, Berlin, Germany. (2003)

[30] S Decker, F van Harmelen, J Broekstra, M Erdmann, Dieter Fensel, Ian Horrocks, Michel Klein, Sergey Melnik. “The Semantic Web - on the respective Roles of XML and RDF”, IEEE Internet Computing, 4(5):63-74, 2000. Http://www.ontoknowledge.org/oil/downl/IEEE00.pdf

[31] Soumen Chakrabarti. “Mining the Web: discovering knowledge from hypertext data”, Morgan Kaufmann Publishers, 2003.

[32] T. Mitchell. “Machine Learning”, McGraw Hill, New York,1997. [33] “Taxonomy”, http://en.wikipedia.org/wiki/Taxonomy [34] Tim Berners-Lee, “Semantic Web Road map”,

http://www.w3.org/DesignIssues/Semantic.html [35] Van Durme, B., Huang, Y., Kupsc, A. and Nyberg, E. "Towards Light Semantic

Processing for Question Answering", HLT/NAACL Workshop on Text Meaning, 2003, Http://citeseer.ist.psu.edu/656586.html.

[36] W Li “Question Classification Using Language Modeling” – Technical report Center for Intelligent Information Retrieval Department of Computer Science University of Massachusetts, Amherst, MA 01003, 2002

[37] W3C, Extensible Markup Language http://www.w3.org/XML/ [38] W3C, OWL Web Ontology Language Overview, http://www.w3.org/TR/owl-

features/ [39] W3C, Abstract Syntax (Normative) RDF http://www.w3.org/TR/rdf-

concepts/#section-Graph-syntax [40] W3C, Semantic Web Activity http://www.w3.org/2001/sw/ [41] Y. Yang and X. Liu. A Re-examination of Text Categorization Methods. In

Proceedings of ACM SIGIR Conference on Research and Development in Information Retrieval (SIGIR’99), trang 42-49, 1999.

[42] Zhang, D. and Lee, W.S. “Question Classification using Support Vector Machines” , In Proceedings of SIGIR 2003.

[43] Phan, X.H, “JTextPro: A Java-based Text Processing Toolkit”, http://jtextpro.sourceforge.net

[44] Thorsten Joachims, SVM multiclass Multi-Class Support Vector Machine, Cornell University Department of Computer Science. Http://svmlight.joachims.org/