Nói chung, động cơ chính của VQS là để giải quyết có hiệu quả và linh hoạt vấn đề các tập kết quả rỗng trong các hệ quản trị cơ sở dữ liệu trƣớc đây. Tuy nhiên, mục đích của nó tƣơng tự với một hệ quản trị cơ sở dữ liệu hay một hệ thống truy tìm thơng tin tích hợp nhƣ chúng tơi sẽ trình bày sau đây. Về bản chất, các hệ thống trả lời truy vấn giống nhƣ VQS nhằm mục đích đáp ứng nhu cầu thơng tin của ngƣời sử dụng mà các hệ thống hiện nay còn thiếu. Trên thực tế, các hệ quản trị cơ sở dữ liệu có thể cung cấp đầy đủ nhu cầu dữ liệu cho ngƣời sử dụng và vì thế các hệ thống mở rộng, ví dụ nhƣ các DBMS hiện nay với VQS làm việc "on top", có thể đáp ứng cho ngƣời sử dụng cả hai nhu cầu dữ liệu và nhu cầu thơng tin. Lợi ích của việc mở rộng một DBMS với khả năng đáp ứng nhu cầu thông tin của ngƣời sử dụng là mn màu mn vẻ bởi vì các DBMS đƣợc sử dụng rộng rãi trong nhiều miền ứng dụng; kiến trúc và các đặc điểm của các thành phần trong một DBMS cơ bản đƣợc nhiều ngƣời biết đến; và các DBMS rất mạnh trong việc quản lý dữ liệu đƣợc lƣu trữ. Trên thực thế, việc sử dụng các lợi thế có sẵn để xây dựng các hệ thống trả lời truy vấn mạnh hơn và hiệu quả hơn cịn là một trong những ý tƣởng chính của các DBMS hay các hệ thống truy tìm thơng tin tích hợp [13].
Đặc trƣng chính của VQS là khái niệm về các bảng biểu diễn tọa độ số NCR (Numeric-Coordinate-Representation) lƣu trữ các thuộc tính siêu thơng tin về ngữ nghĩa (semantic meta-information). Các thuộc tính có kiểu dữ liệu bất kỳ trong một khung nhìn hoặc quan hệ truy vấn đƣợc
tham chiếu đến các không gian Ơ-clit và đƣợc lƣu giữ bởi các bảng NCR. Khi khơng tìm thấy dữ liệu phù hợp cho một truy vấn Q trong cơ sở dữ liệu quan hệ, VQS sẽ tìm kiếm trên các bảng NCR tƣơng ứng với các điều kiện truy vấn của Q và trả về kết quả phù hợp nhất với Q. Về trực quan, các bảng NCR trong VQS tƣơng đƣơng với các không gian vector.
Sau đây là các ý tƣởng cơ bản của hệ thống VQS:
CÁC BẢNG MÔ TẢ TỌA ĐỘ SỐ (NCR_Tables): CÁC BẢNG SIÊU THÔNG TIN
Trong VQS, các giá trị không phải là số có thể đƣợc biểu diễn bởi các tọa độ số trong các không gian đặc trƣng và thông tin này đƣợc lƣu trữ trong các bảng NCR. Thuộc tính đƣợc ánh xạ gọi là khóa (NCR-Key) trong bảng NCR tƣơng ứng. Các cột NCR trong một bảng NCR biểu diễn các chiều trong không gian đặc trƣng. Bên cạnh đó, các thuộc tính đƣợc ánh xạ đến bảng NCR đƣợc gọi là các trƣờng mờ (Fuzzy Fields). Bảng sau đây đƣa ra một ví dụ bảng NCR về chuỗi các tên màu. Trong bảng NCR này, thuộc tính Name là khóa, thuộc tính "Red", "Green", và "Blue" là các cột NCR (NCR-Columns).
Colors Name Red Green Blue Black 0 0 0 Blue 0 0 255 light blue 173 216 230 dark blue 0 0 139 violet 238 130 238 blue violet 138 43 226 ... ... ... ... white 255 255 255 Hình 3.1 Ví dụ bảng NCR về các tên màu
Trong thực tế, các bảng NCR giống nhƣ các bảng trong cơ sở dữ liệu quan hệ trƣớc đây và trong một vài hoàn cảnh, các bảng của cơ sở dữ liệu hiện nay có thể đƣợc xem nhƣ các bảng NCR (các bảng NCR nhƣ vậy trong VQS gọi là các bảng NCR logic). Nhìn chung, các bảng NCR trong VQS là các bảng để lƣu trữ thông tin bổ sung cho các thuộc tính của các quan hệ. Về cơ bản, thông tin này là một kiểu siêu thơng tin ngữ nghĩa có miền giá trị số của các thuộc tính. Việc xây dựng các cơ sở dữ liệu siêu thông tin ngữ nghĩa nhƣ vậy cho một miền nào đó có thể cịn đƣợc làm từ từ qua thời gian.
ĐỘ ĐO TƢƠNG TỰ
Một câu hỏi hiện tại là hệ thống VQS có thể làm việc nhiều với việc xây dựng các bảng NCR để thỏa mãn mục đích chính chung đó là: việc truy vấn một quan hệ hoặc khung nhìn và trả về một số bản ghi cho ngƣời sử dụng tƣơng tự hoặc gần với một truy vấn đã cho trong một khả năng nào đó. Vấn đề chính đó là chúng ta có thể theo dõi cách mà VQS có thể
tính tốn độ tƣợng tự nhƣ thế nào giữa các bản ghi. Với khái niệm của bảng NCR trong VQS, sự tƣơng tự của hai giá trị thuộc tính số đƣợc định nghĩa nhƣ khoảng cách giữa hai giá trị đƣợc ánh xạ trong bảng NCR tƣơng ứng. VQS sử dụng độ đo Ơ-Clit để đo khoảng cách giữa các giá trị của bảng NCR (*). Ví dụ khoảng cách giữa hai tên màu black và blue trong bảng trên sẽ đƣợc tính tốn nhƣ sau: Distance(black, blue) = 2 2 2 ) 255 0 ( ) 0 0 ( ) 0 0 ( = 255
Để ý rằng trong trƣờng hợp các thuộc tính số, khoảng cách có thể cịn đƣợc xuất phát từ các giá trị số của chính nó và bảng NCR là khơng cần thiết.
Ngồi ra, ví dụ trên là đúng cho việc tính tốn sự tƣơng tự giữa hai thuộc tính giá trị. Độ đo tƣơng tự giữa hai bản ghi khá phức tạp. Chúng ta hãy xem xét một truy vấn ví dụ sau đây: "Tìm một nhà ở gần quận 2 và giá khoảng 1.000 đồng". Câu trả lời cho truy vấn này có thể gặp hai điều kiện, vị trí căn nhà (gần quận 2) và giá (khoảng 1000)
Hơn nữa, các khoảng cách đƣợc tính tốn trong hai miền này là hồn tồn khác biệt. Vì vậy, việc bình thƣờng hóa các khoảng cách là để làm cho chúng có ý nghĩa trong tồn bộ q trình xử lý truy vấn. Trong VQS, việc bình thƣờng hóa dựa trên đƣờng kính của khơng gian siêu thơng tin có ảnh hƣởng. Cụ thể, cho mỗi chiều trong một bảng NCR, các giá trị tối thiểu và cực đại đƣợc tính tốn trƣớc tiên.
(*) Độ đo Ơ-clit là một trƣờng hợp đặc biệt độ đo Minkowski phổ biến (khi p=2): khỏang cách giữa hai điểm X(x1, x2, ... xn) và Y(y1, y2, … yn) trong không gian n chiều đƣợc định nghĩa nhƣ sau: dp(X, Y)= (|x1-y1|p + |x2-y2|p + … + |xn-yn|p)1/p.
Các giá trị này định nghĩa một siêu hình chữ nhật, việc biểu diễn khơng gian có ảnh hƣởng cho siêu thông tin có sẵn trong bảng NCR đó. Đƣờng kính của siêu hình chữ nhật là khoảng cách có thể lớn nhất giữa hai đối tƣợng trong bảng NCR. Tất các các khoảng cách đƣợc tính tốn đƣợc bình thƣờng hóa bằng cách chia cho đƣờng kính này và khoảng cách đƣợc bình thƣờng hóa thuộc đoạn [0,1]. Hình dƣới đây chỉ ra một biểu đồ trên việc bình thƣờng hóa trong ví dụ trên ở khơng gian ba chiều.
Hình 3.2 Việc bình thƣờng hóa sử dụng đƣờng kính có ảnh hƣởng Sau việc bình thƣờng hóa, khoảng cách từ truy vấn đến tồn bộ bản Sau việc bình thƣờng hóa, khoảng cách từ truy vấn đến tồn bộ bản ghi có thể đƣợc xác định bởi các hàm tỉ số gộp. VQS tính tốn khoảng cách này sử dụng hàm tính tổng mở rộng của các khoảng cách đã bình thƣờng hóa theo mỗi điều kiện truy vấn. Khoảng cách cuối cùng gọi là khoảng cách gộp chỉ nằm trong khoảng [0,1] và nó có thể đƣợc sử dụng nhƣ một giá trị đo để đánh giá sự tƣơng tự của truy vấn và một bản ghi của quan hệ truy vấn/khung nhìn. Bản ghi gần hơn là bản ghi có khoảng cách gộp nhỏ hơn. Y X Đƣờng kính Giá trị có sẵn Giá trị truy vấn
Trong trƣờng hợp các thuộc tính khơng phải kiểu số mà khơng có các bảng NCR tƣơng ứng, VQS có thể sử dụng một hàm khoảng cách chuẩn giống nhƣ hệ thống VAGUE đã giới thiệu.
Hàm khoảng cách chuẩn này sẽ trả về giá trị 0 khi một giá trị truy vấn và một giá trị thuộc tính phù hợp với nhau, ngƣợc lại sẽ trả về giá trị 1. Với hàm này, mọi thuộc tính khơng phải là số có thể đƣợc sử dụng trong mệnh đề WHERE của VQS.
3.2. Ngôn ngữ truy vấn mờ VQL (Vague Query Language)
VQS đƣợc thiết kế nhƣ một sự mở rộng các DBMS hiện nay và mục đích cuối cùng của nó là để mang lại các khả năng tìm kiếm tƣơng tự cho các hệ thống này. VQS cố gắng làm sao cho các hệ thống hiện nay bị thay đổi càng ít càng tốt. Với lý do này, để hiểu rõ khái niệm của một toán tử so sánh tƣơng tự cho một ngơn ngữ truy vấn, nó đƣợc mở rộng nhỏ từ ngôn ngữ truy vấn chính thức SQL, gọi là ngôn ngữ VQL. VQL là một phiên bản mở rộng của SQL với một tốn tử so sánh có tên là "IS", nghĩa là "tƣơng tự với". Hình sau đây trình bày một định nghĩa chính thức của VQL.
Hình 3.3 Mơ tả chính thức của ngơn ngữ VQL
Nhƣ đƣợc mơ tả ở hình trên, DataSource có thể là một bảng hoặc khung nhìn hoặc thậm chí là một câu lệnh SQL nào đó. DataSource là đầu vào cho câu lệnh SELECT FROM của VQL, câu lệnh mà tốn tử IS có thể đƣợc sử dụng cho các trƣờng mờ trong điều kiện WHERE. Với hệ thống VQL nguyên thủy, một điều kiện giống nhƣ "vị trí Bất động sản IS trung
tâm quận 1" làm cho hệ thống sắp xếp tất cả các bản ghi của DataSource trên khoảng cách gộp, vì vậy các bản ghi với khoảng cách gộp nhỏ hơn đƣợc thể hiện trƣớc.
Hệ thống VQL gốc chỉ hổ trợ bổ sung toán tử logic AND trong việc kết nối các biểu thức so sánh bởi tốn tử IS (ví dụ: tìm một căn nhà gần với Quận 2 và giá khỏang 1.000). Tùy chọn WEIGHTED BY cho phép
VQLExpression = “SELECT FROM” DataSource
“WHERE” Conditions
“INTO” destinationTableName
DataSource = ([ownerName”.”]rootTableName) |
([ownerName”.”]rootViewName) |
“(“SQLSelectStatement”)”
Conditions = columnName “IS” ValueExpression
[“AND” columnName “IS” ValueExpression]
ValueExpression = (“ „ “ alphanumericValue “ „ “) |
numericValue
ngƣời sử dụng thiết lập độ rộng cho mỗi điều kiện truy vấn. Giá trị mặc định của mỗi độ rộng là 1. Bên cạnh đó, kết quả của câu lệnh VQL đƣợc lƣu trữ trong một bảng của cơ sở dữ liệu quan hệ đƣợc định nghĩa với mệnh đề INTO. Chúng ta hãy xét một ví dụ minh họa sau:
Hình 3.4 Một ví dụ về sử dụng các bảng NCR
Để làm sáng tỏ, chúng ta xem ví dụ ở trên, ở đây có một quan hệ Cars và thuộc tính Color là trƣờng mờ (giá trị của nó đƣợc ánh xạ sang bảng NCR có tên Colors với ba cột NCR là Red, Green và Blue). Bây giờ xem xét một ví dụ đơn giản với ngôn ngữ VQL cho một truy vấn nhƣ sau: "Tìm các xe hơi có màu tƣơng tự nhƣ màu đỏ". Với sự tham chiếu nhƣ hình trên, truy vấn này có thể đƣợc biểu diễn bởi một câu lệnh VQL nhƣ sau:
Colors Name Red Green Blue
black 0 0 0 blue 0 0 255 light blue 173 216 230 dark blue 0 0 139 red 255 0 0 ..... ... .... .... Bảng NCR
Cars Number Type Color
Accord09 Honda black
Civic Honda blue
Camry Toyota red
... ... ...
SELECT FROM Cars WHERE Color IS „red‟ INTO myResultTable
Mô-đun thực hiện truy vấn mờ của VQL sẽ tìm kiếm trong các bảng NCR Colors các tên màu gần nhất với khoảng cách gộp trƣớc và sau đó nó sẽ tìm trong bảng Cars những xe hơi có tên màu nhƣ vậy và sắp xếp các bản ghi liên quan với khoảng cách gộp của nó trƣớc khi lƣu trữ chúng vào bảng kết quả myResultTable. Chú ý rằng hệ thống VQS gốc phải truy xuất, tính tốn và sắp xếp tồn bộ bản ghi trong bảng Cars. Điều này yêu cầu chi phí nhập xuất và chi phí CPU rất lớn khi các truy vấn từ quan hệ hoặc khung nhìn cũng nhƣ các bảng NCR chứa khối lƣợng dữ liệu cực lớn. Để đối phó với vấn đề này, các tác giả của VQL còn đề cập một giải pháp để tìm kiếm chỉ những bản ghi phù hợp nhất cho một truy vấn đã cho.