1. Trang chủ
  2. » Luận Văn - Báo Cáo

Nới lỏng truy vấn người dùng

76 15 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 76
Dung lượng 1,08 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Nới lỏng truy vấn người dùng Nới lỏng truy vấn người dùng Nới lỏng truy vấn người dùng luận văn tốt nghiệp,luận văn thạc sĩ, luận văn cao học, luận văn đại học, luận án tiến sĩ, đồ án tốt nghiệp luận văn tốt nghiệp,luận văn thạc sĩ, luận văn cao học, luận văn đại học, luận án tiến sĩ, đồ án tốt nghiệp

Trang 1

NGÀNH : CÔNG NGHỆ THÔNG TIN

NỚI LỎNG TRUY VẤN HƯỚNG NGƯỜI DÙNG

Trang 2

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

-

LUẬN VĂN THẠC SĨ KHOA HỌC

NỚI LỎNG TRUY VẤN HƯỚNG NGƯỜI DÙNG

NGÀNH : CÔNG NGHỆ THÔNG TIN

MÃ SỐ:23.04.3898

PHẠM THỊ THU THỦY

Người hướng dẫn khoa học : TS NGUYỄN KIM ANH

Trang 3

1

Mục lục

Danh mục hình minh họa 3

Danh mục các từ viết tắt 4

Danh mục các từ viết tắt 4

LỜI CẢM ƠN 5

Mở đầu 6

Giới thiệu về các hệ thống thông tin cộng tác 6

Chương 1 - Tổng quan về nới lỏng truy vấn 10

1.1 Khái niệm nới lỏng và các hình thức nới lỏng 10

1.2.Phân cấp khái niệm – cơ sở tri thức của nới lỏng 13

1.3.Nới lỏng truy vấn dựa vào các phân cấp khái niệm 15

Chương 2 - Nới lỏng truy vấn theo cách tiếp cận KAH và KAD 19

2.1.Phân cấp trừu tượng tri thức KAH 19

2.2.CSDL trừu tượng tri thức KAD 23

2.2.1.Sơ đồ quan hệ của KAD 23

2.2.2.Quá trình tổng quát hóa trong KAD 27

2.2.3.Quá trình chi tiết hóa trong KAD 28

2.3.Nới lỏng truy vấn với KAD 28

2.3.1.Nới lỏng điều kiện chọn với phép so sánh bằng 29

2.3.2.Nới lỏng điều kiện chọn chứa các giá trị trừu tượng 32

2.3.3.Nới lỏng điều kiện nối 35

2.3.4.Nới lỏng thực thể 39

2.4 Mô hình profile người dùng 42

Trang 4

2

2.4.2 Các loại dữ liệu của một profile người dùng 45

Chương 3 – Nới lỏng các truy vấn có mức ưu tiên theo ngữ cảnh 50

3.1 Giới thiệu mô hình và lưu trữ các mức ưu tiên theo ngữ cảnh 50

3.2 Mô hình logic cho ngữ cảnh và các mức ưu tiên 52

3.2.1 Ví dụ 52

3.2.2 Mô hình ngữ cảnh 53

3.2.3 Các mức ưu tiên theo ngữ cảnh 54

3.2.4 Các mức ưu tiên cho các tham số ngữ cảnh phân cấp 57

3.3 Lưu trữ các mức ưu tiên cơ bản 58

3.4 Lưu trữ các truy vấn có nhận thức ngữ cảnh 60

3.5 Nới lỏng ngữ cảnh có sự phân cấp 63

3.6 Giải thuật phân giải ngữ cảnh được truy vấn 65

Kết luận và định hướng phát triển của đề tài 70

Kết luận 70

Định hướng phát triển của đề tài 71

Tài liệu tham khảo 73

Trang 5

3

Danh mục hình minh họa

Hình 1 – Hình ảnh một phân cấp khái niệm 14

Hình 2 – Tổng quá hóa khái niệm 15

Hình 3 – Chi tiết hóa khái niệm 16

Hình 4 – Nguyên lý của nới lỏng 17

Hình 5 – Minh hoạ KAH 20

Hình 6 – Các quan hệ trong KAD 26

Hình 7 – Tổng quát hóa trong KAD 27

Hình 8– Chi tiết hóa trong KAD 28

Hình 9 – Phân cấp thuộc tính số 34

Hình 10 – Phân cấp liên kết 36

Hình 11 – Mô hình phân cấp thực thể 39

Hình 12 – Phân cấp của một ngữ cảnh 53

Hình 13 – Biểu diễn điểm số quan tâm của người dung đối với Sach theo phân cấp tham số giai_doan_hoc 57

Hình 14 – Cây ngữ cảnh 60

Hình 15 – Cây ngữ cảnh của truy vấn minh họa 63

Hình 16 – Một ví dụ của cây Profile 67

Trang 6

4

Danh mục các từ viết tắt

CQA Hỏi đáp cộng tác Cooperative query answering

KAH Phân cấp trừu tượng tri thức Knowledge Abstraction

Hierachy KAD Cơ sở dữ liệu trừu tượng tri thức Knowledge Abstraction

Database CNPM Công nghệ phần mềm

HTTT Hệ thống thông tin

Trang 7

5

LỜI CẢM ƠN

đặc biệt là sự hướng dẫn tận tình của TS Nguyễn Kim Anh để em có thể hoàn thành được đề tài này

Em cũng xin cảm ơn anh chị em lớp cao học Công nghệ Thông tin khoá

2006-2008 đã giúp đã em trong quá trình học tập, thực hiện và hoàn thành luận văn

cảm, chỉ bảo và tạo điều kiện để em hoàn thiện thêm về mặt nội dung

Em xin chân thành cảm ơn!

Hà Nội, 3/2009 Học viên thực hiện: Phạm Thị Thu Thủy

Trang 8

6

Mở đầu Giới thiệu về các hệ thống thông tin cộng tác

Trong thời đại bùng nổ thông tin, không còn ai xa lạ với những hệ thống thông tin

cỡ lớn, lưu trữ một khối lượng dữ liệu khổng lồ và có khả năng phục vụ nhiều người dùng tại cùng thời điểm Mục tiêu hàng đầu đặt ra cho các hệ thống này là : Cung cấp những công cụ khai thác dữ liệu thuận tiện và hiệu quả nhất cho người dùng Đây là một nhiệm vụ không hề dễ dàng, nhất là khi đối tượng phục vụ của hệ thống

là những người dùng phổ thông Đó là những người không được đào tạo nhiều về tin học, không có đủ kiến thức về miền ứng dụng đang khai thác Điều này dẫn đến tình trạng người dùng sẽ gặp nhiều khó khăn khi diễn đạt yêu cầu đối với hệ thống, cũng như không có khả năng hiểu và xử lý kết quả mà hệ thống trả về

Giải pháp cho vấn đề trên đã xuất hiện và ngày càng hoàn thiện ở những hệ thống thông tin hiện đại Đó là những hệ thống được bổ sung nhiều tri thức, đủ thân thiện

để trợ giúp người dùng diễn đạt yêu cầu, đủ thông minh để trả về những kết quả dễ hiểu và chứa đựng nhiều thông tin bổ sung hữu ích … Nhiều hệ thống còn có khả năng giao tiếp với người dùng bằng ngôn ngữ tự nhiên : Người dùng đưa vào những yêu cầu bằng ngôn ngữ tự nhiên, hệ thống phản hồi cũng bằng ngôn ngữ tự nhiên Tất cả những thành tựu này đã làm tăng đáng kể hiệu quả của quá trình tìm kiếm và khai thác thông tin Những hệ thống như vậy được gọi là hệ thống thông tin cộng tác với người dùng

Điều gì làm nên tính cộng tác của một hệ thống ?

Như đã nói, người dùng phổ thông là những người gặp phải nhiều khó khăn khi diễn đạt yêu cầu cho hệ thống Những yêu cầu không chính xác sẽ dẫn tới những câu trả lời không thỏa đáng Các hệ thống cộng tác cần có khả năng phân tích câu truy vấn, phát hiện nguyên nhân dẫn tới những kết quả không mong đợi và phản hồi lại cho người dùng Bên cạnh việc đưa ra câu trả lời truy vấn thông thường, hệ

Trang 9

7

thống cộng tác cần cung cấp thêm những thông tin bổ sung, chẳng hạn như các gợi

ý mở rộng phạm vi tìm kiếm, các kết quả tiềm ẩn, các phép phân loại hay các con số tổng hợp, thống kê

Thế nào là một hệ hỏi đáp cộng tác (CQA)?

Mặc dù ngôn ngữ truy vấn được sử dụng như một công cụ thuận tiện cho việc lấy thông tin từ cơ sở dữ liệu (CSDL) nhưng người dùng ngày càng có nhu cầu tiếp cận các hướng hỏi đáp có tính cộng tác, thông minh hơn, các hướng tiếp cận có thể hiểu được mục đích qua các câu truy vấn và cung cấp các thông tin bổ sung hữu ích cũng như trích chọn các câu trả lời Tuy nhiên, các hướng tiếp cận đã có lại có những hạn chế như sự đa dạng của các câu truy vấn, điều khiển nới lỏng truy vấn qua tương tác với người dùng và sự duy trì tri thức vì chúng không thể trích chọn đủ các tri thức ngữ nghĩa từ CSDL cơ bản để hỗ trợ cho việc tìm kiếm thông tin hiệu quả Để khắc phục các hạn chế này thì chúng ta sử dụng các hệ hỏi đáp cộng tác để nới lỏng phạm vi tìm kiếm của các điều kiện truy vấn gốc và cung cấp các câu trả lời lân cận xấp xỉ

Vấn đề chính trong hỏi đáp cộng tác là biểu diễn các mối quan hệ tương đồng giữa các giá trị dữ liệu, điều này cần thiết cho việc nới lỏng truy vấn và hỗ trợ suy luận giữa các đối tượng CSDL

Hướng tiếp cận hỏi đáp công tác mới dùng cho việc cung cấp các câu trả lời lân cận xấp xỉ thích hợp cho từng truy vấn cùng với các câu trả lời chính xác là nới lỏng truy vấn Hướng tiếp cận này có các mục tiêu sau:

1 Hỗ trợ người dùng của mức chuyên gia trong việc tìm kiếm thông tin, thể hiện các yêu cầu của họ với các loại truy vấn cộng tác theo sự thành thạo của

họ Hướng tiếp cận này cho phép các câu truy vấn trừu tượng khái niệm và

áp đặt chúng vào mức khái niệm cao hơn dựa trên bối cảnh của người sử dụng, không quan tâm đến tri thức lược đồ CSDL chi tiết

Trang 10

8

2 Cung cấp thước độ độ thích hợp để giúp người dùng xác định mức ưu tiên của mỗi câu trả lời trong kết quả truy vấn Đến cuối cùng, cần một phép đo mối quan hệ ngữ nghĩa giữa các giá trị dữ liệu Do có phép đo nên người dùng có thể lấy được các kết quả truy vấn đã có sự sắp xếp

3 Thực hiện việc điều khiển nới lỏng truy vấn tinh vi và linh hoạt qua tương tác người dùng Người dùng có khả năng điều chỉnh các mức nới lỏng truy vấn và đưa ra phản hồi tương tác với hệ thống cho đến khi họ thỏa mãn với các kết quả truy vấn

4 Tạo điều kiện thuận lợi cho việc sáng tạo và duy trì các tri thức ngữ nghĩa cần thiết cho việc nới lỏng truy vấn

Tuy nhiên, lượng thông tin được mở rộng hơn cũng không có nghĩa là phù hợp với người dùng Để thông tin có giá trị thì việc cá nhân hóa truy vấn cũng rất cần thiết

để đưa ra được các thông tin thích hợp với người dùng Nhìn chung, để đạt được tính cá nhân hóa thì người dùng sẽ thể hiện các mức ưu tiên của họ trên các mảng

dữ liệu cụ thể một cách rõ ràng hoặc thể hiện ẩn Kết quả của một câu truy vấn tìm kiếm sẽ được sắp xếp theo các mức ưu tiên của người dùng cụ thể

Nội dung của luận văn này đưa ra giải pháp cho vấn đề mở rộng kết quả tìm kiếm trong hệ thống thông tin cộng tác, trong đó chủ đạo là vấn đề mở rộng kết quả tìm kiếm nhưng vẫn đưa ra các kết quả hướng người dùng cụ thể Để giải quyết được việc mở rộng kết quả tìm kiếm luận văn đề xuất một phương pháp dựa trên một kỹ thuật gọi là nới lỏng truy vấn Đây là một kỹ thuật có khả năng nới lỏng các ràng buộc trong câu truy vấn, sinh ra những câu trả lời có phạm vi rộng hơn Còn vấn đề hướng người dùng sẽ được giải quyết qua các khái niệm về mức ưu tiên trong profile của người dùng, các mức ưu tiên theo ngữ cảnh và kỹ thuật nới lỏng các truy vấn mức ưu tiên theo ngữ cảnh

Luận văn sẽ lần lượt đề cập tới khái niệm và nguyên lý của nới lỏng trong chương

1, đưa ra một cách tiếp cận để thực hiện kỹ thuật nới lỏng trong chương 2, đề cập

Trang 11

9

tới khái niệm các mức ưu tiên theo ngữ cảnh, xây dựng mô hình, cách lưu trữ và giải thuật nới lỏng các mức ưu tiên theo ngữ cảnh trong chương 3

Trang 12

10

Chương 1 - Tổng quan về nới lỏng truy vấn

1.1 Khái niệm nới lỏng và các hình thức nới lỏng

Các câu trả lời cho truy vấn được người dùng đặt ra đối với một CSDL không phải

luôn chứa các thông tin mà người dùng muốn Các câu trả lời từ CSDL cho một câu truy vấn dù là đúng logic nhưng vẫn có thể sự sai lệch Một người dùng có thể cần

nhiều thông tin hơn những gì họ yêu cầu hoặc có thể là họ thực sự cần các thông tin khác Rất có thể là các truy vấn có liên quan gần với mục đích của người dùng Một phương pháp để tìm kiếm các câu trả lời lân cận với truy vấn gốc của người dùng có thể được sử dụng để tạo ra các câu trả lời thỏa mãn nhu cầu của người dùng

Chúng tôi giới thiệu một phương pháp có tính cộng tác, được gọi là nới lỏng để mở

rộng các truy vấn CSDL và các chương trình logic Phương pháp nới lỏng mở rộng

phạm vi của một truy vấn bằng cách nới lỏng các ràng buộc ẩn trong truy vấn Các

ràng buộc này bảo gồm các loại như hằng số, biến, các điều kiện Điều này cho

phép CSDL trả lại các câu trả lời có liên quan với truy vấn gốc, cùng với các câu trả lời chính tắc khác Các câu trả lời được bổ sung này có thể là vấn đề mà người dùng đang quan tâm

Nguyên nhân thất bại của truy vấn xuất phát từ khả năng biểu diễn yêu cầu của người dùng Những người dùng không có đủ kiến thức về miền ứng dụng sẽ rất khó tránh khỏi đưa ra những câu truy vấn chứa đựng các khái niệm, các thuật ngữ không chính xác, hoặc sử dụng những điều kiện vi phạm một ràng buộc nào đó của hệ thống Chẳng hạn với câu truy vấn

Tìm các sinh viên khóa 49 thuộc bộ môn Hệ thống thông tin

Nếu trong thực tế, các sinh viên khóa 49 chưa phải là sinh viên năm cuối thì rõ ràng câu truy vấn đã vi phạm ràng buộc “sinh viên thuộc bộ môn Hệ thống thông tin → sinh viên có khóa < 49” Hệ thống cần phát hiện những vi phạm này, tương tác với người dùng để khắc phục

Trang 13

11

Sau khi thực hiện câu truy vấn, nếu số lượng kết quả đáp ứng là quá ít, hệ thống cần cung cấp các gợi ý mở rộng kết quả Có nhiều cách để mở rộng một câu truy vấn, bao gồm mở rộng các điều kiện chọn, mở rộng các điều kiện nối (liên kết) hay thậm chí mở rộng cả thực thể truy vấn Các khả năng mở rộng kết quả được minh họa trong những ví dụ sau

VD1 Mở rộng điều kiện chọn

Nếu không có sinh viên nào đáp ứng được điều kiện, hoặc số lượng sinh viên đáp ứng quá ít thì hệ thống có thể đưa ra gợi ý mở rộng kết quả như sau :

Khái niệm “Khoa CNTT” không thuộc miền giá trị của thuộc tính “bộ môn” Nó đại diện cho một tập các khái niệm {“Hệ thống thông tin”, “Công nghệ phần mềm”,

“Mạng và truyền thông”, “Kỹ thuật máy tính”, “Khoa học máy tính”} Câu truy vấn được nới lỏng là một câu truy vấn có chứa khái niệm trừu tượng Trước khi thực thi,

nó sẽ được biến đổi để chuyển khái niệm trừu tượng thành tất cả các khái niệm hợp

lệ mà nó đại diện Số lượng kết quả đáp ứng câu truy vấn nới lỏng rất có khả năng nhiều hơn so với truy vấn gốc

VD2 M ở rộng điều kiện nối

Tìm các môn học được giảng dạy bởi giảng viên Nguyễn Văn A

Nếu bên cạnh những môn học được giảng dạy, giảng viên Nguyễn Văn A còn theo đuổi nghiên cứu nhiều môn học hoặc lĩnh vực khác, thì câu truy vấn có thể được mở rộng như sau :

Tìm các môn học được giảng dạy và nghiên cứu bởi giảng viên Nguyễn Văn A

Trong trường hợp truy vấn này, điều kiện nối giữa hai thực thể “môn học” và

“giảng viên” đã được mở rộng so với ban đầu

Trang 14

12

VD3 M ở rộng thực thể

Tìm các sách có nội dung về CSDL do giảng viên Nguyễn Văn A viết

Nếu người truy vấn muốn có nhiều tài liệu về CSDL hơn, thì hệ thống có thể đưa ra gợi ý nới lỏng như sau :

Câu truy vấn đã nới lỏng thực thể “sách” thành thực thể “công trình khoa học”, là thực thể bao trùm cả thực thể sách lẫn thực thể bài báo khoa học về đề tài CSDL

Khi nào thì n ới lỏng truy vấn?

Câu hỏi đầu tiên chúng ta cần đưa ra là khi nào thì nên nới lỏng câu truy vấn của người dùng để nó trở thành câu truy vấn tổng quát hơn Đầu tiên chúng ta phải trả lời các câu truy vấn của người dùng khi có yêu cầu Nếu câu truy vấn không có câu trả lời hoặc người dùng đã xem tất cả các câu trả lời và không tìm thấy câu trả lời mong muốn thì chúng ta có thể nới lỏng để câu truy vấn tổng quát hơn và bắt đầu quay lại trả lời cho câu câu truy vấn đã được nới lỏng

Đây cũng là một điển hình trong cách giao tiếp của con người

Nếu một khách hàng hỏi đại lý du lịch xem có chuyến bay nào từ Đà Nẵng đến Hà Nội vào một ngày giờ cụ thể không thì nhân viên ở đại lý du lịch sẽ trả lời cho khách hàng các thông tin thích hợp Nếu không có câu trả lời hoặc câu trả lời không thỏa mãn khách hàng thì người nhân viên đó sẽ đưa ra các sự lựa chọn khác.Ví dụ như nhân viên đó có thể kiểm tra các chuyến bay từ Huế (gần Đà Nẵng) đến Hà Nội vào thời gian mà người khách hàng muốn và đưa ra gợi ý về các chuyến bay đó cho khách hàng Nếu không có chuyến bay nào đáp ứng được thì nhân viên du lịch có thể trả lời khách hàng là có một chuyến tàu đi giữa 2 địa điểm mà khách hàng hỏi,

và giá vé thì rẻ hơn máy bay

Nhân viên du lịch đã nới lỏng các yêu cầu của khách hàng khi không có câu trả lời phù hợp Vì bất kỳ lý do gì thì lựa chọn tàu hỏa có thể không đúng ý của người dùng nhưng phần lớn khách hàng sẽ quan tâm tới các thông tin này Đại lý dựa trên

Trang 15

13

thực tế là các dự định của khách hàng đều được phản ánh trong câu hỏi, trong trường hợp trên là anh hoặc chị có nhu cầu đi du lịch từ Đà Nẵng đến Hà Nội Do vậy, đại lý sẽ trả lời câu hỏi dựa trên các câu truy vấn lân cận

Các ví dụ trên đã phần nào cho thấy được vai trò của nới lỏng trong việc cung cấp những câu trả lời truy vấn thông minh, làm tăng hiệu quả khai khác dữ liệu của người dùng Tuy nhiên, không phải bất cứ điều kiện nào cũng được nới lỏng Chỉ có thể nới lỏng một điều kiện nếu việc nới lỏng không làm thay đổi mục đích truy vấn,

và quan trọng là những điều kiện này phải được cung cấp khả năng nới lỏng thông qua cơ sở tri thức của hệ thống Cơ sở tri thức của nới lỏng có thể khác nhau tùy theo từng cách tiếp cận

1.2.Phân cấp khái niệm – cơ sở tri thức của nới lỏng

Phân cấp khái niệm là cơ sở tri thức của quá trình nới lỏng truy vấn trong các phương pháp gom nhóm khái niệm Mỗi phân cấp khái niệm thường tương ứng với một thuộc tính của một thực thể trong CSDL, và nó cung cấp khả năng nới lỏng cho thuộc tính đó.Một phân cấp khái niệm có các đặc điểm sau :

• Là một cách tổ chức, mô tả tri thức theo một hình thái phân cấp với nhiều mức khái niệm

• Khái niệm ở mức cao hơn trong phân cấp sẽ trừu tượng hơn các khái niệm ở các mức thấp hơn nó trong phân cấp đó

• Các khái niệm ở mức thấp nhất định nghĩa miền giá trị của thuộc tính trong quan hệ nào đó, lưu trữ trực tiếp trong cơ sở dữ liệu

Cách hình dung đơn giản nhất về phân cấp khái niệm là hình ảnh một cây phân cấp như trong hình 1 :

Trang 16

14

Hình 1 – Hình ảnh một phân cấp khái niệm

Hình 1 mô tả một phần của phân cấp khái niệm có nội dung phân loại các lĩnh vực của các đồ án tốt nghiệp ngành CNTT trong CSDL trường ĐH Bách Khoa Hà Nội

Có thể thấy, càng đi xuống cây phân cấp, mức độ trừu tượng càng giảm Gốc cây phân cấp là khái niệm bao trùm tất cả các lĩnh vực của đồ án Tiếp theo, các lĩnh vực được phân chia nhỏ hơn thành “Nghiên cứu”, “Ứng dụng” Mỗi khái niệm (tương ứng với một nút trên cây phân cấp) lại tiếp tục được chia thành những nút con chứa các khái niệm chi tiết hơn, kém trừu tượng hơn Các nút ở mức dưới cùng

như “Mô hình dữ liệu hướng đối tượng” hay “Xử lý truy vấn hướng đối tượng” là

những khái niệm cụ thể nhất, và chúng xuất hiện trực tiếp trong CSDL (các khái niệm này thuộc miền giá trị của thuộc tính PhanLoai trong quan hệ DoAn)

Các phân cấp khái niệm có thể được cung cấp từ nhiều nguồn, trong đó chủ yếu là

từ những chuyên gia miền, là những người am hiểu về miền ứng dụng mà hệ thống đang phục vụ Tuy nhiên, một vài loại phân cấp khái niệm có thể được xây dựng một cách tự động dựa trên một số tiêu chí nào đó, chẳng hạn như xác suất phân bố của các giá trị số, hoặc độ gần về ngữ nghĩa của các giá trị phi số Đã có nhiều

<Các nút m ức dưới>

<Các nút m ức dưới>

<Các nút con>

Trang 17

15

nghiên cứu cho phép sinh tự động các phân cấp khái niệm, và trong một số trường hợp, các phân cấp được sinh tự động này cũng phát huy được vai trò nhất định Nhìn chung, các phân cấp do hệ thống sinh ra vẫn cần phải được tinh chỉnh bởi chuyên gia miền để đảm bảo tính đúng đắn của phân cấp

Các phân cấp khái niệm có thể được lưu trữ bên trong CSDL dưới dạng các quan

hệ, hoặc lưu trữ bên ngoài, chẳng hạn bằng định dạng XML Quá trình nới lỏng truy vấn khai thác tri thức chứa đựng trong phân cấp dựa trên hai thao tác cơ bản: Đi lên

và đi xuống cây phân cấp, hay còn gọi là tổng quát hóa và chi tiết hóa khái niệm

Đây chính là nguyên lý cơ bản của phương pháp nới lỏng dựa vào phân cấp

1.3.Nới lỏng truy vấn dựa vào các phân cấp khái niệm

Hai thao tác cơ bản trong quá trình nới lỏng dựa trên phân cấp bao gồm : Tổng quát hóa khái niệm (đi lên cây phân cấp) và chi tiết hóa khái niệm (đi xuống cây phân cấp)

a.T ổng quát hóa khái niệm

Tổng quát hóa là quá trình biến đổi một khái niệm trên phân cấp thành một khái niệm có mức trừu tượng cao hơn nó (bằng cách di chuyển lên phía trên cây phân cấp) Quá trình tổng quát hóa có thể được tiến hành theo n - mức (n ≥ 1) Số n càng lớn thì khái niệm thu được sẽ ở mức trừu tượng càng cao

CSDL hướng đối tượng

Mô hình dữ liệu

hướng đối tượng

Trang 18

16

Trong hình 2, kết quả tổng quát hóa của “Mô hình dữ liệu hướng đối tượng” theo 1 mức sẽ cho ra “CSDL hướng đối tượng”, theo 2 mức cho ra “CSDL”

b.Chi ti ết hóa khái niệm

Ngược lại với tổng quát hóa, chi tiết hóa là quá trình biến đổi một khái niệm trong phân cấp thành một tập các khái niệm tương ứng có mức độ trừu tượng thấp hơn (bằng cách di chuyển xuống dưới cây phân cấp) Quá trình chi tiết hóa cũng có thể thực hiện theo n - mức, với n càng lớn thì độ chi tiết của giá trị đạt được càng cao

Hình 3 – Chi tiết hóa khái niệm

Trong hình 3, chi tiết hóa 2 – mức với khái niệm “CSDL” cho ra tập các khái niệm {“Mô hình dữ liệu hướng đối tượng”, “Xử lý truy vấn hướng đối tượng”, “Datalog”,

“Xử lý truy vấn suy diễn”}

Thông qua 2 thao tác cơ bản là tổng quát hóa và chi tiết hóa, hệ thống có thể nới lỏng các điều kiện trong câu truy vấn và hiểu được các câu truy vấn chứa các khái niệm trừu tượng

c.N ới lỏng điều kiện truy vấn bằng mở rộng khái niệm

Với hai thao tác tổng quát hóa và chi tiết hóa, có thể hình dung nguyên lý của nới lỏng là một quá trình bao gồm các bước sau:

CSDL

CSDL hướng đối tượng

CSDL suy

di ễn

Mô hình dữ liệu hướng đối tượng

Xử lý truy vấn hướng đối tượng

Datalog Xử lý truy vấn

suy diễn

Trang 19

17

• Xác định giá trị trong điều kiện cần nới lỏng của truy vấn, tìm kiếm và định

vị nó tại một khái niệm trên phân cấp

• Từ vị trí này, tiến hành tổng quát hóa lên n - mức, sẽ được một khái niệm ở

một mức trừu tượng cao hơn

• Từ khái niệm ở mức trừu tượng cao này, tiến hành chi tiết hóa n - mức Kết quả trả về là một tập các khái niệm, bao gồm khái niệm gốc và bổ sung thêm các khái niệm lân cận có cùng mức trừu tượng với nó Đây chính là điều kiện

mở rộng của câu truy vấn ban đầu

Hình 4 – Nguyên lý của nới lỏng

Ví dụ, giả sử truy vấn ban đầu có yêu cầu :

Tìm các đồ án tốt nghiệp thuộc lĩnh vực “Mô hình dữ liệu hướng đối tượng”

Nới lỏng điều kiện về lĩnh vực sẽ sinh ra một câu truy vấn mới với các giá trị của điều kiện chọn thuộc về lĩnh vực trừu tượng hơn là “CSDL hướng đối tượng” :

Tìm các đồ án tốt nghiệp thuộc một trong các lĩnh vực (“Mô hình dữ liệu hướng đối tượng”, “Xử lý truy vấn hướng đối tượng”)

Truy vấn mang tính trừu tượng

Truy vấn mang tính trừu tượng là những câu truy vấn mà giá trị sử dụng trong các điều kiện ràng buộc là những khái niệm ở mức trừu tượng cao Mỗi khái niệm trừu

Mọi đồ án

CSDL hướng đối tượng

Mô hình dữ liệu

Trang 20

18

tượng đại diện cho một tập các phần tử trong miền giá trị của thuộc tính Đối với các hệ thống thông thường, thực thi truy vấn với những giá trị trừu tượng này sẽ không có kết quả trả về, bởi vì hệ thống không hiểu các giá trị đó (không tìm thấy trong CSDL) Trong các hệ thống cộng tác, thông qua thao tác chi tiết hóa, câu truy vấn sẽ được khử trừu tượng Ví dụ, đối với phân cấp trong hình 4, người dùng có thể đưa vào truy vấn :

Tìm các đồ án tốt nghiệp thuộc lĩnh vực “CSDL hướng đối tượng”

Thuộc tính lĩnh vực của quan hệ đồ án không nhận giá trị “CSDL hướng đối tượng” Tuy nhiên, dựa vào phân cấp khái niệm, câu truy vấn trên sẽ được biến đổi

để điều kiện ràng buộc trở nên có nghĩa :

Tìm các đồ án tốt nghiệp thuộc một trong các lĩnh vực (“Mô hình dữ liệu hướng đối tượng”, “Xử lý truy vấn hướng đối tượng”)

K ết chương :

Phần mở đầu và nội dung chương 1 đã giới thiệu đôi nét về các hệ thống thông tin cộng tác và khả năng ưu việt của các hệ thống này trong việc hỗ trợ người dùng Một trong những kỹ thuật được sử dụng trong các hệ thống thông tin cộng tác là kỹ thuật nới lỏng truy vấn Chương 1 đã trình bày khá chi tiết về khái niệm và nguyên

lý của nới lỏng, chỉ ra vị trí của mô đun nới lỏng trong hệ thống cộng tác Trong chương tiếp theo, luận văn sẽ giới thiệu một trong những cách tiếp cận nới lỏng dựa trên phương pháp gom nhóm khái niệm Đó là phương pháp tổ chức tất cả các phân cấp khái niệm dạng mở rộng (các phân cấp trừu tượng tri thức) vào một cơ sở tri thức tập trung gọi là CSDL trừu tượng tri thức

Trang 21

19

Chương 2 - Nới lỏng truy vấn theo cách tiếp cận KAH và KAD

Chương 2 của luận văn sẽ giới thiệu một phương pháp tiếp cận nới lỏng mở rộng từ các phương pháp gom nhóm khái niệm Đó là phương pháp sử dụng nguồn tri thức trích rút từ các phân cấp trừu tượng tri thức KAH (Knowledge Abstraction Hierarchy) Các phân cấp KAH được tổ chức tập trung thành các quan hệ trong

lần lượt trình bày khái niệm về KAH, KAD và phương pháp trích rút tri thức từ KAD để thực hiện nới lỏng Mô hình và mục đích của người dùng hệ thống hỏi đáp

dùng

2.1.Phân cấp trừu tượng tri thức KAH

Trừu tượng dữ liệu được coi là một phương pháp liên kết mối quan hệ ngữ nghĩa giữa các giá trị dữ liệu hiệu quả Trong trừu tượng dữ liệu, một giá trị dữ liệu cụ thể được tổng quát hóa thành giá trị trừu tượng tương ứng, và một có giá trị dữ liệu cụ thể được coi nhà là giá trị chi tiết hóa của một giá trị trừu tượng Sử dụng trừu tượng dữ liệu, chúng ta xây dựng một KAH là một khung biểu diễn tri thức, tạo thuận lợi cho việc biểu diên các tri thức và dữ liệu đa tầng của CSDL Một cách cụ thể, KAH được xây dựng nhờ các quan hệ tổng quát hóa và chi tiết hóa giữa các giá trị trừu tượng và các giá trị cụ thể

Trang 22

20

Hình 5 – Minh hoạ KAH

Hình 5 là minh họa KAH với 2 thể hiện là Đồ án và các Ngành học của cùng một CSDL.)

Hai phân cấp trừu tượng có trong KAH là Phân cấp trừu tượng giá trị (hình bên phải trong hình 1) và Phân cấp trừu tượng miền (hình bên trái trong hình 1) Trong phân cấp trừu tượng giá trị, một giá trị cụ thể ở mức trừu tượng thấp hơn được tổng quát hóa thành giá trị trừu tượng ở mức trừu tượng cao hơn và giá trị trừu tượng có

CSDL suy diễn

Mô hình dữ liệu hướng đối tượng

Xử lý truy vấn hướng đối tượng

<Các nút mức dưới>

<Các nút mức dưới>

<Các nút mức dưới>

<Các nút con>

Trang 23

21

thể được tổng quát hóa thành giá trị trừu tượng hơn nữa Ngược lại, giá trị cụ thể được coi là giá trị chi tiết hóa của một giá trị trừu tượng Theo đúng nghĩa thì có mối quan hệ tổng quát hóa/ trừu tượng hóa (IS-A) giữa các giá trị trừu tượng và giá trị cụ thể Ví dụ thì “CSDL hướng đối tượng” là một nhánh con của “CSDL”, trong khi đó “CSDL” là một lĩnh vực của “Nghiên cứu” Các mức cao hơn cung cấp một biễu diễn dữ liệu trừu tượng hơn ở các mức thấp Theo đó, một giá trị ở mức đỉnh là trừu tượng nhất trong phân cấp trong khi các giá trị ở mức đáy nhất là chi tiết hóa nhất

Mối quan hệ giữa một giá trị trừu tượng và giá trị cụ thể của nó là một – nhiều Do vậy, sự tổng quát hóa giá trị của “CSDL hướng đối tượng” cho kết quả là “CSDL”, còn sự chi tiết hóa giá trị của “CSDL” có kết quả là 2 giá trị: “CSDL hướng đối tượng” và “CSDL suy diễn” Tuy nhiên, một giá trị cụ thể cũng có thể có nhiều giá trị trừu tượng ở các mức trừu tượng khác nhau dọc theo đường đi từ giá trị cụ thể đến giá trị trừu tượng nhất của nó ở mức trừu tượng cao nhất Một giá trị trừu tượng

được gọi là giá trị trừu tượng n -mức của giá trị cụ thể theo mức trừu tượng phân

biệt n

Thứ hai là phân cấp trừu tượng miền bao gồm các miền, trong các miền đó chứa đựng tất cả các giá trị riêng biệt của phân cấp trừu tượng miền và có các quan hệ INSTANCE-OF giữa miền và giá trị Có nhiều quan hệ tổng quát hóa/chi tiết hóa

giữa các giá trị dữ liệu ở 2 mức trừu tượng khác nhau của phân cấp trừu tượng giá trị, có quan hệ miền cha/miền con giữa 2 miền khác nhau và từ đó ta có trừu tượng miền Ví dụ, “Lĩnh vực” là miền cha của “Nhánh con của lĩnh vực” Tất cả các giá

trị trừu tượng của các giá trị thể hiện trong miền con tương thích với giá trị thể hiện của miền cha Do đó, miền cha “Lĩnh vực” tổng quát hơn miền con “Nhánh con của lĩnh vực” vì “Lĩnh vực” chứa nhiều giá trị tổng quát hơn “Nhánh con của lĩnh vực” Quan hệ chính giữa 2 miền kề sát nhau được giả sử là quan hệ một – một và miền

cha được gọi là miền cha n-mức của miền con theo phân biệt mức trừu tượng n

Trang 24

22

Như hình 1 ta thấy vì KAH cụ thể với từng ứng dụng riêng biệt nên các thể hiện khác nhau của KAH có thể xuất phát từ CSDL cơ bản đơn Khi cần thiết thì các phân cấp bổ sung có thể được tạo ra từ cùng một CSDL Vì tri thức trừu tượng giá trị là tuỳ thuộc vào ngữ cảnh của từng ứng dụng nên người thiết kế KAH có thể nghiên cứu mục đích của truy vấn CSDL và mẫu dùng của đơn vị Sau đó, ta chỉ dẫn các biên dịch về ngữ nghĩa tri thức trừu tượng của CSDL hoặc thực hiện việc phân tích từ dưới lên để nhóm các giá trị thuộc tính thành một phân cấp trên cơ sở phân bố và tần suất của các giá trị dữ liệu Sau khi thực hiện các nghiên cứu mở đầu thì người thiết kế có thể xây dựng một quan hệ nhị phân giữa các giá trị trừu tượng

và các giá trị cụ thể nhờ sử dụng các quan hệ tổng quát hoá và chi tiết hoá, và xây dựng dần phân cấp hoàn thiện

Trong biểu diễn của các thể hiện của nhiều KAH, một miền là duy nhất và chỉ được định vị trong một phân cấp, trong khi đó các giá trị giống nhau có thể được định vị trong nhiều phân cấp và trong nhiều miền Ví dụ như ở hình 1, các giá trị như

“CSDL” được tìm thấy trong cả phân cấp “Đồ án” và “Ngành học” nhưng chúng thuộc các miền khác nhau phụ thuộc vào phân cấp Trong phân cấp “Đồ án”, nó thuộc miền “Lĩnh vực”, còn trong phân cấp còn lại nó thuộc về miền “Môn học”

Vì giá trị “CSDL” có ở nhiều vị trí nên các giá trị trừu tượng và giá trị cụ thể của nó không được xác định duy nhất bởi giá trị “CSDL” Thông tin về miền được thêm vào để nhận dạng được các giá trị trừu tượng và giá trị chi tiết cho một giá trị cụ thể cho trước Ví dụ như giá trị trừu tượng mức 1 của “CSDL” trong miền “Đồ án” là

“CSDL hướng đối tượng”, còn trong miền “Môn học” là “Các hệ CSDL” Tương tự như vậy, các tập khác nhau của các giá trị chi tiết mức 1 của một giá trị cho trước

được nhận dạng dựa trên miền Chúng ta gọi thuộc tính này là sự phụ thuộc miền

của giá trị trừu tượng và giá trị chi tiết

Trang 25

23

2.2.CSDL trừu tượng tri thức KAD

Trong phương pháp tiếp cận KAH, các phân cấp được tổ chức tập trung trong các quan hệ của một CSDL gọi là CSDL trừu tượng tri thức (Knowledge Abstraction Database - KAD)

Ngữ nghĩa có trong KAH được kết hợp chặt chẽ với CSDL trừu tượng tri thức để tạo nên một CSDL tri thức cộng tác, tạo điều kiện cho các xử lý hỏi đáp cộng tác

Cụ thể, lược đồ của CSDL trừu tượng tri thức được thiết kế cho mô hình dữ liệu quan hệ vì vậy cả CSDL cơ bản và CSDL trừu tượng tri thức đều có thể được xử lý theo hình thức đơn lẻ bởi một ngôn ngữ truy vấn quan hệ

2.2.1.Sơ đồ quan hệ của KAD

Để biểu diễn đầy đủ tri thức được cung cấp bởi KAH, KAD cần cung cấp ba loại thông tin, bao gồm thông tin trừu tượng giá trị, thông tin trừu tượng miền, và thông tin ánh xạ giữa KAD với CSDL chứa dữ liệu của hệ thống Cách tổ chức KAD cũng cần tạo điều kiện cho các thao tác tổng quát hóa và chi tiết hóa trên cây phân cấp Ngoài ra, hệ thống cũng cần một số thông tin về trừu tượng thực thể, trừu tượng liên kết,… để nới lỏng thực thể và nới lỏng điều kiện nối Với những yêu cầu như vậy, KAD được thiết kế với một số quan hệ hạt nhân như sau :

DOMAIN_ABSTRACTION

• Thuộc tính : Domain, Super_Domain, Hierarchy, Abstraction_Level

• Chức năng : Lưu trữ tất cả các phân cấp miền Từ bảng này, hệ thống có thể xác định được phân cấp miền tương ứng với một KAH nào đó Các thuộc tính của bảng lần lượt mô tả tên một miền, tên miền mức trên (Super-domain) của nó, phân cấp KAH tương ứng với nó, và vị trí (mức) của nó trên phân cấp miền

Trang 26

24

• Thuộc tính : Value, Domain, Abstract_Value

• Chức năng : Lưu trữ tất cả các phân cấp giá trị Các phân cấp này được phân

biệt bởi thông tin miền đi kèm với mỗi khái niệm Các thuộc tính của bảng này lần lượt mô tả một khái niệm, miền của khái niệm đó, và khái niệm cha của nó trên cây phân cấp

ATTRIBUTE_MAPPING

• Thuộc tính : Relation, Attribute, Domain

• Chức năng : Xác định miền ứng với một thuộc tính trong quan hệ nào đó Các thuộc tính của bảng này lần lượt mô tả tên quan hệ, tên một thuộc tính của quan hệ đó, và tên miền của thuộc tính đó Các phần tử thuộc tập giá trị của một thuộc tính là những giá trị cùng miền với thuộc tính đó Quá trình nới lỏng căn cứ vào miền của thuộc tính để xác định sẽ sử dụng phân cấp nào đối với thuộc tính này

ENTITY_ABSTRACTION

• Thuộc tính : Relation, Root_Relation

• Chức năng : Xác định quan hệ gốc mà một quan hệ nào đó kế thừa theo mô hình CSDL hướng đối tượng Bảng này sử dụng khi tiến hành nới lỏng thực thể Các thuộc tính của bảng này lần lượt mô tả tên một quan hệ và quan hệ gốc của nó trong phân cấp thực thể

RELATIONSHIP_ABSTRACTION

• Thuộc tính : Relation, Abstract_Relation

• Chức năng : Xác định quan hệ cha – con giữa 2 quan hệ (trong trường hợp này là các quan hệ biểu diễn liên kết giữa các thực thể) Bảng này được sử dụng khi nới lỏng các liên kết Các thuộc tính của bảng lần lượt mô tả tên một quan hệ và tên quan hệ cha của nó trong phân cấp của các liên kết

NUMERICAL_ATTRIBUTE_CONCEPT_MAPPING

Trang 27

25

• Thuộc tính : Relation, Attribute, Abstract_Value, Mapping

• Chức năng : Bảng này được sử dụng để ánh xạ các khái niệm ngôn ngữ tới một miền giá trị số Các thuộc tính lần lượt là tên quan hệ, tên một thuộc tính (có kiểu số) của quan hệ đó, tên khái niệm đại diện cho khoảng số và ánh xạ của khái niệm đó tới khoảng số mà nó đại diện Bảng này được tra cứu khi chuyển đổi những khái niệm ngôn ngữ có mặt trong những câu truy vấn trên thuộc tính số Chẳng hạn, với câu truy vấn “tìm các sinh viên có điểm cao”, thông qua bảng này, hệ thống sẽ dịch ra “tìm cách sinh viên có (điểm >8 )^

( điểm <=10)”

Bên cạnh những quan hệ sử dụng cho quá trình nới lỏng, còn có những quan hệ chứa tập luật ràng buộc của hệ thống Các quan hệ chứa luật ràng buộc này được sử dụng trong các chiến lược dò tìm và khắc phục lỗi truy vấn Tuy nhiên, đó không phải là những quan hệ thuộc về KAD, mà là những quan hệ thuộc về cơ sở tri thức nói chung Hình 6 minh họa một phần KAD được xây dựng cho CSDL đại học Bách Khoa Hà Nội :

CSDL suy diễn

Mô hình dữ liệu hướng đối tượng

Xử lý truy vấn hướng đối tượng

<Các nút mức dưới>

<Các nút mức dưới>

<Các nút mức dưới>

<Các nút con>

Trang 29

27

Cách tổ chức các phân cấp KAH vào trong KAD cần phải hỗ trợ đầy đủ hai thao tác

cơ bản : Tổng quát hóa và chi tiết hóa khái niệm

2.2.2.Quá trình tổng quát hóa trong KAD

Quá trình tổng quá hóa trong KAD cần tham chiếu tới 2 quan hệ VALUE_ABSTRACTION và DOMAIN_ABSTRACTION Về nguyên tắc, quá trình tổng quát hóa n - mức bao gồm n quá trình tổng quá hóa 1 - mức Hình 7 mô tả quá trình tổng quát hóa với KAD

Hình 7 – Tổng quát hóa trong KAD

Giả sử đang xét nút “CSDL hướng đối tượng” trong phân cấp Đồ án Dựa vào VALUE_ABSTRACTION, hệ thống biết được miền của khái niệm “CSDL hướng đối tượng” là “DoAn_NhanhCon” và giá trị trừu tượng của nó là “CSDL” Tuy nhiên, trong VALUE_ABSTRACTION lại tồn tại hai bộ có thuộc tính Value cùng bằng “CSDL” Do vậy, để xác định chính xác đâu là khái niệm cần tìm, hệ thống sử dụng thông tin về miền trong KAH Nút “CSDL hướng đối tượng” có miền là

“DoAn_NhanhCon” Dựa vào DOMAIN_ABSTRACTION, hệ thống xác định được nút cha của nó trên phân cấp phải có miền là “DoAn_LinhVuc” Kết quả của quá trình tổng quát hóa là bộ (“CSDL”, “Domain_LinhVuc”, “Nghiên cứu”)

1

2

Trang 30

28

2.2.3.Quá trình chi tiết hóa trong KAD

Tương tự như tổng quá hóa, quá trình chi tiết hóa cũng sử dụng 2 quan hệ VALUE_ABSTRACTION và DOMAIN_ABSTRACTION Chi tiết hóa n - mức được đưa về chi tiết hóa 1 - mức Hình 8 mô tả quá trình chi tiết hóa trong KAD

Hình 8– Chi tiết hóa trong KAD

Giả sử đang xét nút “CSDL hướng đối tượng” trong phân cấp Đồ án Theo quan hệ VALUE_ABSTRACTION, nút này có miền là “DoAn_NhanhCon” Tra cứu trong DOMAIN_ABSTRACTION, hệ thống xác định được Sub-domain của

“DoAn_NhanhCon” là “DoAn_VanDe” Như vậy, kết quả của quá trình chi tiết hóa

là các bộ trong VALUE_ABSTRACTION có Abstract_Value = “CSDL hướng đối tượng” và Domain = “DoAn_VanDe” (tương ứng với “Mô hình dữ liệu hướng đối tượng” và “Xử lý truy vấn hướng đối tượng”)

Với hai thao tác tổng quá hóa và chi tiết hóa, hệ thống hoàn toàn có khả năng tiến hành quá trình nới lỏng bằng nguồn tri thức trong KAD

2.3.Nới lỏng truy vấn với KAD

Khi biểu diễn cấu trúc logic tổng thể của CSDL, sơ đồ thực thể - liên kết thường hay được sử dụng Các thành phần cơ bản của sơ đồ thực thể - liên kết là các thực thể, các thuộc tính và các liên kết giữa các thực thể Mỗi thực thể là một quan hệ được bổ sung thuộc tính khóa Một liên kết giữa các thực thể cũng là một quan hệ,

và quan hệ này chứa khóa của các thực thể mà nó liên kết Một câu truy vấn tổng

1

2

Trang 31

29

quát phải có các thông tin về thực thể đích, các điều kiện chọn, các điều kiện nối (liết kết) Để nới lỏng câu truy vấn, hệ thống cần phân tách các thành phần trong câu truy vấn đó Tùy theo đối tượng xử lý là đích, là điều kiện chọn hay liên kết mà

hệ thống sử dụng những nguồn tri thức khác nhau trong khi nới lỏng

Xét một câu truy vấn tổng quát như sau :

Select Dich_ID From Dich Where Dich_ID in

(

Select Dich_ID From LienKet

Where LienKet.Nguon_ID in (

Select Nguon_ID From (

Select Nguon_ID From Nguon Where

(Nguon.ThuocTinhNguon = 'X')

) R1 )

)

Câu truy vấn trên có đủ các thành phần đích, liên kết và điều kiện chọn (tương ứng với Dich, LienKet và Nguon.ThuocTinhNguon = ‘X’) Ba thành phần này đều có khả năng nới lỏng Việc phân tách câu truy vấn ra từng thành phần sẽ được nói rõ hơn ở những phần sau Trong phần này, các thành phần mặc định đã phân tách và được sử dụng như đầu vào cho thao tác nới lỏng

2.3.1.Nới lỏng điều kiện chọn với phép so sánh bằng

Một điều kiện chọn với phép so sánh bằng ở dạng chuẩn có dạng như sau :

[Tên quan hệ].[Tên thuộc tính chọn] = ‘Giá trị chọn’

Trang 32

30

Các điều kiện chọn trong câu truy vấn cần được đưa về dạng chuẩn trước khi thực hiện các thao tác nới lỏng

Điều kiện nới lỏng :

• Có phân cấp KAH tương ứng với thuộc tính chọn

• Giá trị chọn có mặt trên phân cấp KAH của thuộc tính chọn

• Thuộc tính chọn và giá trị chọn phải thuộc cùng một miền

Gi ải thuật nới lỏng điều kiện chọn Relation.Attribute = ‘Value’

V ới Value là giá trị thông thường hoặc giá trị trừu tượng

Đầu vào : Relation, Attribute, Value

Đầu ra : Result ch ứa tất cả các khái niệm nới lỏng được từ Value

Trang 33

ConceptQueue.add(Child);

} }

}

return result;

Để thuyết minh thuật toán, không mất tính tổng quát, ví dụ dưới đây sẽ trình bày quá trình nới lỏng một điều kiện chọn cụ thể

Xét điều kiện chọn sau :

DoAn.PhanLoai = ‘Mô hình dữ liệu hướng đối tượng’

Quá trình nới lỏng điều kiện này bao gồm một số bước :

Bước 1 : Tìm trong bảng ATTRIBUTE_MAPPING miền của thuộc tính chọn

Trong ví dụ, miền của DoAn.PhanLoai là DoAn_VanDe

Bước 2 : Định vị giá trị chọn trong bảng VALUE_ABSTRACTION với thông tin

miền tìm được Với bộ vừa tìm được, xác định kết quả của quá trình tổng quá hóa 1 mức qua cặp thuộc tính (Domain, Abstract_Level) Trong ví dụ, bộ tương ứng với giá trị chọn là (“Mô hình dữ liệu hướng đối tượng”, “DoAn_VanDe ”, “CSDL

hướng đối tượng”) và kết quả quá trình tổng quát hóa 1 - mức là bộ (“CSDL hướng

Trang 34

32

đối tượng”, “DoAn_NhanhCon”, “CSDL”) Nếu chỉ nới lỏng 1 - mức, sang bước 4,

nếu lớn hơn 1 - mức, sang bước 3

Bước 3 : Nâng độ trừu tượng bằng cách tra cứu bảng DOMAIN_ABSTRACTION

Ví dụ, từ bằng này xác định được Super-domain 2 - mức của DoAn_VanDe là

của quá trình tổng quá hóa 2 - mức là bộ (“CSDL”, “DoAn_LinhVuc”, “Nghiên

c ứu”)

Bước 4 : Từ vị ví kết quả của quá trình tổng quá hóa, tiến hành chi tiết hóa cho tới

khi đạt được các bộ có miền trùng với miền của giá trị chọn ban đầu (hay chính là miền của thuộc tính chọn) Ví dụ, kết quả của quá trình chi tiết hóa áp dụng cho bộ

(trong ví dụ là các bộ có Value là “Mô hình dữ liệu hướng đối tượng” và “Xử lý truy

vấn hướng đối tượng”)

Sau 4 bước, điều kiện chọn đã được nới lỏng trở thành :

DoAn.PhanLoai IN ( ‘Mô hình dữ liệu hướng đối tượng’, ‘Xử lý truy vấn hướng đối tượng’)

2.3.2.Nới lỏng điều kiện chọn chứa các giá trị trừu tượng

Người dùng phổ thông nhìn chung chỉ có hiểu biết tương đối ít ỏi về cách tổ chức CSDL của hệ thống và về miền ứng dụng Do đó, những câu truy vấn người dùng đưa vào thường không chứa những giá trị chính xác và chi tiết như trong CSDL, mà chứa những giá trị trừu tượng hơn Ví dụ, người dùng có xu hướng đưa vào câu truy vấn “Tìm các đồ án về CSDL hướng đối tượng” hơn là những truy vấn chính xác như “Tìm các đồ án về Xử lý truy vấn hướng đối tượng”

Trang 35

33

Đối với các hệ thống thông thường, những câu truy vấn chứa các giá trị trừu tượng

là những câu truy vấn sai và không có kết quả Tuy nhiên, với cách tiếp cận KAH, người tìm kiếm thông tin hoàn toàn có thể được phép đưa vào những truy vấn như vậy, hệ thống vẫn có thể hiểu và đưa ra câu trả lời

Giá trị trừu tượng trong câu truy vấn thường xuất hiện tại vị trí điều kiện chọn :

[Tên quan hệ].[Tên thuộc tính chọn] = ‘Giá trị trừu tượng’

Điều kiện nới lỏng :

• Có phân cấp KAH tương ứng với thuộc tính chọn

• Giá trị trừu tượng có mặt trên phân cấp KAH của thuộc tính chọn

• Miền của giá trị chọn ở mức cao hơn miền của thuộc tính chọn

Trong thuật toán nới lỏng các điều kiện chọn ở phần trên, giá trị gán cho thuộc tính

có thể là giá trị thông thường hoặc giá trị trừu tượng Vì vậy, thuật toán này được sử dụng cho cả các điều kiện chọn chứa giá trị trừu tượng

Dưới đây là ví dụ về cách xử lý các một điều kiện chọn chứa giá trị trừu tượng

Xét điều kiện chọn :

DoAn.PhanLoai = ‘CSDL’

Quá trình xử điều kiện này trải qua một số bước như sau :

Bước 1 : Sử dụng ATTRIBUTE_MAPPING để xác định miền của thuộc tính chọn

Chẳng hạn, miền của DoAn.PhanLoai là DoAn_VanDe

Trang 36

34

Bước 2 : Sử dụng VALUE_ABSTRACTION để xác định miền của giá trị chọn

Miền này phải thỏa mãn là Super - Domain của miền tìm được ở bước 1 Nếu không tìm được thì kết thúc và thông báo (hoặc nếu 2 miền trùng nhau thì trở thành nới lỏng thông thường) Ví dụ, miền của “CSDL” là DoAn_LinhVuc, là cha 2 - mức đối với miền tìm được ở bước 1

Bước 3 : Tiến hành chi tiết hóa giá trị chọn với thông tin miền tìm được ở bước 1

và 2 Dừng lại khi đạt tới các giá trị có miền trùng với miền của thuộc tính chọn Ví

dụ, tiến hành chi tiết hóa “CSDL” trong miền DoAn_LinhVuc cho tới khi gặp các giá trị thuộc vào miền DoAn_VanDe ở bước 1 thì dừng lại Kết quả là điều kiện chọn được dịch thành dạng mà hệ thống có thể hiểu được như sau :

DoAn.PhanLoai IN (‘Mô hình dữ liệu hướng đối tượng’, ‘Xử lý truy vấn hướng đối tượng’, ‘Datalog’, ‘Xử lý truy vấn suy diễn’)

Đến đây sẽ nảy sinh thêm một vấn đề mới, đó là nới lỏng các điều kiện chọn với thuộc tính số Những câu hỏi có dạng “tìm sinh viên có điểm trung bình cao” là hoàn toàn chính đáng, mặc dù “điểm trung bình” là thuộc tính số, còn “cao” lại là giá trị phi số Vấn đề được giải quyết bằng cách ánh xạ một miền số sang một khái niệm phi số đại diện cho toàn bộ miền, sau đó tiến hành các thao tác nới lỏng như với các thuộc tính phi số Chẳng hạn, phân cấp cho thuộc tính điểm trung bình được

mô tả như sau :

Hình 9 – Phân cấp thuộc tính số

Với phân cấp này, thì điều kiện chọn

B ất kỳ [0-10]

Thấp [0-5]

Trung bình [5-8]

Cao [8-10]

Yếu [0-3]

Kém [3-5]

TB kém [5-6]

TB khá [6-8]

Khá cao [8-9]

Rất cao [9-10]

Trang 37

35

SinhVien.DiemTB =‘Cao’

sẽ được dịch thành

SinhVien.DiemTB >8 And SinhVien.DiemTB <=10

2.3.3.Nới lỏng điều kiện nối

Trong mô hình thực thể - liên kết, liên kết giữa các quan hệ biển diễn thực thể cũng

là một quan hệ trong CSDL Thao tác nới lỏng các phép nối được qui về nới lỏng quan hệ liên kết giữa các thực thể Để có thể nới lỏng được các quan hệ liên kết, cần phải xây dựng hệ thống phân cấp cho các quan hệ này Hai liên kết được coi là cùng phân cấp nếu như chúng đều kết nối các thực thể giống nhau Liên kết ở mức cao trong phân cấp chứa tất cả các bộ của liên kết mức dưới và bổ sung thêm các bộ của riêng nó

Quá trình nới lỏng một liên kết thực chất là thay thế liên kết đó bằng liên kết cha của nó trên phân cấp Hình 12 mô tả một phân cấp liên kết Ba quan hệ A, B, C là các liên kết giữa các quan hệ Table1 và Table2 Liên kết A là cha của hai liên kết B

và C

Trang 38

36

Hình 10 – Phân cấp liên kết

Điều kiện nới lỏng :

• Có phân cấp đối với liên kết

Nguồn tri thức sử dụng :

• RELATIONSHIP_ABSTRACTION

Quá trình nới lỏng liên kết giữa các thực thể được minh họa qua ví dụ sau

Xét một bảng GiangDayGiangVien làm vai trò liên kết hai bảng GiangVien và MonHoc :

• GiangVien {GiangVienID, HoTen,….}

• MonHoc {MonHocID, TenMonHoc,…}

Với cách tổ chức trên, câu truy vấn “Tìm giảng viên dạy môn CSDL” có dạng SQL như sau :

Select HoTen From GiangVien Where GiangVienID in

Ngày đăng: 12/02/2021, 21:34

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1].S.-Y. Hud, K.-H. Moon, H. Lee . A data abstraction approach for query relaxation, 2000 Sách, tạp chí
Tiêu đề: data abstraction approach for query relaxation
[5].Anna Putnam . The relaxation manager for XML query relaxation [6].Chen Li . Answering approximate queries efficiently Sách, tạp chí
Tiêu đề: The relaxation manager for XML query relaxation "[6].Chen Li
[14].Chokri Ben Necib, Johann Christoph . Query processing using ontologies [15].Chen Li . Answering approximate queries efficiently Sách, tạp chí
Tiêu đề: Query processing using ontologies "[15].Chen Li
[21].Yue Huang . Intelligent query answering by knowledge discovery techniques [22].Fuliang Weng, Heather Pon-Barry, Sebastian Varges . Interactive question answering and constraint relaxation in spoken dialogue systems Sách, tạp chí
Tiêu đề: Intelligent query answering by knowledge discovery techniques "[22].Fuliang Weng, Heather Pon-Barry, Sebastian Varges
[28] Daniela Florescu . XML Query Processing Tài li ệ u tham kh ả o ti ế ng Vi ệ t Sách, tạp chí
Tiêu đề: XML Query Processing
[2].Wesley W.Chu . CoBase : A scalable and extensible cooperative information system Khác
[3].Wesley W.Chu, Hua Yang, Gladys Chow . A cooperative database system for query relaxation Khác
[4].Terry Gaasterland, Parke Godfrey, Jack Minker . Relaxation as a platform for cooperative answering Khác
[7]. Kostas Stefanidis, Evaggelia Pitoura, and Panos Vassiliadis . Modeling and Storing Context-Aware Preferences Khác
[8]. Kostas Stefanidis, Evaggelia Pitoura, and Panos Vassiliadis . On Supporting Context-Aware Preferences in Relational Database Systems Khác
[9]. Giuseppe Amato and Umberto Straccia . User Profile Modeling and Applications to Digital Libraries Khác
[10]. Hamza Hydri Syed, Periklis Andritsos . Weigh your Preferences! Towards using hierarchies for building personal libraries Khác
[11]. Arthur H. van Bunningen, Ling Feng, and Peter M. G. Apers . Using Description Logics to Model Context Aware Query Preferences Khác
[12]. Kostas Stefanidis, Evaggelia Pitoura and Panos Vassiliadis . On Relaxing Contextual Preference Queries Khác
[13].Chokri Ben Necib, Johann Christoph Freytag . Using ontologies for database query refomulation Khác
[16].Ullas Nambiar, Subbarao Kambhampati . Mining approximate functional dependencies and concept similarities to answer imprecise queries Khác
[17].Farah Benamara, Patrick Saint Dizier . Advanced relaxation for cooperative question answering Khác
[18].Cuppens, Demolombe . Cooperative answering : A methodology to provide intelligent access to databases Khác
[19].Michael Barg, Raymond K.Wong . Efficient query relaxation for semistructured data Khác
[20].Troels Andreasen, Henning Christiansen . Flexible query answering systems modelled in metalogic programming Khác

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w