Tải bản đầy đủ
CHƯƠNG 2. BIỂU DIỄN DỮ LIỆU MỜ BẰNG NGÔN NGỮ XML

CHƯƠNG 2. BIỂU DIỄN DỮ LIỆU MỜ BẰNG NGÔN NGỮ XML

Tải bản đầy đủ

45
2.1. MÔ HÌNH TỔNG QUÁT
Dựa trên các cơ sở dữ liệu sẵn có trong hệ thống “Quản lý thông tin nhân sự”
luận văn sẽ bổ sung một số chức năng cho phép mờ hóa cơ sở dữ liệu sẵn có theo
mô hình cơ sở dữ liệu mờ dựa trên lý thuyết về đại số gia tử. Từ kết quả thu được,
hệ thống cho phép thực hiện các truy vấn mờ trên cơ sở dữ liệu đã được mờ hóa và
có thể thực hiện các phương pháp khai phá dữ liệu trên cơ sở dữ liệu này.

Chọn các trường thuộc tính mờ

Cơ sở dữ liệu gốc

Mờ hóa bằng đại số gia tử

Cơ sở dữ liệu mờ

KHAI PHÁ DỮ LIỆU

Hình 2: Mô hình tổng quát của hệ thống
Bước 1: Chọn các trường thuộc tính trong cơ sở dữ liệu thông tin nhân sự.
Bước 2: Chọn các trường thuộc tính cần mờ hóa (thuộc tính mờ).

46
Bước 3: Mờ hóa cơ sở dữ liệu bằng ĐSGT.
Bước 4: Thực hiện các truy vấn trên cơ sở dữ liệu đã được mờ hóa.
Để thực hiện mờ hóa cơ sở dữ liệu có sẵn bằng đại số gia tử thì chúng ta phải đi
xây dựng cấu trúc các thuộc tính mờ theo lý thuyết về đại số gia tử, xây dựng các
biểu diễn cơ sở dữ liệu mờ bằng ngôn ngữ XML và đưa ra phương pháp truy vấn
mờ dựa trên phương pháp đối sánh mờ.
2.2. ĐỀ XUẤT GIẢI PHÁP
Ngày nay, các hệ thống “Quản lý thông tin nhân sự” chưa khai thác triệt để
nguồn dữ liệu sẵn có, đặc biệt là dữ liệu mờ trong các vấn đề khai phá dữ liệu để
đưa ra các dự đoán, quyết định mang tính chiến lược cho các công ty sử dụng hệ
thống. Xuất phát từ nhu cầu khai thác nguồn thông tin sẵn có để sử dụng cho mục
đích khai phá dữ liệu ứng dụng trong việc truy xuất, tìm kiếm thông tin để rút ra
những thông tin có ích, ứng dụng cho các hệ thống hỗ trợ cho việc đưa ra các dự
báo, quyết định trong tương lai. Chúng tôi đề xuất giải pháp ứng dụng logic mờ
trong hệ thống “Quản lý thông tin nhân sự” dựa trên lý thuyết về đại số gia tử.
Dựa trên dữ liệu sẵn có chúng tôi sẽ xây dựng thêm chức năng cho ứng dụng
logic mờ trong hệ thống “Quản lý thông tin nhân sự” cho phép thực hiện việc
chuyển đổi dữ liệu có sẵn sang dữ liệu mờ dựa trên lý thuyết về đại số gia tử để ứng
dụng khai phá dữ liệu trên cơ sở dữ liệu mờ đó.
2.2.1. Mờ hóa cơ sở dữ liệu bằng đại số gia tử
Dựa trên cơ sở dữ liệu có sẵn chúng ta thực hiện mờ hóa dữ liệu dựa trên lý
thuyết về đại số gia tử hay nói cách khác chúng ta cần xác định tập các phần tử sinh,
tập gia tử và miền giá trị của nó. Trong đó mỗi thuộc tính trong cơ sở dữ liệu chuẩn
XML cần phải xác định tập các phần tử sinh, tập gia tử và miền giá trị của nó, tính
toán giá trị khoảng thông qua độ đo tính mờ và miền giá trị thuộc tính.
Ví dụ 2.15: Thuộc tính SONLV (số ngày làm việc) được xác định bởi miền trị
DSONLV

LDSONLV trong đó DSONLV = [0, 30]. LDSONLV theo lý thuyết về mô hình cơ

47
sở dữ liệu mờ dựa trên lý thuyết về đại số gia tử sẽ được xác định qua ĐSGT XSONLV
= (XSONLV, GSONLV, HSONLV,

), với GSONLV = {thấp, cao}{rất, hơn}, {khả năng, ít},

rất> hơn và ít> khả năng. fm(cao) = 0.35, fm(thấp) = 0.65, (khả năng) = 0.25, (ít) =
0.20, (hơn) = 0.15 và (rất) = 0.35.
Dựa vào Bổ đề 1.3 ta tính được độ đo tính mờ của mỗi phần tử trong miền giá trị
ngôn ngữ.
Ví dụ 2.16: Độ đo tính mờ ứng với giá trị mờ “ít-thấp” của thuộc tính mờ
SONLV. Ta có fm(ít thấp) = (ít) x fm(thấp) = 0.20 x 0.65 = 0.13.
Sau khi tính được độ đo tính mờ, mỗi phần tử trong miền giá trị ngôn ngữ sẽ
được biểu diễn thành các khoảng dữ liệu tương ứng. Dựa vào mục 1.4.3.1 ta xây
dựng phân hoạch về độ tương tự mức 1 gồm các lớp tương đương sau: ; ; ; và một
cách tương tự, và .
Tương tự, với k = 2, ta có thể xây dựng phân hoạch các lớp tương tự mức 2. , và
, với i sao cho và i 0.

Bằng cách tương tự như vậy ta có thể xây dựng các phân hoạch các lớp tương tự
mức k bất kỳ.
Ví dụ 2.17: Đối với thuộc tính SONLV: fm(cao) = 0.35, fm(thấp) = 0.65, (khả
năng) = 0.25, (ít) = 0.20, (hơn) = 0.15 và (rất) = 0.35. Ta phân hoạch đoạn [0,30]
thành 4 khoảng tương tự mức 1 là: fm(rất cao) x 30 = 0.35 x 0.35 x 30 = 3.675. Vậy
S(1) x 30 = (26.325, 30];
(fm(khả năng cao) + fm(hơn cao)) x 30 = (0.25 x 0.35 + 0.15 x 0.35) x 30 = 4.2
và S(cao) x 30 = (22.125, 26.325];
(fm(ít thấp) + fm(ít cao)) x 30 = (0.25 x 0.65 + 0.25 x 0.35) x 30 = 7.5 và S(W)x
30 = (14.625, 22.125];

48
(fm(khả năng thấp) + fm(hơn thấp)) x 30 = (0.25 x 0.65 + 0.15 x 0.65) x 30 =
7.8 và S(thấp) x 30 = (6.825, 14.625], S(0) x 30 = [0, 6.825].
Tuy nhiên, dữ liệu được lưu trữ trong cơ sở dữ liệu gốc không chỉ có dạng dữ
liệu rõ mà còn nhiều dạng dữ liệu khác. Ở đây chúng tôi đưa ra một số kiểu dữ liệu
được ứng dụng trong luận văn này:
Kiểu 1: Giá trị ngôn ngữ mờ (tuổi rất trẻ)
Kiểu 2: Giá trị rõ (tuổi bằng 49 hoặc tên là Nam)
Các dạng dữ liệu mờ này chúng ta có thể sử dụng phương pháp đã trình bày ở
Chương 1 để có thể đối sánh các giá trị ngữ nghĩa.
Dựa trên phương pháp này chúng ta có thể thực hiện việc mờ hóa cơ sở dữ liệu
sẵn có bằng cách lựa chọn các trường thuộc tính trong cơ sở dữ liệu gốc, xác định
miền giá trị, tập các phần tử sinh, tập các gia tử. Việc mờ hóa theo phương pháp
dựa trên lý thuyết về đại số gia tử đảm bảo được tính thuần nhất về kiểu dữ liệu;
việc tổ chức lưu trữ và thao tác trở nên đơn giản, trực quan hơn; không cần khử mờ.
Cơ sở dữ liệu sau khi được mờ hóa bằng đại số gia tử sẽ được biểu diễn bằng
ngôn ngữ XML để có thể lưu trữ và ứng dụng cho việc thực hiện các truy vấn mờ,
khai phá tri thức và dự đoán sau này.
2.2.2. Biểu diễn dữ liệu mờ hóa bằng XML
Dựa trên cấu trúc của cơ sở dữ liệu mờ theo lý thuyết về đại số gia tử và một số
dạng dữ liệu đã được đề xuất trong bài toán, luận văn đưa ra một số thẻ được dùng
trong cấu trúc file xml lưu trữ cơ sở dữ liệu đã được mờ hóa bằng phương pháp
ĐSGT.
Thẻ Attribute
Được dùng để xác định phần định nghĩa các thuộc tính của một cơ sở dữ liệu
mờ:

49
Thẻ Field
Được dùng để liệt kê các thuộc tính của cơ sở dữ liệu. Thẻ Field nằm trong
phạm vi của thẻ Attribute: thuộc-tính.
Thẻ Type
Được dùng để xác định kiểu dữ liệu của thuộc tính, kiểu dữ liệu có thể nhận là
các kiểu dữ liệu nguyên thủy như: kiểu số nguyên, kiểu số thực, kiểu logic, kiểu
chuỗi ký tự …. Thẻ Type nằm trong phạm vi của thẻ Attribute: Kiểu-dữliệu.
Thẻ D
Được dùng để xác định miền giá trị tham chiếu (qua giá trị được cho bởi thẻ
) cho các thuộc tính mờ. Thẻ D nằm trong phạm
vi của thẻ Attribute và chỉ dùng cho các thuộc tính mờ:
.
Thẻ LDom
Được dùng để xác định miền giá trị ngôn ngữ cho các thuộc tính mờ. Trong đó
tập các phần tử sinh được liệt kê trong phạm vi của thẻ , tập các gia tử
được liệt kê trong phạm vi của thẻ . Thẻ LDom nằm trong phạm vi của
thẻ Attribute và chỉ dùng cho các thuộc tính mờ:


x
…..


y
…..


Trong đó fm(x), fm(y) là độ đo mờ của biến ngôn ngữ x, y. H+/ H- để xác định
gia tử dương hay gia tử âm. Nếu Type = “H+” là gia tử dương, nếu Type = ”H-” là

50
gia tử âm. Trong phạm vi của thẻ thì thứ tự của các gia tử được sắp xếp
tăng dần theo quan hệ cảm sinh ngữ nghĩa.
Ví dụ 2.18: Cho lược đồ quan hệ mờ LYLICH (lý lịch) được xác định qua các
thuộc tính HOTEN, TUOI, DIACHI. Trong đó các thuộc tính TUOI được gọi là các
thuộc tính mờ và nó được xác định bằng các miền trị tương ứng DTUOI

Trong đó DTUOI = [0, 100], ĐSGT XTuoi = (XTuoi, GTuoi, HTuoi,

LDTUOI.

), với GTuoi = {trẻ, già}

{rất, hơn}, {khả năng, ít}, rất> hơn và ít> khả năng. fm(trẻ) = 0.6, fm(già) = 0.4,
fm(rất) = 0.25, fm(hơn) = 0.25, fm(khả năng) = 0.25, fm(ít) = 0.25. Ta có fm(rất trẻ)
= 0.15, fm(hơn trẻ) = 0.15, fm(ít trẻ) = 0.15, fm(khả năng trẻ) = 0.15.
Bảng 1: Quan hệ Lý lịch
HOTEN

TUOI

DIACHI

Vĩnh

49

Hải Phòng

Linh

Trẻ

Thái Nguyên

Hùng

25

Bình Định

Thanh

Khá-Trẻ

Hà Nội

Tuyết

29

Cao Bằng

Việt

Già

Bình Định

Tài

35

Phú Yên

Được biểu diễn bằng ngôn ngữ XML tương ứng như sau:


51

HoTen
Tuoi
DiaChi

String


int

0
100



Trẻ
Già


ít
hơn
Khả
năng

Rất




String



Khi thực hiện mờ hóa cơ sở dữ liệu gốc thì mỗi giá trị trên trường thuộc tính sẽ
được chuyển về tập giá trị khoảng dựa vào phương pháp biểu diễn giá trị khoảng
căn cứ trên miền giá trị tham chiếu và miền giá trị ngôn ngữ tương ứng với trường
thuộc tính đó. Ở đây chúng tôi đã quy định một số thẻ mới để biểu diễn dữ liệu.
2.2.2.1. Thẻ Dist
Được dùng để xác định phạm vi của giá trị ngôn ngữ mờ

{Phần khai báo giá trị ngôn ngữ mờ}

52

Trong đó n được dùng để xác định các kiểu dữ liệu mờ 1 trong 2 kiểu được nêu
trong bài toán.
Ví dụ 2.19: Biểu diễn dữ liệu cho nhân viên có tên là Tuyết có tuổi là một tập có
giá trị 29 có địa chỉ là Cao Bằng trong quan hệ LYLICH như sau:


...



Tuyết


29


Cao Bằng



Với phương pháp biểu diễn dữ liệu đã được mờ hóa bằng ngôn ngữ XML nêu
trên, chúng ta có thể thực hiện các truy vấn mờ và các truy vấn rõ một cách dễ dàng
và nhanh chóng, nó đảm bảo tính toàn vẹn dữ liệu sau khi được mờ hóa. Ngoài ra,
với cơ sở dữ liệu mờ được biểu diễn bằng ngôn ngữ XML cho phép người dùng lưu
trữ và ứng dụng trong nhiều hệ thống khác nhau [15].
2.2.3. Truy vấn trên dữ liệu mờ
2.2.3.1. Biểu diễn truy vấn
Ngôn ngữ truy vấn trong CSDL mờ được các tác giả quan tâm nghiên cứu và đã
có nhiều kết quả. Truy vấn theo cách tiếp cận lý thuyết tập mờ, truy vấn theo cách
tiếp cận quan hệ tương tự. Hầu hết, các tác giả đều xây dựng ngôn ngữ truy vấn với
mong muốn thao tác mềm dẻo, “chính xác” với dữ liệu mờ bằng cách tập trung xây
dựng các hàm thuộc, từ đó tùy theo ngữ nghĩa của dữ liệu để chọn các ngưỡng phù
hợp khi thao tác dữ liệu.

53
Tuy nhiên mỗi ngôn ngữ truy vấn chỉ phù hợp với một mô hình CSDL mờ cụ
thể mà không có ngôn ngữ nào tổng quát cho các mô hình. Chẳng hạn, đối với ngôn
ngữ truy vấn trên mô hình CSDL mờ theo cách tiếp cận mờ, việc xác định giá trị
chân lý của điều kiện mờ trong truy vấn thường là khó khăn và kết quả của truy vấn
phụ thuộc nhiều vào việc xây dựng các hàm thuộc.
Nếu chúng ta xem miền trị của thuộc tính mờ là một ĐSGT thì việc xây dựng
ngôn ngữ truy vấn trên mô hình CSDL mờ để phù hợp với ngữ nghĩa mới là cần
thiết cho việc thao tác và tìm kiếm dữ liệu, giá trị chân lý của điều kiện mờ trong
câu truy vấn được xác định đơn giản và hiệu quả.
Vấn đề quan tâm ở đây là đề xuất một ngôn ngữ được dùng để truy vấn dữ liệu
trong mô hình CSDL mờ đã được xây dựng trong phần 2.3.2. Do đó, trước tiên phải
đi xây dựng các thuật toán xác định giá trị chân lý của điều kiện mờ để làm cơ sở
khi truy vấn dữ liệu, tiếp đến áp dụng các thuật toán vừa xây dựng để thực hiện truy
vấn.
Để thực hiện các truy vấn mờ trên cơ sở dữ liệu mờ biểu diễn bằng XML thì
trước tiên ta phải chuyển các truy vấn mờ về truy vấn rõ sau đó sử dụng phương
pháp đối sánh mờ mức k được trình bày trong mục 1.2.3.2 để thực hiện truy vấn.
Cấu trúc của lệnh truy vấn mờ dựa trên cơ sở các câu lệnh SQL nhưng ở đây chúng
tôi quy định một số thẻ trong XML để mô tả câu lệnh truy vấn mờ.
Tương tự như trong CSDL quan hệ, dạng tổng quát của câu lệnh truy vấn SQL
sử dụng truy vấn trong CSDL mờ được biểu diễn như sau:
SELECT [DISTINCT]
FROM
[WHERE ]
Khi đó câu lệnh SQL sẽ được biểu diễn thông qua các thẻ của XML.
a) Thẻ select
Được dùng để liệt kê các trường được chọn để thực hiện truy vấn. Tên các
trường được liệt kê qua thẻ Field.

54

b) Thẻ From
Được dùng để chỉ các bảng được chọn. Tên các bảng được liệt kê thông qua thẻ
Table.

Bang_1

….
Bang_n


c) Thẻ Expression
Được dùng để biểu diễn một biểu thức điều kiện.
-

Biểu thức điều kiện mờ


Tên-Trường

giá-trị-đối-sánh

-

Biểu thức điều kiện rõ


Tên-Trường

giá-trị-đối-sánh


55
d) Thẻ Where
Được dùng để liệt kê các biểu thức điều kiện. Các biểu thức điều kiện được kết
hợp với nhau thông quả thẻ Math. Thẻ Math được dùng để liệt kê phép toán kết hợp
giữa các biểu thức điều kiện và nó chỉ nhận 2 giá trị hoặc là “And” hoặc là “Or”.


{And, Or}

…..


Ví dụ 2.20: Giả sử ta có cơ sở dữ liệu mờ được cho trong bảng 2.1. Bây giờ, ta
xét truy vấn sau: “Tìm những nhân viên Trẻ ở Thái Nguyên”. Điều kiện trong truy
vấn trên có thể biểu diễn bởi biểu thức t[Tuoi] = ”Trẻ” and t[DiaChi] = ”Thái
Nguyên”. Chúng ta sẽ biểu diễn câu truy vấn này bằng ngôn ngữ XML với các thẻ
được quy định ở trên.



LyLich




Tuoi

Trẻ

and

DiaChi