Tải bản đầy đủ (.pdf) (32 trang)

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 (tt)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (833.08 KB, 32 trang )

HỌ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
Mã số: 60.48.01.04

TÓM TẮT LUẬN VĂN THẠC SĨ

TP HỒ CHÍ MINH – 2017


Luậ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



1
MỞ ĐẦ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



2
bướ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.


3
Chƣơ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


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


5

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


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


7
Chƣơ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 U
S


8
Độ 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ủ



S U
U

2.3 Semantic web và Ontology
2.3.1 Semantic web
Phần tìm hiểu về Semantic web dưới đây được tham
khảo và trích dẫn một phần từ tài liệu [2]
2.3.1.1 Semantic web là gì?
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



9
2.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ể



10
2.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 đó:
- GK  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  RKK 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


11

Đầu vào: hai keyphrase k1 và k2
Đầu ra: Khoảng cách ngữ nghĩa giữa k1 và k2
Sem_Dis(k1, k2)
{
If k1, k2 là 2 keyphrase giống nhau
Sem_Dis(k1, k2):= 0
Else If tồn tại liên kết trực tiếp giữa k1 và k2
Sem_Dis(k1, k2):= w(k1, k2)
Else If tồn tại liên kết gián tiếp
giữa k1 và k2
Sem_Dis (k1, k2):=
// SPath(k1,k2) là đường đi ngắn nhất giữa k1 và k2
Else
Sem_Dis(k1, k2):= min{Sem_Dis(k1, k0)} + min{Sem_Dis(k1,
k0)}
}

 So khớp đồ thị keyphrase
Định nghĩa: Một phép chiếu từ đồ thị keyphrase H = (KH, RH,
EH) tới đồ thị keyphrase G = (KG, RG, EG) là một cặp có thứ tự

  ( f , g ) của 2 ánh xạ f: RH

RG, g: KH

KG 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

RH, g(adji(r)) = adji(f(r)) với 1

i 2.


12
Trong đó, 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

RH, β(r,f(r)) ≠ 0



k

KH, α(k,g(k)) ≠ 0


13

Chƣơ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
còn lại là: (K, C, RKC, RCC, RKK) trong đó các thành phần
được mô tả như sau [2]:
1) Một tập hợp K các keyphrase
2) Một tập hợp C các lớp keyphrase
3) Một tập hợp RKC các quan hệ giữa keyphrase và lớp
4) Một tập hợp RCC các quan hệ giữa các lớp
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:
Bổ sung, chỉnh sửa
ontology cho phù hợp
Xây dựng các lớp và
quan hệ
Thu thập các keyphrase
từ nhiều nguồn

Chuẩn hóa ontology

Xây dựng ontology
Thu thập dữ liệu từ
nhiều nguồn


Hình 3.2: Quy trình xây dựng ontology


14
3.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ổ


15
chức lưu trữ ở mức vật lý như sau:
(1).
Tập tin “NewAppDB15-TR.sql”
database của kho tin tức.
(2).
Tập tin “CK_ONTONV.OWL”
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

lưu

trữ

lưu

trữ

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ị  (k1 , k2 )  [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à

ngược lại.
Input: Ontology CK_ONTO
Hai keyphrase k1, k2
Output: một giá trị  (k1 , k2 ) [0, 1]
Ghi nhận thông tin về nguồn tri thức ontology CK_ONTO, bao gồm
các tập sau:
Keyphrases

:= {};

// tập các lớp keyphrase

Classes := {};
KC_Rela

// tập các keyphrase

:= {};

// quan hệ thuộc về giữa

:= {};

// quan hệ “phân cấp” trên

keyphrase và lớp.
CC_Hypo
lớp.



16
CC_Rela

:= {};

// quan hệ “có liên quan”

:= {};

// quan hệ ri giữa các

giữa các lớp.
Ri

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 Ri là
một bộ [keyphrase 1, keyphrase 2, val_ri (keyphrase 1, keyphrase 2)]
(val_ri(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 Ri 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(k1, 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 k1 để 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 == k2) then return val;


17
<3.3> Dò tìm trên từng quan hệ ngữ nghĩa các keyphrase có
quan hệ với key
for i from 1 to 16 do

if (val*minValR[i]) > Threshold) then
for (each k such that k ri (ri-1) key)
do
// bổ sung vào hàng đợi keyphrase
mới cùng với độ ưu tiên tương ứng
KQueue.add(k, val*val_ri (key, k));
return 0; // trả về 0 nếu không tìm được một liên kết ngữ nghĩa nào
giữa k1 và k2.

 Thuật toán tính toán độ tƣơng đồng ngữ nghĩa giữa
các tập keyphrase
Input: Ontology CK_ONTO
Tập keyphrase KD của hồ sơ tài liệu
Tập keyphrase KQ của câu truy vấn
Output: một giá trị Rel(KD, KQ)
Các bước thực hiện:
Bƣớc 1: Khởi tạo
Đặt trạng thái ban đầu cho các biến điều khiển
V:= {}

// Lưu độ tương đồng ngữ nghĩa giữa hai tập

keyphrase
N:= {Số lớp ở cấp cao nhất (SuperClass) của Ontology
CK_ONTO)
Bƣớc 2: Tính độ tương đồng ngữ nghĩa giữa 2 tập KD và KQ
For (i=1 to N) do


18

If (Cụm(i) của tập KQ <> )
If (Cụm(i) của tập KD <> )
//Tính độ tương đồng ngữ nghĩa giữa hai
cụm thứ i của tập KD và tập KQ lưu vào
mảng V
Vi := Sim(KQ.Cụm(i), KD.Cụm(i))
//độ tương đồng ngữ nghĩa Rel của KD và KQ là tổng
độ tương đồng ngữ nghĩa của các cụm
For (i=1 to N) do
Rel := SUM(Vi)
 Thuật giải tính giá trị của hàm Sim(KD, KQ) tính độ
tƣơng đồng ngữ nghĩa giữa hai tập keyphrase:
Input: Ontology CK_ONTO
Tập keyphrase KD của hồ sơ tài liệu
Tập keyphrase KQ của câu truy vấn
Output: một giá trị β(KD, KQ)  [0,1]
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
//Lưu độ tương đồng ngữ nghĩa lớn nhất

M:= {}

giữa một keyphrase trong tập KD với các keyphrase trong tập KQ
Value:= {}

// Lưu giá trị của các độ tương đồng sau mỗi

lần duyệt
Bƣớc 2: Tính độ tương đồng ngữ nghĩa giữa từng phần tử của KD với

tất cả các phần tử của tập KQ
For (keyphrase d in KD) do
For (keyphrase q in KQ) do


19
// Vd(d, q) là độ tương đồng ngữ nghĩa giữa hai
keyphrase d,q được định nghĩa trong ontology
// Lấy độ tương đồng lớn nhất giữa keyphrase
d của KD với tất cả các keyphrase của KQ lưu vào M
M:= max(Vd(d,q))
Bổ sung giá trị M vào biến Value
Value  Value  M
Bƣớc 3: Tìm β(KD,KQ) = AVG(Value)

3.4 Giải pháp rút trích keyphrase
Việc rút trích keyphrase sẽ tiến hành như sau:
Input:
 Ontology CK_ONTO
 Một tài liệu d D
Output: Một tập keyphrase biểu diễn ngữ nghĩa cho tài liệu có phân
cụm
Quá trình biểu diễn tin tức thành đồ thị keyphrase có thể
được tiến hành tuần tự theo các bước chính sau:
Bƣớc

1:

Khởi


tạo

biến

trung

gian

strKeyphrase,

mảng

IndexOfSuperClass
// Chuỗi ban đầu được phân cụm sẵn, mỗi cụm nằm trong
cặp ngoặc đơn
strKeyphrase := {( );( );( );( );( );( );( )}
Bƣớc 2: Thực hiện một quá trình duyệt và so khớp (gần đúng) từng
keyphrase có trong ontology với từng chuỗi cấu trúc bên trong nội
dung rút trích từ tài liệu (là trường Title trong bảng tblNewsAuto),
nếu có lưu vào chuỗi strKeyphrase theo từng cụm:
For (each key in Keyphrases) do


20
if (EXIST(key, d.Title)) then
for i:=1 to n do // duyệt các class (n class) ở
mức cao nhất
if (key có trong class[i])
Save(key, strKeyphrase, i)
Bƣớc 3: Lưu chuỗi nằm trong biến strKeyphrase vào trong trường dữ

liệu của cơ sở dữ liệu (trường strKeyphrase trong bảng tblNewsAuto)
tblNewsAuto.strKeyphrase  strKeyphrase
Giải thích: Đoạn giải thuật ở Bước 2, có sử dụng các hàm sau:
 Hàm EXIST(key, Trƣờng dữ liệu)
Sử dụng phương pháp so khớp nội dung tin, kết quả trả về
True nếu key xuất hiện (tồn tại) trong trường dữ liệu (trường Title
của tin tức d), trả về False trong trường hợp ngược lại.
 Hàm Save(keyphrase, strKeyphrase, i)
Lưu keyphrase vào cụm thứ i của biến strKeyphrase

3.5 Giải pháp xử lý câu truy vấn
Quy trình xử lý câu truy vấn:
Quá trình này gồm các bước như sau:
Input: Câu truy vấn người dùng
Output: Tập keyphrase biểu diễn câu truy vấn.
Các bƣớc thực hiện:
Bƣớc 1: Phân tách phần nội dung tìm kiếm chính và ghi nhận các
thông tin mô tả liên quan (giúp khoanh vùng, giới hạn phạm vi tìm
kiếm hay lọc kết quả )
Bƣớc 2: Rút trích các keyphrase mô tả nội dung chính muốn tìm
kiếm. So khớp (gần đúng) từ, cụm từ với keyphrase trong Ontology
và chọn lọc keyphrase ứng viên.


21
Bƣớc 3: Xây dựng tập keyphrase biểu diễn câu truy vấn tương tự
như đối với rút trích keyphrase của tài liệu.
3.6 Tìm kiếm theo ngữ nghĩa
3.6.1 Mô hình tổng quát của hệ truy tìm tài liệu theo ngữ nghĩa
Mô hình tổng quát của hệ truy tìm tài liệu theo ngữ nghĩa là một hệ

thống gồm có bốn thành phần được chúng tôi kế thừa từ [12], [13]
(Q, KG(Q), SDB, rank)
trong đó các thành phần được mô tả như sau :
 Q là tập các câu truy vấn.
 KG(Q) là mô hình biểu diễn ngữ nghĩa cho câu truy vấn.
 SDB = (D, FS, DB, ONTO, SDB_R) là mô hình cơ sở tài
liệu có ngữ nghĩa
 rank : Q  D 



là hàm xếp hạng theo độ đo tương quan

ngữ nghĩa giữa các câu truy vấn trong Q và các tài liệu có
trong D. Giá trị xếp hạng rank(qi, dj) với

qi  Q và d j  D

xác định một thứ tự về mức độ liên quan của tài liệu dj với
câu truy vấn qi trong tập tài liệu D.
3.6.2 Thuật toán tìm kiếm theo ngữ nghĩa tổng quát
Quá trình tìm kiếm theo ngữ nghĩa được mô tả các quá trình
sau:
+ Người dùng nhập câu truy vấn trong tìm kiếm.
+ Hệ thống đi phân tích, chắt lọc các từ, cụm từ trong câu
truy vấn, sau đó so khớp với ontology để xây dựng tập keyphrase KQ.
+ So sánh KQ với trường lưu trữ keyphrase trong cơ sở dữ
liệu.
+ Kết quả trả về danh sách tin có liên quan ngữ nghĩa với
câu truy vấn của độc giả.



22
Input:
 Cơ sở dữ liệu DB lưu trữ tin tức
 Câu truy vấn Q của người dùng.
Output: danh sách các tài liệu (có sắp hạng) liên quan đến thông tin
truy vấn.
Các bƣớc thực hiện chính:
Bƣớc 1: Ghi nhận thông tin truy vấn của người dùng.
Bƣớc 2: Xử lý và biểu diễn câu truy vấn Q thành tập keyphrase KQ
có gom cụm.
Bƣớc 3: Thực hiện một quá trình dò tìm các tin tức trong CSDL phù
hợp với thông tin truy vấn của người dùng và trả về tập kết quả đã
được sắp hạng.
Các tài liệu có trong D được biểu diễn bởi tập các đồ thị
keyphrase KGD = {G1, G2, …, Gk}, nghĩa là ta đánh index cho các tài
liệu bằng một ngôn ngữ index dựa trên đồ thị keyphrase
<3.1> Tìm trong KGD những đồ thị “trùng khớp” với KGQ
bằng cách tính toán so khớp giữa các đồ thị
for g in KGD do
if Match(g, KGQ) then
Result  (g, Rel(g, KGQ)
<3.2> Xếp hạng các tài liệu trong tập kết quả Result theo giá
trị Rel tương ứng
Bƣớc 4: Hiển thị kết quả
Kết quả thu được bao gồm một danh sách các tin tức (tài
liệu) có liên quan đến thông tin tìm kiếm của người dùng đã được
sắp hạng.



23
Chƣơng 4 - CÀI ĐẶT VÀ THỬ NGHIỆM HỆ THỐNG
4.1 Phân tích hệ thống
4.1.1 Xác định đối tượng sử dụng và mục tiêu của hệ thống
4.1.2 Yêu cầu của hệ thống
4.1.3 Các chức năng của hệ thống
 Chức năng tìm kiếm theo từ khoá
 Chức năng tìm kiếm nâng cao
 Chức năng tìm kiếm theo ngữ nghĩa
4.1.4 Cấu trúc của hệ thống
Người
dủng

Bộ quản lý
ontology

Giao diện người
dùng

Tài liệu ngữ nghĩa
ontolog
y

Bộ rút
trích
siêu

Databas
e


Tin tức
lấy về

Bộ quản lý
dữ liệu ngữ
nghĩa

4.1: Cấu trúc hệ thống

Bộ phân tích
query
Bộ xử lý tìm
kiếm theo ngữ
Luồng dữ
liệu Phụ thuộc
Luồng điều
khiển


×