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ĩ)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 1ĐỖ 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
Mã số: 60.48.01.04
TÓM TẮT LUẬN VĂN THẠC SĨ
TP HỒ CHÍ MINH – 2017
Trang 2Luận văn được hoàn thành tại:
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
Người hướng dẫn khoa học: PGS.TS Đỗ Văn Nhơn
Phản biện 1: PGS.TS Trần Văn Lăng
Phản biện 2: TS Lê Xuân Trường
Luận văn sẽ được bảo vệ trước Hội đồng chấm luận văn thạc
sĩ tại Học viện Công nghệ Bưu chính Viễn thông
Vào lúc: 11giờ 15” ngày 06 tháng 01 năm 2018
Có thể tìm hiểu luận văn tại:
- Thư viện của Học viện Công nghệ Bưu chính Viễn thông
Trang 3MỞ ĐẦ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 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 được trình bày trong chương, bao gồm:
Chương 1 Giới thiệu tổng quan về đề tài bao gồm các
Trang 4bước khảo sát và đánh giá thực trạng, khả năng nghiêm 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 web, một mô hình tập keyphrase biểu diễn ngữ nghĩa cho các tài liệu văn bản hay câu truy vấn người dùng; một mô hình tổ chức lưu trữ kho tài liệu gọi là mô hình Semantic Document Base (SDB); 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 mô hình SDB 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
để 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ả
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 những của luận văn trong tương lai
Trang 5Chươ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 về, 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
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
Trang 6(yahoo.com), Bing (bing.com), MSN (msn.com), Ask (ask.com), AOL (aol.com), Lycos (lycos.com), Alta 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
1.2 Phân tích kết quả các đề tài liên quan
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:
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
Trang 7Thươ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
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
Xây dựng hệ thống lấy tin về các đề tài khoa học tự động trên internet, quản lý lưu trữ thành kho cơ sở dữ liệu
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ụ
1.3.2 Yêu cầu của đề tài
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
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 81.3.3 Ý nghĩa của đề tài
1.4 Phương pháp nghiên cứu
1.5 Nội dung thực hiện
- 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
Trang 9Chương 2 - CƠ SỞ LÝ THUYẾT 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
2.1.1.2 Dạng Hypertext
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
2.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
b) Giới thiệu Kỹ thuật RSS
2.2 Vấn đề truy tìm thông tin
2.2.1 Truy tìm thông tin theo hướng tiếp cận thống kê
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
2.2.2.2 Hướng tiếp cận Ontology
2.2.3 Đánh giá một hệ thống tìm kiếm thông tin
Độ 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ệ thống Độ chính xác
S
Trang 10Độ 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 dùng Độ bao phủ
2.3.1.2 Semantic web có đặc điểm gì mới?
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
2.3.2 Semantic Search là gì?
2.3.3 Ontology
Trang 112.3.3.1 Định nghĩa 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)
Thuộc tính (property hay role, slot)
Quan hệ (relation
Thực thể hay thể hiện (instance)
Hàm (function)
Tiền đề (Axioms
2.3.3.3 Phân loại Ontology
2.3.3.4 Vai trò của Ontology
2.3.3.5 Các ứng dụng dựa trên Ontology
2.3.3.6 Các hướng tiếp cận để xây dựng Ontology
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
Bước 2: Xem xét việc kế thừa các Ontology có sẵn Bước 3: Liệt kê các thuật ngữ quan trọng trong Ontology
Bước 4: Xây dựng các lớp và cấu trúc lớp phân cấp Bước 5: Định nghĩa các thuộc tính và quan hệ cho lớp Bước 6: Định nghĩa các ràng buộc về thuộc tính và quan hệ của lớp
Bước 7: Tạo các thể hiện / thực thể
Trang 122.3.3.8 Ngôn ngữ để xây dựng Ontology:
- RDF:
- RDF Schema:
- OWL:
2.3.3.9 Công cụ để xây dựng Ontology
Trong khuôn khổ của đề tài này sẽ đề cập đến công cụ Protégé phiên bản Protégé 5.2.0 dùng cho Desktop
2.4 Cách biểu diễn tài liệu dùng đồ thị keyphrase
2.4.1 Vấn đề biểu diễn tài liệu
2.4.2 Mô hình hóa tài liệu thành đồ thị keyphrase
Định nghĩa: Một đồ thị keyphrase (KG) là một bộ
gồm ba thành phần (GK, E, l) trong đó:
- G K K là một tập hữu hạn, khác rỗng các keyphrase, gọi là tập các đỉnh của đồ thị
- E là một tập hữu hạn với các phần tử trong GK GK, gọi là tập các cung của đồ thị Mỗi cung biểu thị cho một quan
hệ ngữ nghĩa giữa hai đỉnh kề với nó
- l E: R KK là hàm gán nhãn cho các cung của đồ thị
thỏa : một cung e được gán nhãn bởi l(e) RKK là một quan hệ giữa hai đỉnh keyphrase kề với e
2.5 Các kỹ thuật, phương pháp xử lý ngữ nghĩa
2.5.1 Kỹ thuật rút trích keyphrase
Hướng tiếp cận ngôn ngữ học:
Hướng tiếp cận bằng phương pháp thống kê:
2.5.2 Phương pháp đo khoảng cách giữa các keyphrase
Thuật toán tính khoảng cách giữa 2 keyphrase
Trang 13Đầu vào: hai keyphrase k1 và k 2
Đầu ra: Khoảng cách ngữ nghĩa giữa k1 và k 2
Sem_Dis(k 1 , k 2 )
{
If k 1 , k 2 là 2 keyphrase giống nhau
Sem_Dis(k 1 , k 2 ):= 0 Else If tồn tại liên kết trực tiếp giữa k 1 và k 2
Sem_Dis(k 1 , k 2 ):= w(k 1 , k 2 ) Else If tồn tại liên kết gián tiếp
của 2 ánh xạ f: R H R G , g: K H K G thỏa điều kiện:
Đơn ánh
Phép chiếu bảo toàn “quan hệ kề” giữa các đỉnh và cung,
nghĩa là với mọi r R H , g(adj i (r)) = adj i (f(r)) với 1 i 2
Trang 14Trong đó, adji(r) là đỉnh keyphrase thứ i kề với đỉnh quan
hệ r Nếu hai đỉnh kề kề nhau trong H thì các đỉnh tương ứng của nó cũng kề nhau trong G
r R H , β(r,f(r)) ≠ 0
k K H , α(k,g(k)) ≠ 0
Trang 15Chương 3 - THIẾT KẾ MÔ HÌNH
3.1 Xây dựng Ontology cho lĩnh vực Nội vụ
3.1.1 Mô hình ontology cho ngữ nghĩa của tài liệu
Mô hình “Ontology cho các keyphrase được phân lớp”, viết tắt là mô hình CK_ONTO (Classed Keyphrase based Ontology) là một hệ thống gồm có 6 thành phần Qua nghiên cứu học viên lược bớt hàm gán nhãn label vì trong kho dữ liệu của chúng tôi không có sự phân cấp nhiều Với 5 thành phần
5) Một tập hợp RKK các quan hệ giữa các keyphrase
3.1.2 Quy trình xây dựng ontology cho lĩnh vực Nội vụ tại Việt Nam:
Hình 3.2: Quy trình xây dựng ontology
Thu thập dữ liệu từ nhiều nguồn Xây dựng ontology Chuẩn hóa ontology
Trang 163.1.2.1 Thu thập dữ liệu
3.1.2.2 Xây dựng Ontology
3.1.2.3 Chuẩn hóa Ontology
3.2 Mô hình tổ chức và biểu diễn tài liệu theo ngữ nghĩa
3.2.1 Mô Hình SEMANTIC DOCUMENT BASE
Tài liệu [20] giới thiệu mô hình “Cơ sở tài liệu có ngữ nghĩa”(viết tắt là mô hình SDB - Semantic Document Base) là một hệ thống gồm có 5 thành phần (D, FS, DB, CK_ONTO, SBD_R), được chúng tôi lược bớt thành phần thứ năm SBD_R
vì cách tổ chức hệ thống file FS của chúng tôi khác với mô hình FS đề xuất trong [20]
(FS, DB, CK_ONTO)
Trong đó các thành phần được mô tả như sau:
3.2.1.1 Một mô hình Cơ sở dữ liệu DB phục vụ việc lưu trữ các thông tin liên quan đến đề tài khoa học
Bảng lưu trực tiếp dữ liệu có tên tblNewsAuto, trường quan trọng lưu các Keypharses để phục vụ cho quá trình tìm kiếm ngữ nghĩa
3.2.1.2 Một ontology CK_ONTO mô tả tri thức của lĩnh vực
Mô hình là một bộ gồm có 5 thành phần: (1) tập hợp K các keyphrase mô tả tri thức của lĩnh vực, (2) tập hợp C các lớp keyphrase, (3) tập hợp RKC quan hệ giữa keyphrase và lớp, (4) tập hợp RCC quan hệ giữa các lớp và cuối cùng là tập hợp RKK quan hệ trực tiếp trên keyphrase
3.2.2 Tổ chức lưu trữ cơ sở về các tài liệu theo mô hình SDB
3.2.2.1 Các thành phần
Cơ sở về các tài liệu theo mô hình SDB có thể được tổ
Trang 17chức lưu trữ ở mức vật lý như sau:
(1) Tập tin “NewAppDB15-TR.sql” lưu trữ database của kho tin tức
(2) Tập tin “CK_ONTONV.OWL” lưu trữ database của ontology CK_ONTO
3.2.2.1 Cơ sở dữ liệu NewsAuto.sql
3.2.2.4 File ontology CK_ONTONV.owl
3.3 Tính toán độ tương đồng ngữ nghĩa
3.3.2 Thuật toán tính toán độ tương đồng ngữ nghĩa giữa hai keyphrase
Bài toán được đặt ra như sau: Cho một ontology CK_ONTO (K, C, RKC, RCC, RKK) và hai keyphrase k1, k2 Yêu cầu tính giá trị ( ,k k1 2) [0,1] phản ánh độ đo sự tương tự nhau, giống nhau về ngữ nghĩa giữa hai đối tượng, giá trị này càng lớn thì sự giống nhau về nghĩa của chúng càng lớn và
Trang 18CC_Rela := {}; // quan hệ “có liên quan” giữa các lớp
R i := {}; // quan hệ r i giữa các keyphrase với i = 1, 2, …14 tương ứng 14 quan hệ có độ ưu tiên (thứ
tự dò tìm trên tập các quan hệ) giảm dần Mỗi phần tử trong R i là một bộ [keyphrase 1, keyphrase 2, val_r i (keyphrase 1, keyphrase 2)] (val_r i (keyphrase 1, keyphrase 2) là trọng số phản ánh độ tương đồng giữa keyphrase 1 và keyphrase 2)
minValR := [] // lưu giá trị min
i
R của 14 quan hệ trên keyphrase
Các bước thực hiện:
Bước 1: Khởi tạo
Đặt trạng thái ban đầu cho một số biến điều khiển
KQueue: = {}; // hàng đợi ưu tiên
Threshold: = 0,5; // ngưỡng, khoảng cách ngữ nghĩa nhỏ nhất cho phép giữa các keyprhase
Bước 2: Thêm vào hàng đợi keyphrase k1 cùng với giá trị ưu tiên là
1
KQueue.add(k 1 , 1);
Bước 3: Thực hiện một quá trình dò tìm các keyphrase có quan hệ
ngữ nghĩa với k 1 để phát sinh các keyphrase mới lưu vào hàng đợi while not (KQueue.empty())
<3.1> Lấy ra khỏi hàng đợi phần tử có độ ưu tiên lớn nhất
(truy xuất và xóa phần tử có độ ưu tiên lớn nhất từ hàng đợi)
(key, val) : = KQueue.dequeue();
<3.2> Kiểm tra mục tiêu
if (key == k ) then return val;