Phương pháp tìm kiếm theo ngữ nghĩa và ứng dụng tìm kiếm thông tin đề tài khoa học trên Web (Luận văn thạc sĩ)Phương pháp tìm kiếm theo ngữ nghĩa và ứng dụng tìm kiếm thông tin đề tài khoa học trên Web (Luận văn thạc sĩ)Phương pháp tìm kiếm theo ngữ nghĩa và ứng dụng tìm kiếm thông tin đề tài khoa học trên Web (Luận văn thạc sĩ)Phương pháp tìm kiếm theo ngữ nghĩa và ứng dụng tìm kiếm thông tin đề tài khoa học trên Web (Luận văn thạc sĩ)Phương pháp tìm kiếm theo ngữ nghĩa và ứng dụng tìm kiếm thông tin đề tài khoa học trên Web (Luận văn thạc sĩ)Phương pháp tìm kiếm theo ngữ nghĩa và ứng dụng tìm kiếm thông tin đề tài khoa học trên Web (Luận văn thạc sĩ)Phương pháp tìm kiếm theo ngữ nghĩa và ứng dụng tìm kiếm thông tin đề tài khoa học trên Web (Luận văn thạc sĩ)Phương pháp tìm kiếm theo ngữ nghĩa và ứng dụng tìm kiếm thông tin đề tài khoa học trên Web (Luận văn thạc sĩ)
Trang 1HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
-
ĐỖ VĂN HANH
PHƯƠNG PHÁP TÌM KIẾM THEO NGỮ NGHĨA
VÀ ỨNG DỤNG TÌM KIẾM THÔNG TIN
ĐỀ TÀI KHOA HỌC TRÊN WEB
LUẬN VĂN THẠC SĨ KỸ THUẬT
(Theo định hướng ứng dụng)
TP HỒ CHÍ MINH – 2017
Trang 2HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
-
ĐỖ VĂN HANH
PHƯƠNG PHÁP TÌM KIẾM THEO NGỮ NGHĨA
VÀ ỨNG DỤNG TÌM KIẾM THÔNG TIN
ĐỀ TÀI KHOA HỌC TRÊN WEB
Chuyên ngành: Hệ thống thông tin
Trang 3LỜI CAM ĐOAN
Tôi cam đoan đây là công trình nghiên cứu của riêng tôi
Ngoài trừ những tài liệu tham khảo được trích dẫn ở trong luận văn, các số liệu, kết quả nêu trong luận văn là trung thực và chưa từng được ai công bố trong bất kỳ công trình nào khác
TP Hồ Chí Minh, ngày 30 tháng 10 năm 2017
Học viên thực hiện
Đỗ Văn Hanh
Trang 4LỜI CẢM ƠN
Xin chân thành cảm ơn quý thầy cô công tác tại Học viện Công nghệ Bưu chính Viễn thông Cơ sở Thành phố Hồ Chí Minh đã tận tình chỉ bảo cho em những kiến thức bổ ích trong suốt thời gian học tập tại trường, cũng như đã tạo điều kiện cho em thực hiện đề tài này
Kính chúc quý thầy cô luôn dồi dào sức khoẻ và thành công trong cuộc sống Đặc biệt, em xin bày tỏ lòng biết ơn chân thành đến PGS.TS Đỗ Văn Nhơn, người thầy đã tận tâm, nhiệt tình hướng dẫn và chỉ bảo cho em trong suốt quá trình thực hiện đề tài
Xin cảm ơn tất cả bạn bè, đồng nghiệp đã động viên, giúp đỡ và đóng góp cho tôi nhiều ý kiến quý báu, qua đó, giúp tôi hoàn thiện hơn đề tài này
Và cuối cùng, tôi xin gửi lời cảm ơn đến tác giả của các báo cáo nghiên cứu khoa học mà tôi đã tham khảo và tìm hiểu cho đề tài
Luận văn đã hoàn thành với một số kết quả nhất định tuy nhiên vẫn không tránh khỏi thiếu sót Kính mong sự cảm thông và đóng góp ý kiến từ quý thầy cô và các bạn
Một lần nữa tôi xin chân thành cảm ơn!
TP Hồ Chí Minh, ngày 30 tháng 10 năm 2017
Học viên thực hiện
Đỗ Văn Hanh
Trang 5MỤC LỤC
LỜI CAM ĐOAN i
LỜI CẢM ƠN ii
DANH MỤC CÁC THUẬT NGỮ, CHỮ VIẾT TẮT vii
DANH SÁCH BẢNG vii
DANH SÁCH HÌNH VẼ viii
MỞ ĐẦU 1
Chương 1 - GIỚI THIỆU TỔNG QUAN 3
1.1 Khảo sát hiện trạng và nhu cầu tìm kiếm thông tin trên internet 3
1.1.1 Nhu cầu tìm kiếm đề tài khoa học trên internet 3
1.1.2 Hiện trạng theo cách thức tìm kiếm truyền thống 3
1.2 Phân tích kết quả các đề tài liên quan 5
1.3 Mục tiêu, yêu cầu và ý nghĩa của đề tài 7
1.3.1 Mục tiêu của đề tài 7
1.3.2 Yêu cầu của đề tài 8
1.3.3 Ý nghĩa của đề tài 9
1.4 Phương pháp nghiên cứu 9
1.5 Nội dung thực hiện 9
Chương 2 - CƠ SỞ LÝ THUYẾT 11
2.1 Kỹ thuật lấy tin tự động trên internet 11
2.1.1 Các dạng dữ liệu trên internet 11
2.1.2 Một số phương pháp lấy tin tự động 12
2.2 Vấn đề truy tìm thông tin 15
2.2.1 Truy tìm thông tin theo hướng tiếp cận thống kê 16
2.2.2 Truy tìm thông tin theo hướng ngữ nghĩa 17
2.2.3 Đánh giá một hệ thống tìm kiếm thông tin 18
2.3 Semantic web và Ontology 19
2.3.1 Semantic web 19
Trang 62.3.2 Semantic Search là gì? 22
2.3.3 Ontology 24
2.4 Cách biểu diễn tài liệu dùng đồ thị keyphrase 35
2.4.1 Vấn đề biểu diễn tài liệu 35
2.4.2 Mô hình hóa tài liệu thành đồ thị keyphrase 36
2.5 Các kỹ thuật, phương pháp xử lý ngữ nghĩa 37
2.5.1 Kỹ thuật rút trích keyphrase 37
2.5.2 Phương pháp đo khoảng cách giữa các keyphrase 38
Chương 3 - THIẾT KẾ MÔ HÌNH 41
3.1 Xây dựng Ontology cho lĩnh vực Nội vụ 41
3.1.1 Mô hình ontology cho ngữ nghĩa của tài liệu 41
3.1.2 Quy trình xây dựng ontology cho lĩnh vực Nội vụ tại Việt Nam: 49
3.2 Mô hình tổ chức và biểu diễn tài liệu theo ngữ nghĩa 51
3.2.1 Mô Hình SEMANTIC DOCUMENT BASE 51
3.2.2 Tổ chức lưu trữ cơ sở về các tài liệu 51
3.3 Tính toán độ tương đồng ngữ nghĩa 53
3.3.1 Thuật toán tính toán độ tương đồng ngữ nghĩa giữa hai keyphrase 53
3.4 Giải pháp rút trích keyphrase 56
3.5 Giải pháp xử lý câu truy vấn 59
3.6 Tìm kiếm theo ngữ nghĩa 60
3.6.1 Mô hình tổng quát của hệ truy tìm tài liệu theo ngữ nghĩa 60
3.6.2 Thuật toán tìm kiếm theo ngữ nghĩa tổng quát 60
Chương 4 - CÀI ĐẶT VÀ THỬ NGHIỆM HỆ THỐNG 62
4.1 Phân tích hệ thống 62
4.1.1 Xác định đối tượng sử dụng và mục tiêu của hệ thống 62
4.1.2 Yêu cầu của hệ thống 63
4.1.3 Các chức năng của hệ thống 63
4.1.4 Cấu trúc của hệ thống 64
4.2 Cài đặt hệ thống 66
Trang 74.2.1 Nền tảng công nghệ 66
4.2.2 Tổ chức các giao diện 66
4.3 Triển khai ứng dụng và kết quả thử nghiệm 69
KẾT LUẬN 72
TÀI LIỆU THAM KHẢO 77
PHỤ LỤC 79
Trang 8DANH MỤC CÁC THUẬT NGỮ, CHỮ VIẾT TẮT
CK_ONTO Classified Keyphrase based Ontology Ontology cho các Keyphare
được phân lớp
Trang 9DANH SÁCH BẢNG
Bảng 3.1 Quan hệ giữa các Keyphrase trong CK_ONTO 48
Bảng 4.1 Kết quả tìm kiếm dưới dạng từ khóa (keyword) 70
Bảng 4.2 Kết quả tìm kiếm dưới dạng ngữ nghĩa 71
Trang 10DANH SÁCH HÌNH VẼ
Hình 2.1 Giao diện iCA 12
Hình 2.2 Giao diện trang chủ GoogleReader 13
Hình 2.3 Giao diện trang lấy tin RSS 13
Hình 2.4 Các phương pháp truy hồi thông tin 16
Hình 2.5 Liên kết ngữ nghĩa giữa các nguồn khác nhau trong Semantic web 20
Hình 2.6 Kiến trúc Semantic web 21
Hình 2.7 Ví dụ Semantic Search 23
Hình 2.8 So sánh kết quả tìm kiếm khi ẩn danh và không ẩn danh 24
Hình 2.9 Phiên bản Protégé 5.2.0 dùng cho Desktop 35
Hình 3.1 Không gian các Keyphrase 42
Hình 3.2 Quy trình xây dựng Ontology 49
Hình 3.3 Trang web của Bộ Nội vụ 50
Hình 3.4 Sơ đồ cơ sở dữ liệu Database 52
Hình 3.5 Màn hình chương trình xây dựng Ontology 53
Hình 3.6 Ontology có các class ở cấp cao 57
Hình 4.1 Cấu trúc hệ thống 64
Hình 4.2 Tổ chức giao diện người dùng 66
Hình 4.3 Giao diện trang chủ hệ thống 67
Hình 4.4 Giao diện chức năng lấy tin 67
Hình 4.5 Giao diện chức năng quản lý tin 68
Hình 4.6 Giao diện chức năng tìm kiếm cơ bản 68
Hình 4.7 Giao diện chức năng tìm kiếm ngữ nghĩa 69
Trang 11MỞ ĐẦU
Hiện nay, việc tập hợp thông tin liên quan đến lĩnh vực đề tài khoa học trên internet ở các địa phương, các cơ quan, các viện nghiên cứu là một việc hết sức quan trọng đối với một cá nhân hay tổ chức khi tham gia viết đề tài khoa học Tuy nhiên, phương pháp thu thập và xử lý thông tin về một lĩnh vực khoa học còn lệ thuộc vào kinh nghiệm cũng như kiến thức chuyên môn của người tìm Việc tìm kiếm và tập hợp thông tin đôi khi còn chậm trễ, mất nhiều thời gian và không hiệu quả bởi thông tin trên internet vô cùng phong phú và đa dạng
Xuất phát từ nhu cầu thực tế và khả năng phát triển khoa học công nghệ ngày nay, học viên đã nghiên cứu và đưa ra mô hình ứng dụng : xây dựng một công cụ lấy tin tự động trên internet để thu thập thông tin tạo thành nguồn Cơ sở dữ liệu (CSDL) quản lý các đề tài khoa học, từ đó xử lý và tìm kiếm những thông tin hữu ích theo phương pháp ứng dụng tìm kiếm theo ngữ nghĩa
Ứng dụng bước đầu đã được thử nghiệm lấy tin trên website của các Sở Khoa học và Công nghệ một số tỉnh và website của các viện, các bộ, các trung tâm quản lý các đề tài khoa học lưu thành một kho CSDL, từ đó quản lý hỗ trợ người dùng tìm kiếm, khai thác trên kho dữ liệu Kết quả thực nghiệm ban đầu cho thấy giải pháp đề xuất có tính khả quan và khả năng ứng dụng thực tiễn khá tốt
Nội dung của luận văn ngoài phần mở đầu và kết luận được trình bày trong 4 chương, bao gồm:
Chương 1 Giới thiệu tổng quan về đề tài bao gồm các bước khảo sát và đánh giá thực trạng, khả năng nghiên cứu giải pháp, mục tiêu và ý nghĩa của đề tài
Chương 2 Cơ sở lý thuyết của đề tài liên quan đến kỹ thuật lấy tin tự động và tìm kiếm theo ngữ nghĩa bao gồm định nghĩa, phân loại các phương pháp tìm kiếm, phân loại dữ liệu, vấn đề biểu diễn theo ngữ nghĩa của tài liệu, các lý thuyết nền tảng về Ontology
Chương 3 Đề xuất giải pháp dựa trên cơ sở lý thuyết tại chương 2, bao gồm phân tích kỹ thuật lấy tin trên internet, một mô hình tập keyphrase biểu diễn ngữ
Trang 12nghĩa cho các tài liệu văn bản hay câu truy vấn người dùng; Các thuật toán so khớp
và rút trích keyphrase, giới thiệu qui trình xây dựng ontology cho lĩnh vực nội vụ và cách thức tổ chức lưu trữ cơ sở về các tài liệu theo trên máy tính
Chương 4 Xây dựng chương trình mô phỏng cài đặt và thực nghiệm, phân tích cấu trúc một số trang web của các tỉnh, viện, bộ ban ngành để lấy tin về, tìm kiếm thông tin trên kho dữ liệu lấy về theo mức cơ bản, nâng cao và tìm kiếm theo ngữ nghĩa Tiến hành thực nghiệm để so sánh và đánh giá kết quả
Phần kết luận và hướng phát triển, tổng kết những kết quả đã đạt được, tóm tắt lại các vấn đề đã đặt ra của luận văn và các giải quyết, những đóng góp mới và hướng phát triển của luận văn trong tương lai
Trang 13Chương 1 - GIỚI THIỆU TỔNG QUAN
Chương 1 giới thiệu thực trạng nhu cầu tìm kiếm, tập hợp thông tin các đề tài khoa học trên internet, những hạn chế của phương pháp, phân tích kết quả của các
đề tài liên quan Trình bày mục tiêu, yêu cầu và ý nghĩa của đề tài
1.1 Khảo sát hiện trạng và nhu cầu tìm kiếm thông tin trên internet
1.1.1 Nhu cầu tìm kiếm đề tài khoa học trên internet
Các hệ thống tìm kiếm thông tin hay nói ngắn gọn là các máy tìm kiếm Web thông thường trả lại một danh sách các tài liệu được phân hạng mà người dùng sẽ phải tốn công chọn lọc trong một danh sách rất dài để có được những tài liệu phù hợp Ngoài ra các thông tin đó thường rất phong phú, đa dạng và liên quan đến nhiều đối tượng khác nhau Điều này tạo nên sự nhập nhằng gây khó khăn cho người sử dụng trong việc lấy được các thông tin cần thiết
Tại Cơ sở Trường Đại học Nội vụ Hà Nội tại TP Hồ Chí Minh, để nắm bắt được các thông báo tuyển chọn tổ chức cá nhân đứng tên chủ nhiệm đề tài hay thông báo nghiệm thu đề tài khoa học trong năm 2017 và những năm trước ở các tỉnh, các bộ ngành trên internet đòi hỏi tổ chức, cá nhân làm nghiên cứu phải truy cập và tìm kiếm trên từng website, hoặc qua các kênh thông tin truyền thông khác
Việc thu thập tài liệu, lưu trữ còn đơn lẻ, chưa có kho quản lý CSDL tập trung, quá trình phân tích sàng lọc thông tin phù hợp theo từng lĩnh vực, từng năm tốn rất nhiều thời gian, ngoài chuyên môn cần đòi hỏi người làm nghiên cứu có kỹ năng tin học và kinh nghiệm tìm kiếm trên internet
1.1.2 Hiện trạng theo cách thức tìm kiếm truyền thống
Hiện nay, các công cụ tìm kiếm thông tin trên máy tính đã không ngừng cải tiến thuật toán và công nghệ Thời gian gần đây, chúng ta nghe nhiều về “cuộc chiến các động cơ tìm kiếm trên Internet” mà dẫn đầu đang là Google (google.com) thâu tóm hơn 60% thị phần tìm kiếm, tiếp theo là Yahoo (yahoo.com), Bing (bing.com), MSN (msn.com), Ask (ask.com), AOL (aol.com), Lycos (lycos.com),
Trang 14Alta Vista (altavista.com) Các động cơ tìm kiếm này đã nổi tiếng trên toàn thế giới, ngôn ngữ được hỗ trợ chính là tiếng Anh nhưng cũng sử dụng được với các ngôn ngữ khác Với tham vọng là xây dựng các động cơ tìm kiếm tận dụng những lợi thế địa phương của quốc gia về ngôn ngữ và văn hóa, các quốc gia cũng xây dựng các động cơ tìm kiếm riêng cho mình như Baidu (baidu.com) của Trung Quốc hay Heeya (heeya.com) của Hàn Quốc là những ví dụ thành công của các động cơ tìm kiếm địa phương Ở Việt Nam, các động cơ tìm kiếm như Xalo (xalo.vn), Timnhanh (timnhanh.com), VinaSeek (vinaseek.net) cũng đang có những đầu tư rất lớn để phục vụ cho việc tìm kiếm những trang web tiếng Việt
Nếu xét về tìm kiếm theo từ khóa, Google đứng hàng đầu và không có đối thủ Tuy nhiên, nếu người dùng không biết rõ về từ khóa họ cần cung cấp cho máy tìm kiếm, họ cần máy tìm kiếm “hiểu” ý của họ thông qua ngữ nghĩa hàm ý trong câu truy vấn Đây là điểm mà các đối thủ của Google như Hakia (hakia.com), Kosmix (kosmix.com), Exalead (exalead.com), Lexxe (lexxe.com), Factbites (factbites.com), Swoogle (swoogle.umbc.edu), Kngine (kngine.com), DuckDuckGo (duckduckgo.com), Evri (evri.com), Truevert (truevert.com), SenseBot (sensebot.net), Powerset (powerset.com), DeepDyve (deepdyve.com), Cognition (cognition.com), Wolfram Alpha (wolframalpha.com) đầu tư nghiên cứu Với khả năng đoán ý, hiểu nghĩa của từ hay cụm từ để cho ra kết quả gần nhất với ý định tìm kiếm của người dùng, các động cơ tìm kiếm ngữ nghĩa kể trên có khả năng sẽ tạo sự đột phá công nghệ tìm kiếm hiện nay [2]
Có thể xem khả năng tìm kiếm ngữ nghĩa như là một cách tốt hơn để cung cấp cho người dùng thông tin họ cần, đảm bảo kết quả thu được có liên quan đến thông tin cần tìm hơn dựa trên khả năng hiểu được nghĩa của từ hoặc cụm từ đang được tìm kiếm Với các công nghệ ngữ nghĩa, máy tính sẽ hiểu rõ hơn những mối quan hệ giữa nhiều thông tin khác nhau hơn là chỉ chuyển tiếp các liên kết dựa trên
từ khóa tìm kiếm Một ví dụ cụ thể để minh họa cho vấn đề này đó là thử nghiệm với một từ khóa “công nghệ” cho sẵn Nếu được tìm kiếm trên Google, các kết quả trả về sẽ chứa các từ khóa như từ “công” hoặc “nghệ” hoặc kết hợp cả hai từ “công
Trang 15nghệ” Còn đối với kết quả từ tìm kiếm ngữ nghĩa trả về, người đọc sẽ không thấy những website có tích hợp hai từ khóa đó mà thay vào đó là sẽ có hàng loạt các danh sách các website hiển thị nói về công nghệ Hay nếu tìm kiếm với từ khóa
“cuộc bầu cử” thì một công cụ tìm kiếm ngữ nghĩa có thể lấy ra các tài liệu có chứa các từ “bỏ phiếu”, “vận động’ và “lá phiếu”, ngay cả khi từ “bầu cử’ không tìm thấy trong các tài liệu nguồn [2]
1.2 Phân tích kết quả các đề tài liên quan
Kỹ thuật lấy tin tự động từ internet đã được nghiên cứu và ứng dụng nhiều năm trở lại đây, trên thị trường cũng đã có những phần mềm chuyên lấy tin tự động được cung cấp miễn phí hoặc thương mại hóa Tuy nhiên, cũng chưa có một phần mềm nào lấy hết được tin áp dụng trên toàn bộ các website hoặc có những đề tài về lấy tin nhưng áp dụng ở những lĩnh vực cụ thể như lấy tin tức phân tích kinh tế, thời tiết, bất động sản vv
Xây dựng một hệ thống tìm kiếm dựa trên khái niệm cho đến nay vẫn còn là vấn đề thu hút sự quan tâm của nhiều nhà nghiên cưu, có rất nhiều vấn đề vẫn còn khá mới hoặc vẫn chưa có lời giải tối ưu Ngoài ra, việc xây dựng một cơ sở tri thức cho một lĩnh vực gặp khó khăn vì tốn nhiều chi phí xây dựng và duy trì vì cần phải
có sự can thiệp của con người, đòi hỏi kiến thức của chuyên gia về lĩnh vực và phụ thuộc nhiều vào ngôn ngữ Đó là lý do khiến các công cụ tìm kiếm theo khái niệm hiện nay chỉ hỗ trợ một lĩnh vực nhất định trong những ứng dụng cụ thể Mặc dù đã
có nhiều công trình nghiên cứu khẳng định hệ thống mà họ xây dựng là một hệ thống tìm kiếm dựa trên khái niệm nhưng vẫn chưa có những đóng góp đáng kể, không khác nhiều so với một hệ thống tìm kiếm dựa trên từ khóa Một số công trình nghiên cứu có liên quan gần đây thuộc hai nội dung trên có thể kể đến như:
Về Kỹ thuật lấy tin tự động có đề tài liên quan sau:
Luận văn Thạc sĩ của Trương Mạnh Hà (2009), Nghiên cứu một số kỹ thuật lấy tin tự động trên internet, Đại học Thái Nguyên Cung cấp cho người đọc cái nhìn tổng quan về kỹ thuật khai phá dữ liệu web và lấy tin tự động [7]
Về lĩnh vực tìm kiếm ngữ nghĩa có các đề tài liên quan như:
Trang 16 Công trình của tác giả Đỗ Văn Nhơn, Huỳnh Thị Thanh Thương, Phạm Nguyễn Trường An [12] Đề xuất phương pháp sử dụng các keyphrase làm yếu tố đơn vị để mô tả tri thức trong lĩnh vực hay nội dung tài liệu và sử dụng đồ thị keyphrase trong việc biểu diễn và so khớp tài liệu
Công trình của nhóm tác giả Lê Thị Hoàng Diễm, Jean-Pierre Chevallet và Joo Hwee Lim [8] xây dựng hệ thống tìm kiếm dựa trên khái niệm sử dụng mô hình mạng Bayes, tuy nhiên, cách đánh trọng số cho các mối quan hệ được sử dụng trong
mô hình vẫn còn hạn chế
Nhóm tác giả Phạm Hồng Đạc [6], Huỳnh Thị Thanh Thương [2], cũng đã
đề xuất một mô hình tìm kiếm dựa trên khái niệm, hướng tới việc xây dựng một hệ thống các dịch vụ hỗ trợ việc tìm kiếm tài liệu lưu trữ lịch sử tại Trung tâm Lưu trữ Quốc gia II và quản lý kho tài nguyên học tập theo hướng ngữ nghĩa Tuy nhiên, các khái niệm còn được giả định là hoàn toàn độc lập nhau, nghĩa là ontology ở mức thấp nhất, mối quan hệ giữa các khái niệm không được xem xét đến
Một công trình nghiên cứu có liên quan khác là dự án lớn về phát triển một
hệ thống quản lý tri thức và thông tin cho các thực thể có tên ở Việt Nam VN-KIM (dựa theo KIM - Knowledge & Information Management của Ontotext Lab, Bulgaria)[1] Ontology được xây dựng có khoảng 373 lớp, 114 thuộc tính và khoảng 85000 thực thể về các nhân vật, thành phố, công ty và tổ chức quan trọng và phổ biến có tên ở Việt Nam Hệ thống sử dụng Sesame để lưu trữ, quản lý Ontology
và tri thức, sử dụng công nghệ Lucene để đánh chỉ mục và truy hồi các tài liệu XML đã được chú thích ngữ nghĩa, nhưng theo các thực thể có tên thay vì theo các
từ khoá, sử dụng GATE để rút trích thông tin về các thực thể có tên, ứng dụng truy hồi thông tin cho phép trả lời gần đúng và truy vấn bằng đồ thị khái niệm
Nhìn chung, các nghiên cứu về tìm kiếm dựa trên khái niệm hiện nay chủ yếu tập trung cải thiện hiệu quả tìm kiếm theo bốn hướng chính [2]:
Nghiên cứu việc khai thác những nguồn tri thức như WordNet, UMLS, Sensus
Nghiên cứu việc mở rộng tài liệu và mở rộng câu truy vấn
Trang 17 Nghiên cứu việc sử dụng các kỹ thuật khác để hỗ trợ quá trình tìm kiếm như
xử lý ngôn ngữ tự nhiên, fuzzy, khử nhập nhằng, phân loại (clasification),… hay các kỹ thuật để sắp xếp kết quả tìm kiếm (ranking)
Nghiên cứu cách thức xây dựng, biểu diễn và so trùng các cấu trúc khái niệm, các cách lập chỉ mục khái niệm
Hele-Mai Haav và Tanel-Lauri Lubi đã làm khảo sát về các công cụ tìm kiếm trên web dựa trên khái niệm [10] Trong khảo sát này Haav và Lubi cho thấy rằng các công cụ tìm kiếm dựa trên khái niệm chủ yếu vẫn còn là những đề tài nghiên cứu, chưa được thương mại hóa nhiều Ngoài ra, Haav và Lubi đã liệt kê một
số công cụ tìm kiếm, loại khái niệm cấu trúc, cách biểu diễn cấu trúc, loại mối quan
hệ và cách tạo ra cấu trúc khái niệm mà các công cụ đã sử dụng
1.3 Mục tiêu, yêu cầu và ý nghĩa của đề tài
1.3.1 Mục tiêu của đề tài
Đề tài nghiên cứu các giải pháp đã có và vận dụng với sự điều chỉnh cho phù hợp để xây dựng hệ tìm kiếm theo ngữ nghĩa trong CSDL các tin tức (bài viết) thuộc lĩnh vực đề tài khoa học (giới hạn ở lĩnh vực nội vụ) bao gồm các mô hình, vấn đề, thuật giải, kỹ thuật, qui trình để biểu diễn và xử lý ngữ nghĩa trong tìm kiếm
Ứng dụng không đi sâu nhiều vào kỹ thuật lấy tin tự động hay thu thập thông tin mà sẽ đi sâu vào việc hỗ trợ người dùng tìm kiếm tin tức theo ngữ nghĩa để đạt hiệu quả trong việc tìm kiếm Hệ thống cho phép tra cứu, tìm kiếm tin đề tài khoa học trong CSDL theo nhiều chức năng, không chỉ hỗ trợ tìm kiếm dựa trên từ khóa mà còn hỗ trợ tìm kiếm dựa trên tri thức của lĩnh vực hay theo ngữ nghĩa, theo đó hệ thống sẽ không so trùng một cách chính xác những gì người dùng cung cấp mà sẽ tìm cách đoán ý, hiểu nghĩa dựa trên các khái niệm có liên quan đến từ khóa tìm kiếm và trả về danh sách các tin về đề tài đúng nhất với ý định của người dùng
Ví dụ: người dùng muốn tìm thông tin về một đề tài khoa học thuộc lĩnh vực phát triển đội ngũ cán bộ công chức cấp xã, người dùng nhập vào ô tìm kiếm cụm từ
Trang 18“đề tài khoa học phát triển đội ngũ công chức cấp xã”, máy tìm kiếm sẽ hiểu ý người
dùng muốn tìm những đề tài khoa học về phát triển nhân lực, nâng cao chất lượng
con người, máy sẽ suy diễn và trả về các kết quả liên quan như: { “ đề tài khoa học
thu hút nguồn nhân lực”, “các giải pháp nâng cao năng lực cán bộ, công chức cấp
xã khu vực Đồng bằng sông Cửu Long”, “trọng dụng và đã ngộ nhân tài trong nền công vụ”}
1.3.2 Yêu cầu của đề tài
Việc xây dựng một kho CSDL các tin tức (bài viết) về đề tài khoa học ở cấp tỉnh, cấp bộ hay cấp nhà nước là một nhu cầu mong muốn đối với người làm nghiên cứu khoa học, bên cạnh đó xây dựng được hệ tìm kiếm theo ngữ nghĩa trên kho tài liệu nói chung, trong CSDL về đề tài khoa học nói riêng xét về mặt thực tế còn gặp nhiều khó khăn vì nhiều vấn đề cho đến nay vẫn còn khá mới hoặc vẫn chưa có lời giải tối ưu Các phương pháp và kỹ thuật hiện có thường chỉ hỗ trợ cho tài liệu tiếng Anh hoặc những dạng tài liệu đơn giản và cho một số miền tri thức nhất định trong những ứng dụng cụ thể và tỏ ra không hiệu quả trong việc giải quyết nhiều dạng bài toán khác nhau
Trong bối cảnh đó, luận văn chỉ nghiên cứu xây dựng thử nghiệm một chức năng lấy tin tức từ một số website của các tỉnh, bộ và các viện nghiên cứu đưa về lưu trữ thành kho CSDL và thử nghiệm tìm kiếm theo ngữ nghĩa trên kho CSDL các tin tức (giới hạn tin tức thuộc lĩnh vực nội vụ) Luận văn tập trung giải quyết các vấn đề chính sau:
Xây dựng tính năng lấy tin tự động hoặc bán tự động từ internet
Đề xuất và phát triển một số mô hình biểu diễn tri thức bao gồm mô hình ontology mô tả tri thức của lĩnh vực nội vụ
Đề xuất và phát triển một số mô hình biểu diễn ngữ nghĩa cho tài liệu
Các vấn đề, kỹ thuật xử lý ngữ nghĩa trong tìm kiếm
Các kỹ thuật, quy trình chung cho việc thiết kế, xây dựng một hệ tìm kiếm theo ngữ nghĩa trên kho tài liệu trong lĩnh vực nội vụ.
Trang 191.3.3 Ý nghĩa của đề tài
Nhu cầu tìm kiếm và khai thác nguồn thông tin trên internet là khá lớn
Do đó, mục tiêu của ứng dụng đạt ra là xây dựng được một ứng dụng lấy tin tức về các đề tài khoa học tự động trên internet, ứng dụng biểu diễn theo tri thức để khai thác thông tin từ nguồn dữ liệu đã có, cụ thể trên nguồn CSDL về các đề tài khoa học thuộc lĩnh vực nội vụ
Các tác động của kết quả nghiên cứu :
Đối với tổ chức cá nhân làm công tác nghiên cứu:
- Nâng cao chất lượng và hiệu quả trong công tác nghiên cứu khoa học: Kịp thời, chủ động nắm được thông tin về các đề tài, bài báo khoa học của các cơ quan ở các tỉnh, các cơ quan, bộ ngành Ví dụ tin thông báo tuyển chọn tổ chức cá nhân đứng tên chủ nhiệm đề tài, tin đề xuất nhiệm vụ khoa học của tỉnh hoặc tin nghiệm thu đề tài, tin tức bài viết về các công trình nghiên cứu vv Xây dựng được nguồn CSDL tin tức về đề tài khoa học qua các năm về trước, tổng hợp đánh giá và sàng lọc để có những thống kê phục vụ công tác viết đề tài
Đối với lĩnh vực khoa học có liên quan: Thúc đẩy nhu cầu ứng dụng CNTT
phục vụ nghiên cứu Thúc đẩy lĩnh vực tìm kiếm thông minh
1.4 Phương pháp nghiên cứu
Đi từ việc phân tích nhu cầu thực tiễn, tìm hiểu, nghiên cứu các phương pháp
và kỹ thuật đã có, trên cơ sở đó tìm cách vận dụng, phối hợp và cải tiến sao cho phù hợp với yêu cầu thực tế của ứng dụng mà luận văn đang hướng tới Bên cạnh đó đưa ra những đóng góp phát triển và đề xuất mới về mặt mô hình và kỹ thuật, tận dụng ưu điểm của từng phương pháp, kỹ thuật trong các mô hình mới với khả năng
biểu diễn tri thức rộng và sâu hơn, khả năng xử lý chính xác và hiệu quả hơn
Những phương pháp và kỹ thuật liên quan đến đề tài bao gồm các phương pháp và kỹ thuật của lấy tin tự động, tìm kiếm ngữ nghĩa
1.5 Nội dung thực hiện
Phân tích đánh giá thực trạng, nhu cầu và khả năng nghiên cứu phát triển giải
Trang 20pháp cũng như ứng dụng
- Chuẩn bị kho dữ liệu: xây dựng hệ thống lấy tin tự động hoặc bán tự động
từ một số website trên internet, lưu trữ và phân loại sơ bộ tạo lập kho CSDL
- Nghiên cứu các phương pháp biểu diễn tri thức hiện đại, đặc biệt là các ontology phục vụ cho việc biểu diễn và xử lý ngữ nghĩa
- Nghiên cứu xây dựng giải pháp bao gồm:
Các phương pháp tổ chức lưu trữ, cập nhật: lớp database, lớp semantic -
quản lý ngữ nghĩa; Nghiên cứu thiết kế tổng thể kết hợp các mô hình hình thành mô hình tổ chức lưu trữ tài liệu có ngữ nghĩa (semantic document base)
Các kỹ thuật: kỹ thuật lấy tin tự động, xử lý tìm kiếm cơ bản, tìm kiếm có
ngữ nghĩa (semantic search), Ontology
- Khảo sát và nghiên cứu các công cụ, công nghệ có liên quan
- Xây dựng hệ ứng dụng quản lý thông tin đề tài khoa học về lĩnh vực nội vụ, cải cách hành chính, thu hút nguồn nhân lực và thực hiện thử nghiệm trên website một số sở khoa học công nghệ, các cơ quan, bộ ban ngành
Trang 21Chương 2 - CƠ SỞ LÝ THUYẾT
Chương 2 trình bày cơ sở lý thuyết của đề tài liên quan đến kỹ thuật lấy tin
tự động và truy hồi thông tin bao gồm định nghĩa, phân loại các phương pháp tìm kiếm, phân loại dữ liệu, các bài toán trong khai phá dữ liệu web, vấn đề biểu diễn và tìm kiếm theo ngữ nghĩa của tài liệu, các lý thuyết nền tảng về Ontology, trên cơ sở
đó phát triển và xây dựng giải pháp giải quyết những yêu cầu và mục tiêu đặt ra
2.1 Kỹ thuật lấy tin tự động trên internet
2.1.1 Các dạng dữ liệu trên internet
2.1.1.1 Dạng Fulltext
Dữ liệu dạng Full text là một dạng dữ liệu phi cấu trúc với thông tin chỉ gồm các tài liệu dạng text Mỗi tài liệu chứa thông tin về một vấn đề nào đó thể hiện qua nội dung của tất cả các từ cấu thành tài liệu đó Ý nghĩa của mỗi từ trong tài liệu không cố định mà tùy thuộc vào từng ngữ cảnh khác nhau sẽ mang ý nghĩa khác nhau [7]
2.1.1.2 Dạng Hypertext
Theo từ điển của Đại Học Oxford (Oxford English Dictionary Additions Series) thì Hypertext được định nghĩa như sau: Đó là loại Text không phải đọc theo dạng liên tục đơn, nó có thể được đọc theo các thứ tự khác nhau, đặc biệt là Text và ảnh đồ họa (Graphic) là các dạng có mối liên kết với nhau theo cách mà người đọc
có thể không cần đọc một cách liên tục Như vậy văn bản Hypertext bao gồm dạng chữ viết không liên tục, chúng được phân nhánh và cho phép người đọc có thể chọn cách đọc theo ý muốn của mình Hiểu theo nghĩa thông thường thì Hypertext là một tập các trang chữ viết được kết nối với nhau bởi các liên kết và cho phép người đọc
có thể đọc theo các cách khác nhau Như ta đã làm quen nhiều với các trang định dạng HTML, trong các trang có những liên kết trỏ tới từng phần khác nhau của trang đó hoặc trỏ tới trang khác và người đọc sẽ đọc văn bản dựa vào những liên kết
đó
Trang 22Có hai khái niệm về Hypertext: Hypertext Document (Tài liệu siêu văn bản) và Hypertext Link (Liên kết siêu văn bản)
2.1.2 Một số phương pháp lấy tin tự động
2.1.2.1 Một số chương trình hỗ trợ đọc tin tức RSS
a) iCA
iCA là tên gọi tắt của "Information Catcher", là phần mềm được xây dựng dựa trên nền tảng và công nghệ dot NET của Microsoft Phần mềm iCA hoạt động với tính năng nhận các thông tin từ Website tổng hợp sau đó hiển thị đầy đủ
Hình 2.1: Giao diện của iCA b) Google Reader
Google Reader là một sản phẩm của Google dựa trên nền Web Form, có rất nhiều tính năng nổi trội: lựa chọn số tin tức được hiển thị, chia sẻ tin với bạn bè, phân nhóm tin tức, tìm kiếm tin tức…
Trang 23Hình 2.2: Giao diện của trang chủ Google Reader c) Trình duyệt Firefox
Hiện nay các trình duyệt phiên bản mới nhất cũng hỗ trợ công nghệ RSS
Ví dụ như: Internet Explorer 9.0 của Microsoft, Opera, Firefox… Khi ta vào một website nào đó mà sử dụng công nghệ RSS thì trên trình duyệt của Firefox có xuất hiện biểu tượng màu da cam, ở giữa có ba chấm trắng
Nếu ta muốn lấy tin từ trang tin đó, ta chỉ cần kích vào biểu tượng đó và nó
sẽ tự động chuyển tới trang lấy tin của Google Reader và iGoogle Hoặc ta có thể sử dụng Live Bookmark được tích hợp trong trình duyệt Firefox để lấy tin
Hình 2.3: Giao diện trang lấy tin RSS
Trang 242.1.2.2 Các kỹ thuật phân tích và lấy tin
a) Giới thiệu ngôn ngữ mở rộng đánh dấu XML
Khái niệm XML: XML (viết tắt của từ tiếng Anh Extensible Markup
Language, "ngôn ngữ đánh dấu mở rộng") là ngôn ngữ đánh dấu với mục đích chung do W3C đề nghị, để tạo ra các ngôn ngữ đánh dấu khác nhau
Đặc điểm của XML: XML cung cấp một phương tiện dùng văn bản (text)
để mô tả thông tin, áp dụng một cấu trúc kiểu cây cho thông tin Đơn vị cơ sở của XML là các ký tự theo định nghĩa của Universal Character Set (bộ ký tự toàn cầu)
Khai báo định dạng file: Dòng đầu tiên trong file XML phải là dòng khai
báo XML phần tùy chọn này dùng để nhận dạng đây là một file tài liệu XML
Tạo phần tử gốc trong tài liệu: Thẻ bắt đầu và thẻ kết thúc của phần tử gốc
bao quanh toàn bộ nội dung của file tài liệu XML Và chỉ có duy nhất một phần tử gốc trong một file dữ liệu, và thẻ "đóng" này để chứa đựng tất cả nội dung của file tài liệu XML
Đặt tên các phần tử tùy biến: Với ngôn ngữ XML cho phép đặt tên các
phần tử một cách tùy biến, sau đó định nghĩa theo Document Type Definition hoặc theo logic đồ XML tương ứng với các tên đó
Lồng ghép các phần tử: Lồng ghép là đặt một phần tử này nằm bên trong
một phần tử khác
Thêm các thuộc tính: Các thuộc tính hoàn toàn có thể được thêm vào các
phần tử, bao gồm cặp tên-giá trị, với giá trị đƣợc đặt bên trong hai dấu ngoặc kép ("), ví dụ: type="dessert"
b) Giới thiệu Kỹ thuật RSS
RSS (Really Simple Syndication) có nghĩa là "dịch vụ cung cấp thông tin
thực sự đơn giản", dùng trong việc chia sẻ tin tức Web (Web syndication) được dùng bởi nhiều website tin tức và weblog với công nghệ của RSS
Định nghĩa RSS: RSS là viết tắt của một trong những thuật ngữ sau:
- Really Simple Syndication: "Dịch vụ cung cấp thông tin thực sự đơn giản"
Trang 25- RDF - Resource Discovery Framework: (tạm dịch là "cơ cấu khám phá tài nguyên"): là định dạng của phiên bản RSS 1.0 Ở một số trang web biểu tượng RDF
sử dụng thay cho RSS
Cấu trúc định dạng tập tin RSS 2.0: Một file RSS là do một phần tử (element) <channel> </channel> và các phần tử con của nó tạo nên
Thành phần <channel> của RSS, một kênh thường có ba phần tử để biết thông tin
của kênh bao gồm:
<title> (tiêu đề): Tên của kênh hoặc nguồn cấp tin<link> (liên kết): URL
của trang web hoặc vùng trang web có liên kết với kênh này <description> (mô tả):
Mô tả ngắn gọn về kênh đó
Thành phần <Item> bản tin
Các <Item> là phần quan trọng nhất của một nguồn cấp tin Mỗi <Item>có
thể là một bài weblog Các <Item> có thể thường xuyên thay đổi nội dung,
có thể chứa bao nhiêu <Item> cũng được Một <Item> thường chứa ba phần tử
như sau:
- <title>: Phần tử này là tên của <Item>
- <link>: Phần tử này là URL của <Item>
- <description>: Phần tử này thường là một bản tóm tắt
2.2 Vấn đề truy tìm thông tin
Các hệ thống tìm kiếm thông tin có thể được phân loại như sau:
Hệ thống tìm kiếm thông tin dựa trên từ khóa: Hệ thống sử dụng một danh sách các từ khóa (keywords) hay thuật ngữ (term) để biểu diễn nội dung tài liệu và câu truy vấn Tìm kiếm theo từ khóa là tìm kiếm các tài liệu mà những từ trong câu truy vấn xuất hiện nhiều nhất, ngoại trừ stopword (các từ quá thông dụng như mạo
từ a, an, the,…), nghĩa là hệ thống giả định nếu một câu hỏi và một tài liệu có chứa một số từ (từ khoá) chung, thì tài liệu là liên quan đến câu hỏi và dĩ nhiên là nếu số
từ chung càng nhiều thì độ liên quan càng cao, tài liệu càng được chọn để trả về cho người dùng Các mô hình tìm kiếm được sử dụng như mô hình Boolean, mô hình không gian vector, các mô hình xác suất, mô hình LSI
Trang 26 Hệ thống tìm kiến thông tin dựa trên khái niệm hay ngữ nghĩa: Nội dung của một đối tượng thông tin được mô tả bởi một tập các khái niệm hay một cấu trúc khái niệm Để rút trích khái niệm, hệ thống cần sử dụng đến nguồn tri thức về lĩnh vực nhất định nào đó Hướng tiếp cận chính cho việc nghiên cứu các hệ thống này
là sử dụng các kỹ thuật trong xử lý ngôn ngữ tự nhiên và công nghệ ontology
Nhìn chung, có hai hướng tiếp cận chính cho việc nguyên cứu các hệ thống IR: hướng thống kê và hướng ngữ nghĩa Trong phương pháp tiếp cận thống kê, các tài liệu kết quả được truy tìm về hoặc được xếp hạng cao là những tài liệu được xem
là thích hợp với câu truy vấn nhất theo một số tiêu chí đo lường thống kê, trong khi các phương pháp tiếp cận hướng ngữ nghĩa hay khái niệm lại cố gắng thực hiện việc phân tích cú pháp và ngữ nghĩa, nói cách khác là cố gắng mô phỏng lại các cấp độ hiểu của máy tính về các văn bản theo ngôn ngữ tự nhiên của con người (có thể tham khảo thêm trong các tài liệu [2], [13] và [14])
Hình 2.4: Các phương pháp truy hồi thông tin
2.2.1 Truy tìm thông tin theo hướng tiếp cận thống kê
Ý tưởng chính theo hướng tiếp cận này là dùng một danh sách các thuật ngữ xuất hiện trong tài liệu hay câu truy vấn là dạng biểu diễn của nội dung tài liệu và câu truy vấn đó Khi một phép biểu diễn tài liệu được chọn, chúng ta cần mã hóa chúng trong một dạng thức toán học phù hợp với chương trình máy tính để máy có thể hiểu và xử lý được Một số mô hình truy tìm theo hướng thống kê tiêu biểu như:
Mô Hình Boolean; Mô hình Boolean cải tiến (Advanced Boolean Model); Mô Hình
Trang 27Không Gian Vector (Vector Space Model); Mô Hình Xác Suất (Probability Model); Latent Semantic Indexing – LSI (có thểm tìm hiểu kỹ hơn tại [2])
2.2.2 Truy tìm thông tin theo hướng ngữ nghĩa
2.2.2.1 Xử lý ngôn ngữ tự nhiên
Theo hướng tiếp cận này thì một tài liệu thường được biểu diễn dưới dạng một tập hợp các từ khóa độc lập nhau Đây được xem là một phương pháp phổ biến dùng cho việc biểu diễn các tài liệu mà không xét đến hình thái của từ, thứ tự của các từ hay vị trí xuất hiện của từ trong tài liệu cũng như các mối quan hệ ngữ nghĩa giữa chúng, do đó cách biểu diễn này mang mức độ thông tin thấp và nếu nhìn dưới góc nhìn của ngôn ngữ học thì đã không xử lý các biến thể về mặt ngôn ngữ học của các từ như biến thể về hình thái học (morphological variation), biến thể về từ vựng học (lexical variation), biến thể về ngữ nghĩa học (semantical variation) và biến thể
về cú pháp học (syntax variation)
Một số mô hình nổi tiếng có thể kể đến như: Một số mô hình nổi tiếng cho việc xử lý ngôn ngữ tự nhiên có thể kể đến như: Lemmas; Simple n-grams; Nouns
Phrases; Các bộ <head, modifier1, …, modifiern>; Semantic concepts
Lemmas: các đặc trưng của tài liệu được chọn là các hình thái cơ bản của từ
như danh từ hay động từ
Simple n-grams: một dãy các từ được lựa chọn bằng cách áp dụng kỹ thuật
thống kê Hệ thống tiến hành khảo sát và thống kê các dãy bao gồm n từ liên tiếp tùy ý (n - gram) có trong kho ngữ liệu
Nouns Phrases: Những biểu thức chính qui (ví dụ như N+ là một dãy các danh từ liên kết với nhau theo một qui tắc cú pháp nhất định) dựa trên các từ loại (danh từ, động từ và tính từ) có thể được sử dụng để chọn ra các cụm từ dùng làm đặc trưng cho tài liệu và loại bỏ những kết hợp không khả thi Cụm từ được chọn bao gồm một từ chính (head) và các phụ ngữ hay từ bổ nghĩa (modifier) đứng trước
và sau nó
Các bộ <head, modifier 1 , …, modifier n >: Những bộ phân tích cú pháp
Trang 28(parser) được sử dụng để phát hiện và rút trích ra các quan hệ cú pháp phức tạp như subject-verb-object từ trong văn bản
Semantic concepts: mỗi từ được thay thế bằng một đại diện cho nghĩa của
từ đó Việc gán nghĩa cho một từ phụ thuộc vào định nghĩa của từ đó có trong từ điển
Tuy nhiên, cho đến nay thì những kết quả đạt được theo cách tiếp cận này vẫn chưa có sự cải thiện đáng kể so với các phương pháp thống kê kể trên Nguyên nhân chính là do những mô hình biểu diễn mới cũng chỉ nắm bắt được một phần nhỏ thông tin hơn so với mô hình truyền thống Hơn nữa, những lỗi xuất hiện trong quá trình rút trích tự động các khái niệm hay trong quá trình xây dựng các mô hình biểu diễn có thể gây nhiễu và làm ảnh hưởng đến tiến trình tìm kiếm [2]
2.2.2.2 Hướng tiếp cận Ontology
Ontology là bản mô tả tường minh các khái niệm trong một miền ứng dụng nào đó và quan hệ giữa những khái niệm này cùng một số luật logic và suy diễn, cho phép suy luận khái niệm mới từ các khái niệm đã có Ontology cung cấp từ vựng thống nhất cho việc trao đổi thông tin giữa các ứng dụng Những tìm hiểu về
cơ sở lý thuyết của ontology sẽ được trình bày trong phần 2.3.3
2.2.3 Đánh giá một hệ thống tìm kiếm thông tin
Hiệu quả của một hệ truy tìm thông tin có thể được đánh giá theo các tiêu chuẩn sau [2]:
- Để đánh giá hiệu quả truy tìm của hệ thống, người ta sử dụng đến hai độ
đo cơ bản là độ chính xác (precision) và độ bao phủ (recall) Những độ đo này đo sự
thỏa mãn của người dùng với các tài liệu mà hệ thống tìm thấy Cho S là tập các tài liệu được tìm thấy (liên quan theo hệ thống) Cho U là tập các tài liệu liên quan theo
đánh giá của người dùng Khi đó, độ chính xác và độ bao phủ sẽ được định nghĩa như sau:
Độ chính xác: là sự tương ứng giữa số tài liệu mà hệ thống tìm thấy có liên
quan đến câu truy vấn theo người dùng trên tổng số các tài liệu tìm thấy của hệ
Trang 29Độ bao phủ: là sự tương quan giữa số tài liệu hệ thống tìm thấy được đánh
giá là liên quan theo người dùng trên tổng số các tài liệu có liên quan theo người
thống muốn tăng độ chính xác thường sẽ phải giảm độ bao phủ và ngược lại
Hiệu quả thực thi của hệ thống (Execution efficiency) được đo bởi thời
gian thực hiện thủ tục tìm kiếm các văn bản liên quan đến câu truy vấn được cho
Hiệu quả lưu trữ được đo bởi dung lượng bộ nhớ cần thiết để lưu trữ dữ
liệu (cả bộ nhớ ngoài lưu trữ dữ liệu chỉ mục và bộ nhớ RAM khi hệ thống thực
Trang 30cách có ngữ nghĩa hơn nhằm phục vụ cho máy tính có thể “hiểu” được Semantic
Web còn cung cấp một môi trường chia sẻ và xử lý dữ liệu tự động bằng máy tính
Semantic Web hay Web ngữ nghĩa thực chất là một sự mở rộng của Web hiện hành nhằm mục đích khai thác tốt nhất công nghệ Web Sự mở rộng của Semantic Web chính là việc thêm vào trong Web hiện hành yếu tố ngữ nghĩa, để cho phép máy tính khai thác và khai thác tốt hơn các thông tin trên Web
Thông thường, semantic web có hai cách để xử lý công việc:
- Thứ nhất, nó sẽ mô tả chi tiết dữ liệu của nó để thể hiện được sự liên quan
của thông tin
- Thứ hai, Semantic web cho phép chúng ta tạo ra một file để mô tả mối liên
hệ giữa các tập dữ liệu với nhau, tức là nếu dữ liệu có chung ý nghĩa thì chúng có sự liên kết với nhau Điều này cho phép hệ thống tích hợp được dữ liệu từ nhiều nguồn khác nhau
Ý tưởng liên kết các nguồn dữ liệu khác nhau (khái niệm, hình ảnh, con người, sự kiện…) cho phép chúng ta mở rộng web thành một môi trường mới với tập các quan hệ mới giữa các nguồn dữ liệu, tạo ra mối liên hệ ngữ cảnh (contextual relationship), điều này web hiện tại chưa làm được
Hình 2.5: Liên kết ngữ nghĩa giữa các nguồn khác nhau trong semantic web
Trang 312.3.1.2 Semantic web có đặc điểm gì mới?
- Máy có thể hiểu được thông tin trên web: Máy không phải suy luận dựa
vào ngữ pháp và các ngôn ngữ đánh dấu nữa vì tất cả đã được tích hợp trong cấu trúc ngữ nghĩa của văn bản
- Thông tin được tìm kiếm sát với yêu cầu của người dùng: Semantic web
hướng tới phát triển các tiêu chuẩn và kỹ thuật giúp máy hiểu nhiều thông tin trên web hơn để giúp chúng ta tìm ra lượng thông tin đầy đủ và sát với yêu cầu Với semantic web máy tính có thể tích hợp thông tin từ nhiều nguồn khác nhau và biết
so sánh các thông tin với nhau
- Dữ liệu liên kết động từ nhiều nguồn: Bằng cách thêm các siêu dữ liệu
(metadata) cho các tài liệu, chúng ta có thể kết hợp các thông tin đã được mô tả và giàu ngữ nghĩa với bất kỳ nguồn dữ liệu nào
- Hỗ trợ công cụ tự động hóa: Semantic web cung cấp các công cụ và
phương tiện để thêm các thông tin chi tiết lên web nhằm hỗ trợ việc tự động hóa cho các dịch vụ
2.3.1.3 Kiến trúc semantic web
Semantic Web là một tập hợp/một chồng (stack) các ngôn ngữ Tất cả các lớp
của Semantic Web được sử dụng để đảm bảo độ an toàn và giá trị thông tin trở nên tốt nhất
Hình 2.6: Kiến trúc semantic web [3]
Trang 32- Lớp Unicode & URI: Bảo đảm việc sử dụng tập kí tự quốc tế và cung cấp
phương tiện nhằm định danh các đối tượng trong Semantic Web
- Lớp XML cùng với các định nghĩa về namespace (vùng tên gọi)
và xmlschema (lược đồ xml) bảo đảm rằng chúng ta có thể tích hợp các định nghĩa
Semantic Web với các chuẩn dựa trên XML khác
- Lớp RDF và RDF Schema: Đây là lớp quan trọng nhất trong kiến trúc
Semantic Web
- Lớp Ontology: Hỗ trợ sự tiến hóa của từ vựng vì nó có thể định nghĩa mối
liên hệ giữa các khái niệm khác nhau Một Ontology (bản thể luận trong logic) định nghĩa một bộ từ vựng mang tính phổ biến & thông thường, nó cho phép các nhà nghiên cứu chia sẻ thông tin trong một hay nhiều lĩnh vực
- Lớp Digital Signature: Được dùng để xác định chủ thể của tài liệu (ví dụ:
tác giả hay nhan đề của một loại tài liệu)
- Các lớp Logic, Proof, Trust: Lớp logic cho phép viết ra các luật (rule)
trong khi lớp proof (thử nghiệm) thi hành các luật và cùng với lớp trust (chấp nhận) đánh giá nhằm quyết định nên hay không nên chấp nhận những vấn đề đã thử nghiệm
2.3.2 Semantic Search là gì?
Semantic Search là tìm kiếm ngữ nghĩa, cải thiện độ chính xác của tìm kiếm bằng cách hiểu ý định của người tìm kiếm và ý nghĩa theo ngữ cảnh của thuật ngữ khi chúng xuất hiện trong không gian dữ liệu có thể tìm kiếm, để tạo ra các kết quả
có liên quan hơn
Các hệ thống tìm kiếm ngữ nghĩa xem xét các điểm khác nhau bao gồm ngữ cảnh của tìm kiếm, vị trí, ý định, biến thể của từ, từ đồng nghĩa, truy vấn tổng quát
và chuyên ngành, kết hợp khái niệm và truy vấn ngôn ngữ tự nhiên để cung cấp kết quả có liên quan Các công cụ tìm kiếm web chủ yếu như Google và Bing đã kết hợp một số yêu tố tìm kiếm ngữ nghĩa
Tìm kiếm ngữ nghĩa là một kỹ thuật tìm kiếm dữ liệu trong một truy vấn tìm
Trang 33và ý nghĩa theo ngữ cảnh của từ mà một người đang sử dụng cho tìm kiếm Người dùng không có thông tin cụ thể về đối tượng mình cần lấy
Thay vì sử dụng các thuật toán xếp hạng như PageRank của Google để dự đoán tính thích hợp, tìm kiếm ngữ nghĩa sử dụng ngữ nghĩa hoặc khoa học về ý nghĩa trong ngôn ngữ, để tạo kết quả tìm kiếm có liên quan cao Trong hầu hết các trường hợp, mục tiêu là cung cấp thông tin được truy vấn bởi người dùng, chứ không phải sắp xếp kết quả người dùng thông qua danh sách các kết quả từ khóa liên quan đến lỏng lẻo [16]
Ví dụ cụ thể để hiểu rõ hơn về Semantic Search
Chúng ta sẽ sử dụng một ví dụ để hiểu một cách trực quan hơn về cách tìm kiếm ngữ nghĩa hoạt động
Giống như khi ta gõ “Portishead” mà không đặt nó trong ngữ cảnh nào, nó
sẽ ra những kết quả liên quan tới ban nhạc này hoặc có thể là một con phố ở Somerset Tuy vậy, với semantic search như bây giờ, nếu ta gõ “Portishead”, ta sẽ nhận được kết quả hoàn toàn liên quan tới ban nhạc bởi vì quá khứ tìm kiếm của ta liên quan tới âm nhạc và không hề liên quan gì tới Somerset
Hình 2.7: Ví dụ Semantic Search
Đây chính là ví dụ đơn giản về semantic search, lấy dữ liệu từ người dùng và đưa ra kết quả liên quan Tuy vậy, semantic search có thể lấy nhiều biến số liên quan tới người dùng và sử dụng nó để đưa ra kết quả chính xác hơn
Trang 34Khi dựa vào mong muốn tìm kiếm, như khi tìm “nhà hàng steak” thì hoàn cảnh rất quan trọng như vị trí, thời gian, quá khứ tìm kiếm và sử dụng thiết bị gì để tìm kiếm Google sẽ lấy tất cả thông tin mà người dùng search ngay tại thời điểm đó
và lấy ra kết quả tốt nhất
Ví dụ khác
Một người dùng đang sống tại New York Trước khi đi ra nước ngoài, người dùng có điền mẫu đơn du lịch Sau khi đã trải qua một quá trình điền đơn ở website của ESTA, người đó được gợi nhớ rằng mình đã có một sự kiện nổi bật trong năm qua Người dùng gõ trên Google “how long does an ESTA last?” như trước khi gõ hết cả câu thì Google đã trả lại những gợi ý với 2 từ “how long”
b) Khi tìm kiếm không ẩn danh a) Khi tìm kiếm ẩn danh Hình 2.8: So sánh kết quả tìm kiếm khi ấn danh và không ẩn danh
Sau đó người dùng chuyển trang trình duyệt ẩn danh để xem người ta thường tìm hiểu những gì mà người ta thường hỏi với 2 từ “how long”
Google đã hiểu hoàn cảnh mà người tìm kiếm, nó biết rằng người dùng vừa
bỏ thời gian điền đơn ở website của ESTA [16]
2.3.3 Ontology
Công nghệ ontology là một công nghệ được nghiên cứu phát triển mạnh mẽ trong thời gian gần đây Ontology trở thành một lĩnh vực nghiên cứu phổ biến có mặt trong nhiều lĩnh vực từ xử lý ngôn ngữ tự nhiên, công nghệ tri thức, các hệ thống trao đổi, tích hợp thông tin cho đến biểu diễn và quản lý tri thức Ontology giúp ta xây dựng mạng lưới ngữ nghĩa, bộ từ điển về các lĩnh vực chuyên môn hỗ
Trang 35trợ trong các ứng dụng, giúp ta mã hóa tri thức lĩnh vực thành một hệ tri thức dùng chung mà máy tính có thể hiểu được bằng cách phân tách khối tri thức này thành các đối tượng tri thức nhỏ hơn và tìm ra các mối liên hệ giữa chúng Phần tìm hiểu hiểu về ontology dưới đây được tham khảo và có trích dẫn một phần dựa trên tài liệu [2] và website www.ontology.co
2.3.3.1 Định nghĩa Ontology
Ontology (nhiều tài liệu dịch là “bản thể luận”) là một thuật ngữ có nguồn gốc từ Triết học diễn tả các thực thể tồn tại trong tự nhiên và các mối quan hệ giữa chúng Theo quan điểm triết học, ontology là nghiên cứu về bản chất của sinh vật,
sự tồn tại hoặc những sự vật thực tế, cũng như các loại sinh vật cơ bản và các mối quan hệ của chúng (wikipedia)
Trong khoa học máy tính có nhiều các định nghĩa khác nhau về ontology:
Gruber (1993) định nghĩa ontology như “một đặc tả tường minh của sự khái niệm hóa trong một lĩnh vực”
Borst (1997) sửa đổi một chút định nghĩa của Gruber, rằng ontology là “ sự đặc tả hình thức của sự khái niệm hóa được chia sẻ” Studer (1998) giải thích hai định nghĩa của Gruber và Borst như sau “Sự khái niệm hóa có nghĩa là mô hình trừu tượng của các sự vật, hiện tượng trên thế giới được xác định qua các khái niệm liên quan của sự vật, hiện tượng đó Tường mình có nghĩa là các kiểu khái niệm và các ràng buộc giữa chúng là được xác định rõ ràng Hình thức có nghĩa là ontology phải được hiểu bởi máy tính Chia sẻ có nghĩa là tri thức trong ontology được kết hợp xây dựng và được chấp nhận bởi một nhóm hoặc một cộng đồng chứ không theo tri thức chủ quan của cá nhân”
Motta (1999) định nghĩa “ontology là đặc tả một phần của tập hợp các khái niệm được sử dụng hình thức hóa các tri thức của một lĩnh vực cần quan tâm Vai trò cơ bản của một ontology là nhằm chia sẽ và sử dụng lại tri thức”
Uschold và Jasper (1999) phát biểu rằng “ontology chứa các định nghĩa và quan hệ giữa các khái niệm, hình thành một cấu trúc lĩnh vực và giới hạn ngữ nghĩa của thuật ngữ trong từ vựng”
Trang 36 Weiss (1999) định nghĩa “ontology là một đặc tả của các khái niệm và quan
hệ trong lĩnh vực quan tâm Ontology không chỉ là phân cấp các lớp mà còn mô tả các quan hệ”
Theo định nghĩa của Hendler năm 2001, “ontology là một tập hợp các thuật ngữ tri thức (knowledge term), bao gồm từ vựng, các quan hệ ngữ nghĩa, một số luật suy diễn và logic trong một lĩnh vực đặc thù”
Nhìn chung có nhiều cách định nghĩa ontology khác nhau, mỗi định nghĩa thể hiện một cách nhìn khác nhau và đi kèm với nó là một phương pháp luận và kỹ thuật xây dựng ontology
2.3.3.2 Các thành phần của Ontology
Ontology được xây dựng thường có các thành phần cơ bản sau:
Các lớp (class) (tương ứng với các concept – khái niệm): là trung tâm của hầu hết các ontology, mô tả các khái niệm trong miền lĩnh vực Các lớp thường được tổ chức phân cấp và áp dụng kỹ thuật thừa kế, các lớp cũng có thể có các ràng buộc (restrictions) cho các quan hệ của cá thể thuộc lớp đó Một lớp có thể có các lớp con biểu diễn khái niệm cụ thể hơn so với lớp cha
Thuộc tính (property hay role, slot): mô tả các đặc tính, đặc trưng, tính chất khác nhau của khái niệm và mỗi thuộc tính đều có giá trị Thuộc tính được phân biệt với quan hệ (relation) dựa trên giá trị là một kiểu dữ liệu (string, number, boolean, ) Một thuộc tính bản thân nó cũng có các thuộc tính con và cũng có các ràng buộc trên nó
Quan hệ (relation): biểu diễn các kiểu quan hệ giữa các khái niệm Các quan
hệ nhị phân được sử dụng để biểu diễn thuộc tính Tuy nhiên, giá trị của quan hệ khác với giá trị của thuộc tính ở chỗ giá trị của quan hệ là một khái niệm
Thực thể hay thể hiện (instance): biểu diễn các phần tử riêng biệt của khái niệm, là các thể hiện của lớp Mỗi thể hiện của lớp biểu diễn một sự cụ thể hóa của khái niệm đó
Hàm (function): là một loại thuộc tính hay quan hệ đặc biệt, trong đó, phần
Trang 37 Tiền đề (Axioms): biểu diễn các phát biểu luôn đúng mà không cần phải chứng minh hay giải thích Axioms được sử dụng để kiểm chứng sự nhất quán của ontology hoặc cơ sở tri thức Cả hai thành phần hàm và tiên đề góp phần tạo nên khả năng suy diễn trên ontology
2.3.3.3 Phân loại Ontology
Về cơ bản có các loại ontology sau:
Ontology biểu diễn tri thức (Knowledge representation Ontology) nắm giữ các biểu diễn nguyên thủy được dùng để chuẩn hóa tri thức trong một mô hình biểu diễn tri thức Một trong những ontology thuộc loại này là Frame Ontology của Gruber, ontology này định nghĩa những khái niệm như là frame, slot và các ràng buộc slot cho phép biểu diễn tri thức theo hướng đối tượng hoặc theo frame-based
Ontology tổng quát (Generic Ontology) bao gồm từ vựng liên quan tới sự vật, hiện tượng, thời gian, không gian, quan hệ nhân quả …có ý nghĩa chung chung không chỉ dùng riêng cho một lĩnh vực nào Ví dụ: WordNet, CYC vv
Metadata ontology cung cấp từ vựng dùng để mô tả nội dung của các nguồn thông tin trực tuyến Ví dụ ontology Dublin Core
Ontology lĩnh vực (Domain Ontology) là những ontology có thể tái sử dụng trong một lĩnh vực nào đó, nó cung cấp từ vựng về các khái niệm và các mối quan
hệ trong một lĩnh vực Ví dụ: ontology về y khoa MeSH, GALEN hay ontology về sinh học Gene Ontology, OBO
Ontology tác vụ (Task Ontology) cung cấp một tập các thuật ngữ cụ thể cho những tác vụ cụ thể
Ontology lĩnh vực - tác vụ (Domain – Task Ontology) là các ontology về tác
vụ có thể tái sử dụng trong một lĩnh vực nào đó
Ontology ứng dụng (Application Ontology)
Ontology chỉ mục (Index Ontology)
Ontology hỏi và trả lời (Tell and Ask Ontology) …
Các loại metadata ontology, ontology lĩnh vực, ontology ứng dụng nắm giữ tri thức một cách tĩnh nghĩa là độc lập với cách giải quyết vấn đề, trong khi
Trang 38ontology tác vụ, ontology lĩnh vực – tác vụ liên quan đến tri thức giải quyết vấn đề Tất cả các ontology này có thể kết hợp với nhau để xây dựng lên một ontology mới
Ngoài ra, cộng đồng nghiên cứu phân biệt các ontology dựa trên độ phức tạp của mô hình biểu diễn ontology
Lightweight ontology: chứa các khái niệm, phân cấp khái niệm, mối quan hệ giữa các khái niệm và các thuộc tính mô tả khái niệm
Heavyweight ontology: bổ sung vào lighweight ontology các tiền đề, hàm và ràng buộc
2.3.3.4 Vai trò của Ontology
Nhu cầu ban đầu cần có ontology là để cung cấp các nguồn thông tin giàu ngữ nghĩa mà máy tính có thể xử lý và thao tác được, đồng thời vẫn có thể dùng ontology để chia sẻ tri thức giữa người với người và với các hệ thống khác
Chia sẻ sự hiểu biết chung giữa các ứng dụng và con người, hiểu biết về cấu trúc thông tin giữa con người và các tác tử
Cho phép sử dụng lại tri thức Ví dụ, nếu một nhóm nghiên cứu đã phát triển các ontology, nhóm khác có thể sử dụng lại cho ứng dụng của họ
Làm rõ lĩnh vực quan tâm, đưa ra các giả thiết rõ ràng về miền: tạo điều kiện thay đổi khi tri thức về lĩnh vực thay đổi, các đặc tả rõ ràng về miền tri thức sẽ giúp cho người mới dễ tìm hiểu ngữ nghĩa của các từ trong lĩnh vực quan tâm
Phân tách hay tách rời tri thức lĩnh vực với tri thức xử lý: có thể hình dung 1 tác vụ tạo một tài liệu học tập từ nhiều thành phần theo đặc tả thì độc lập với chương trình ứng dụng làm nhiệm vụ này
Phân tích tri thức: Phân tích hình thức của các khái niệm, cần thiết cho việc tái sử dụng và mở rộng ontology Muốn kế thừa hay sử dụng một ontology ta phải phân tích và tìm hiểu các khái niệm và quan hệ giữa chúng trong ontology đó
Theo Aldea, các ontology có khả năng:
Cung cấp một cấu trúc để chú giải nội dung của một tài liệu với thông tin ngữ nghĩa, điều này cho phép trích chọn thông tin thích hợp từ những tài liệu đó
Trang 39tổ chức của nó và tạo thuận lợi cho trao đổi dữ liệu, tri thức và các mô hình
Đảm bảo sự đồng nhất và chính xác nhờ công thức hóa các ràng buộc nội dung của thông tin
Tạo các thư viện của các mô hình có khả năng trao đổi và tái sử dụng
Cho phép lập luận, nghĩa là cho phép tiến triển từ xử lý cú pháp đến xử lý ngữ nghĩa và cho phép các hệ thống suy diễn về các đối tượng dựa trên các luật sinh tổng quát
2.3.3.5 Các ứng dụng dựa trên Ontology
Hiện nay ontology không những phục vụ cho nhu cầu chia sẻ tri thức đơn thuần mà còn được áp dụng vào nhiều lĩnh vực khác nhau như các hệ thống quản lý tri thức, rút trích thông tin, thương mại điện tử, web ngữ nghĩa, xử lý ngôn ngữ tự nhiên, cơ sở dữ liệu, quản lý thông tin đa ngôn ngữ, khai phá tri thức, học máy, trong công nghệ phần mềm, trong kiến trúc đa tác tử hay trong các hệ thống bảo mật, … Ontology cung cấp nguồn thông tin giàu ngữ nghĩa giúp cho các hệ thống thực hiện các tác vụ với kết quả tốt hơn
Ontology được tổ chức W3C đưa vào làm một trong những nền tảng xây dựng Web Ngữ nghĩa Việc phát triển ontology dựa trên mục đích muốn cải thiện việc tìm kiếm trên Web vốn chỉ dựa trên việc duyệt và tìm kiếm theo từ khóa, ontology được dùng để gán nhãn lại các trang web, các web service hay các nguồn
dữ liệu khác trên internet nhằm tăng tính hiệu quả trong việc truy xuất, tìm kiếm và khám phá dữ liệu
2.3.3.6 Các hướng tiếp cận để xây dựng Ontology
Do nhu cầu ontology ngày càng phát triển, nên nhiều phương pháp khác nhau để xây dựng ontology một cách tự động hoặc bán tự động được các tác giả nghiên cứu và phát triển Các phương pháp này giúp giảm bớt chi phí về thời gian
và công sức so với việc xây dựng các ontology một cách thủ công Nhưng mặt khác chất lượng của các ontology thu được từ những phương pháp này phụ thuộc khá nhiều tùy vào thuật giải được sử dụng, nguồn dữ liệu mà thuật giải sử dụng, cũng
Trang 40như từng lĩnh vực mà phương pháp được áp dụng vào
Một trong những hướng xây dựng ontology chính là rút trích ontology từ các nguồn dữ liệu khác nhau Các phương pháp rút trích ontology sử dụng nhiều cách thức khác nhau từ các phương pháp máy học, xử lý ngôn ngữ tự nhiên cho đến thống kê Các phương pháp sử dụng việc xử lý ngôn ngữ tự nhiên dựa trên việc phân tích từ vựng, cú pháp của tập hợp các văn bản thuộc về một domain nào đó, từ
đó rút trích ra các khái niệm và dựa vào mối quan hệ cú pháp và từ vựng để xây dựng nên mối quan hệ về mặt ngữ nghĩa giữa các khái niệm Phương pháp rút trích ontology dựa vào việc thống kê sẽ tiến hành thống kê trên các nguồn dữ liệu để rút trích ontology Các phương pháp sử dụng việc học máy sẽ khai thác các nguồn dữ liệu nhằm rút ra các đặc trưng của dữ liệu, các khuôn mẫu cũng như các tập luật phục vụ cho việc rút trích ontology
Các hệ thống xây dựng ontology có thể sử dụng dữ liệu từ nhiều nguồn khác nhau để xây dựng nên ontology, có thể được phân chia thành các loại sau đây:
Dữ liệu có cấu trúc: Hệ thống xây dựng lên các ontology dựa vào các dữ liệu
có cấu trúc như từ database schema, từ những ontology đã có sẵn, từ những cơ sở tri thức và từ các mạng từ vựng như WordNet
Dữ liệu bán cấu trúc: đây cũng là một nguồn khác mà các hệ thống thường
sử dụng, bao gồm các từ điển, các văn bản HTML và XML
Dữ liệu không có cấu trúc: đây là nguồn dữ liệu khó rút trích tri thức nhất Các hệ thống xây dựng ontology phải thực hiện các công đoạn xử lý ngôn ngữ tự nhiên trên các văn bản này để khám phá ra các khái niệm và các quan hệ Dữ liệu dạng này bao gồm các văn bản viết trên ngôn ngữ tự nhiên hoặc các văn bản lấy từ
web
Thông thường, việc xây dựng Ontology gồm các bước:
Bước 1: Xác định miền và phạm vi của Ontology
Đây là bước chúng ta nên làm trước khi muốn xây dựng một Ontology Các yêu cầu đối với Ontology trong hệ thống thường là mô tả miền quan tâm nhằm cung cấp cơ sở tri thức trong việc giải quyết mục đích chuyên biệt nào đó Để nhận diện