Bài giảng Hệ cơ sở tri thức (Tuần 13-15) trình bày các nội dung: Dạng luật trong CSTT, các dạng luật suy diễn, các phép toán, tiến trình suy diễn, phân giải luật suy diễn không đệ qui, các chức năng quản trị CSTT.
Trang 1Tuần 13-15 (Week 13-15) Email: haivnu@yahoo.com
1
Hai V Pham hai@spice.ci.ritsumei.ac.jp
23 November 2015 2
Mục đích: Kết hợp cơ sở tri thức (CSTT)
với cơ sở dữ liệu (CSDL) nhằm suy diễn
thông tin từ CSDL bằng các luật suy
diễn trong CSTT và các dữ liệu trong
CSDL
Cách suy diễn thông tin từ các luật có
trong CSTT và dữ liệu trong CSDL,
cách quản trị CSTT
Rules
Rules:::: RRR111,,,, RRR222,,,,………RRR33
Ri
Ri :::: IFIFIF <conditions><conditions><conditions> THENTHENTHEN <actions><actions>
parent
parent(XXX,YYY): - fatherfatherfather(XXX,YYY) | mothermothermother(XXX,YYY)
Với fatherfatherfather, mothermothermother, parentparentparent là các vị từ XXX,YY
là các biến
Mỗi vị từ ppp(XXX,YYY,ZZZ) ứng với một quan hệ
P
P(XXX,YYY,ZZZ) trong CSDL
Trang 223 November 2015 4
Luậtttt khôngkhôngkhông đđệqui: Vị từ ở phần đầu không
xuất hiện trong phần thân của luật
VD: sibling(X sibling X X,Y Y Y):- parent parent parent(Z Z Z,X X X) & mother mother mother(Z Z Z,Y Y Y)
Luậtttt đđệ qui: Vị từ ở phần đầu xuất hiện
trong phần thân của luật
Ví
Ví d d dụ 3 3::::ancestor ancestor(X X X,Y Y Y): - parent parent parent(X X X,Y Y Y).
ancestor
ancestor(X X X,Y Y Y): - parent parent parent(X X X,Z Z Z) & ancestor ancestor ancestor(Z Z Z,Y Y Y)
23 November 2015 5
Phép AND(&) AND(&) AND(&) được xây dựng trên cơ sở
phép kết và phép chiếu của đại số quan hệ.
Với luật tttt(a a a,b b b,d d d,e e e): rrrr(a a a,b b b,c cc c) & s ss s(c cc c,d d d,e e e), quan hệ
trong T T T(a a a,b b b,d d d,e e e) ứng với vị từ tttt(a a a,b b b,d d d,e e e) được
tính theo cách sau:
Nếu dùng câu SQL, ta có câu lệnh tương
ứng:
SELECT
SELECT rrrr.a a a, rrrr.b b b, s ss s.d d d, s ss s.e e
FROM
FROM table rrrr, table s ss
WHERE
WHERE rrrr.c cc c = s ss s.c cc c.
23 November 2015 6
Phép toán OR OR OR (|) (|) (|) được xây dựng trên cơ sở
phép hợp sau đây:
t(a,b,c)
t(a,b,c):::: - - - r(a,b,c) r(a,b,c) r(a,b,c) |||| s(a,b,c) s(a,b,c)
Quan hệ T T T(a a a,b b b,c cc c) trong tttt(a a a,b b b,c cc c) được tính
theo cách sau:
T(a,b,c)
T(a,b,c) = = = R(a,b,c) R(a,b,c) R(a,b,c) ∪ ∪ S(a,b,c)
Nếu dùng SQL, ta có câu lệnh tương ứng :
SELECT
SELECT * FROM FROM FROM table1 rrrr
UNION
UNION SELECT SELECT SELECT * FROM FROM FROM table2 rrrr INTO INTO INTO table tttt
Trang 323 November 2015 7
Phép not( not( not(∼ ∼ )))) được xây dựng trên cơ sở phép
hiệu, ví dụ:
t(a,b,c)
t(a,b,c):::: - - - r(a,b,c) r(a,b,c) r(a,b,c) & & & ((((∼ ∼ s(a,b,c))
Quan hệ được suy T T T(a a a,b b b,c cc c) của vị từ tttt(a a a,b b b,c cc c)
được tính theo cách sau:
t(a,b,c)
t(a,b,c) = = = r(a,b,c) r(a,b,c) r(a,b,c) \ \ \ s(a,b,c) s(a,b,c)
Nếu dùng SQL, ta có thể cài đặt như sau:
SELECT
SELECT a a a, b b b, e e
FROM
FROM table rrrr
WHERE
WHERE a a a NOT NOT NOT IN IN IN (SELECT SELECT SELECT a a a FROM FROM FROM s ss s)
23 November 2015 8
Có thể mô tả các luật suy diễn bằng đồ
thị suy diễn Ví dụ với hai luật trên ta
có thể tạo đồ thị dạng cây suy diễn ở
hình sau:
Trong tiến trình suy diễn để tạo quan
hệ cho vị từ được suy grandfathergrandfathergrandfather(XXX,YYY)
chúng ta cần tạo các quan hệ cho các
vị từ fatherfatherfather(XXX,ZZZ) và parentparentparent(ZZZ,YYY)
Trang 423 November 2015 10
Do fatherfatherfather(XXX,ZZZ) là quan hệ nền nên chỉ
cần thẩm định parentparentparent(ZZZ,YYY) bằng cách
so khớp và đồng nhất biến để có dạng
sau:
parent(Z,Y)
parent(Z,Y):::: - father(Z,Y)father(Z,Y)father(Z,Y) |||| mother(Z,Y)mother(Z,Y)
23 November 2015 11
Với vị từ nền fatherfatherfather(ZZZ,YYY) chúng ta sử
dụng so khớp và đồng nhất biến theo
thứ tự xuất hiện của đối trong vị từ và
thứ tự xuất hiện trường trong quan hệ
nền
23 November 2015 12
Từ quan hệ fatherfatherfather(F,CF,CF,C), chúng ta có
các đồng nhất biến sau cho fatherfatherfather(XXX,ZZZ)
và fatherfatherfather(ZZZ,YYY)
FATHER
FATHER(F F F C C C) father father(X X X Z Z Z) father father(Z Z Y) Y
Trang 523 November 2015 13
Có hai bước chính là:
Tạo cây suy diễn theo các luật
Duyệt cây để thẩm định và tạo sinh
dữ liệu cho vị từ được suy
Với hai luật:
rrrr1: sibling sibling sibling(X X X,Y Y Y):- parent parent parent(X X X,Z Z Z) & parent parent parent(Z Z Z,Y Y Y) &
(X X X<>Y Y Y)
rrrr2: parent parent parent(X X X,Y Y Y):- father father father(X X X,Y Y Y) | mother mother mother(X X X,Y Y Y)
23 November 2015 14
Vị từ được suy sibling sibling sibling(X X X,Y Y Y) với các đích
sibling
sibling(A A A,B B B) sẽ được thẩm định như sau:
Tìm luật so khớp được với đích và thực hiện
đồng nhất biến.
Tạo cây con có gốc chính là đích của bài
toán Xử lý đệ qui với các đích con là các lá
của cây con vừa mới tạo được Nếu vị từ
trong lá là vị từ nền thì không thể mở rộng
được cây con.
Trang 623 November 2015 16
Sau khi đã tạo xong cây suy diễn,
chúng ta bước sang suy diễn bằng
cách duyệt cây để tạo sinh dữ liệu cho
các vị từ được suy Ý tưởng của thuật
toán như sau:
Tìm luật có phần đầu so khớp được với
đích.
Tạo dữ liệu cho các vị từ trong phần thân
của luật.
Thực hiện các phép toán logic của cơ sở
dữ liệu suy diễn để tạo dữ liệu cho vị từ
được suy.
23 November 2015 17
23 November 2015 18
Xét một CSDL theo dõi kết quả học tập của sinh viên với các quan hệ
nền sau.
Nganhhoc
Nganhhoc(manganh,tennganh): chứa các ngành học của trường.
Sinhvien
Sinhvien(masv,manganh,holot,ten): chứa hồ sơ sinh viên.
Moncoso
Moncoso(manganh,mamon,tenmon,sotc): các môn cơ sở của từng
ngành học và số tín chỉ của môn.
Chuan
Chuan(manganh,mamon,dchuan): điểm chuẩn của môn cơ sở chính
của ngành dùng để suy diễn.
Diemcoso
Diemcoso(masv,mamon,dmon): điểm kết quả môn của sinh viên.
Chuyennganh
Chuyennganh(manganh,machnganh):các chuyên ngành của từng
ngành.
Chuyende
Chuyende(machnganh,machde,tenchde,sotc): các chuyên đề của
ngành.
Diemchde
Diemchde(masv,machde,dchde): điểm kết quả chuyên đề của sinh
viên
Trang 723 November 2015 19
Phần CSTT bao gồm các luật suy diễn dữ liệu sau:
Các
Các lu lu luậtttt suy suy suy di di diễn n n 1 1 1:::: Sinh Sinh Sinh viên viên viên gi gi giỏiiii ở giai giai giai đo đo đoạn n n cơ cơ cơ s ss sở
rrrr1 1 1:::: IF IF diemcoso diemcoso diemcoso(masv,mamon,dmon)
AND chuan chuan(manganh, mamon,
dmon,dchuan)
THEN
diemchinh
diemchinh(masv,manganh,mamon,dmon,dchuan)
Tạo quan hệ
diemchinh
diemchinh(masv,manganh,mamon,dmon,dchuan)
chứa điểm môn quan trọng của ngành ở giai đọan
của sinh viên và điểm chuẩn để suy diễn của môn đó
23 November 2015 20
r2
r2: : IFdchinh dchinh(masv,manganh, mamon,
dmon,dchuan)
AND
AND (dmon> dchuan)
THEN
THEN svgioicososvgioicososvgioicoso (masv,manganh)
Tạo quan hệ svgioicososvgioicososvgioicoso(masv,manganh)
chứa các sinh viên được đánh giá là giỏi ở
giai đoạn cơ sơ theo quan điểm nếu điểm
môn quan trọng của sinh viên lớn hơn
điểm chuẩn
Các lu Các luật suy di t suy di t suy diễn 2: Sinh viên gi n 2: Sinh viên gi n 2: Sinh viên giỏi i i ở giai giai
đo
đoạn chuyên ngành n chuyên ngành
r3:IF IF chuyende(machnganh,machde,tenchde,sotchi) chuyende
AND
AND (sotchi>5)
THEN
THEN chdeqtrong chdeqtrong chdeqtrong(machnganh, machde)
Tạo quan hệ
chdeqtrong
chdeqtrong(machnganh,machde) chứa các
chuyên đề quan trọng theo nghĩa có số tín
chỉ lớn hơn 5
Trang 823 November 2015 22
rrrr44:::: IFIFIF diemde(masv,machde,dchde)diemde(masv,machde,dchde)
AND
AND (dchde>(dchde>(dchde>888))))
THEN
THEN svgioicde(masv,svgioicde(masv,svgioicde(masv, machde)machde)
Tạo quan hệ svgioicdesvgioicdesvgioicde(masv,machde)
chứa các chuyên đề mà sinh viên đạt
kết quả tốt
23 November 2015 23
rrrr55:::: IFsvgioicde(masv,machde)IFsvgioicde(masv,machde)
AND
AND chdeqtrong(machnganh,machde)chdeqtrong(machnganh,machde)
THEN
THEN svgioichng(masv,svgioichng(masv,svgioichng(masv, machnganh)machnganh)
Tạo quan hệ svgioichngsvgioichngsvgioichng(masv,
machnganh) chứa các sinh viên được
đánh giá là giỏi chuyên ngành được
xác định bởi machnganh Ở đây có thể
dùng độ đo niềm tin vào để đánh giá
23 November 2015 24
Các luật suy diễn 3: Sinh viên sẽ làm sẽ làm
nghiên cứu sinh theo chuyên ngành nào sau
khi tốt nghiệp
r6:
r6: IF svgioicoso(masv,manganh) IF svgioicoso(masv,manganh)
AND svgioichng(masv, machnganh)
THEN svtheochnganh(masv,machnganh)
Tạo quan hệ
svtheochnganh
svtheochnganh(masv,machnganh) suy luận
về chuyên ngành sinh viên sẽ làm nghiên
cứu sinh Luật này có độ đo chính xác của
luật.
Trang 923 November 2015 25
a) Bảng 1: EvidenceTableEvidenceTableEvidenceTable(RuleNo,Term)
Thuộc tính TermTermTerm của bảng này chứa dạng
Postfix
Postfix của phần giả thuyết của luật suy
diễn dữ liệu
Với dạng lưu trữ của luật
r1: IF ( NOT a) AND ( NOT b )
THEN sẽ là a ~ b ~ &
23 November 2015 26
b) BBảngng 2::::2 RuleTable(Ruleno, Evidence,
Conclusion,Cfrule)
Chứa luật suy diễn dữ liệu Cfrule là độ tin cây
của luật
c) BBảngng 3::::3 NodeTable(NodeNo,NodeType,
NodeDescription,
NodeDescription, Cfnode)Cfnode)
Chứa thông tin của các node trên đồ thị suy
diễn Thuộc tính Nodetype có ba gía trị là 1
nếu là node lá, 2 nếu là nối mục tiêu trung
gian và 3 nếu là mục tiêu cuối
HHệ quququảnnn trtrtrị CSTTCSTTCSTT này,này,này, chúngchúngchúng tatata cócócó thththể
ti
tiếnnn hànhhànhhành sososoạnnn thththảooo cáccáccác lululuậtttt suysuysuy dididiễnn
d
dữ lililiệuuu
HHệ quququảnnn trtrtrị CSTTCSTTCSTT baobaobao gggồmmm cáccáccác chchchứccc
năng
năng thêm,thêm,thêm, xoá,xoá,xoá, ssssửaaa lululuậtttt
Trang 1023 November 2015 28
a) Hàm ttttạoo dữd liệuli u cho các bbảngng
EvidenceTable
b)
b) HàmHàmHàm ttttạooo dddữ lililiệuuu chochocho cáccáccác bbbảngngng RuleTableRuleTable
c) Hàm ttttạoo ddữ liệuli u cho các bbảngng
NodeTable
23 November 2015 29
a)
a) HàmHàmHàm ttttạooo dddữ lililiệuuu chochocho cáccáccác bbbảngng
EvidenceTable
b)
b) HàmHàmHàm ttttạooo dddữ lililiệuuu chochocho cáccáccác bbbảngng
RuleTable
c)
c) HàmHàmHàm ttttạooo dddữ lililiệuuu chochocho cáccáccác bbbảngng
NodeTable
23 November 2015 30
a)
a) ThêmThêmThêm lululuậtttt vàovàovào CSTTCSTT
b)
b) HàmHàmHàm xxxử lýlýlý xóaxóaxóa lululuậtttt khkhkhỏiiii CSTTCSTT
c)
c) HàmHàmHàm ssssửaaa lululuậtttt suysuysuy dididiễnnn trongtrongtrong CSTTCSTT
d)
d) HàmHàmHàm kikikiểmmm tratratra tínhtínhtính hhhợppp llllệ ccccủaaa CSTTCSTT
Trang 1123 November 2015 31
a)
a) HàmHàmHàm tínhtínhtính trtrtrị ccccủaaa mmmộtttt nútnút
b)
b) HàmHàmHàm tínhtínhtính trtrtrị ccccủaaa mmmộtttt lululuậtttt
c)
c) CácCácCác hàmhàmhàm phânphânphân gigigiảiiii cáccáccác phépphépphép toántoán
AND,
AND, OR,OR,OR, NOTNOT
Các
Các hàmhàmhàm ANDCombine(ANDCombine(ANDCombine( ))));;;; ORCombine(ORCombine(
))));;;; NOTEvaluate(NOTEvaluate(NOTEvaluate( )))) nhnhnhằmmm thththứcccc hihihiệnnn cáccác
phép
phép toántoántoán AND,AND,AND, OR,OR,OR, NOTNOTNOT nhnhnhằmmm ttttạooo sinhsinh
ra
ra quanquanquan hhhệ ứngngng vvvớiiii vvvị ttttừ kkkếtttt qqqủaa
23 November 2015 32
CáchCách kkkếtttt hhhợppp cơcơcơ ssssở tritritri thththứcccc (CSTT)(CSTT)(CSTT) vvvớiiii
cơ
cơ ssssở dddữ lililiệuuu (CSDL)(CSDL)
CácCác dddạngngng lululuậtttt cócócó tititiềnnn đđđề làlàlà cáccáccác vvvị ttttừ
ứngng vvvớiiii cáccáccác bbbảngngng trongtrongtrong CSDLCSDL
CáchCách dididiễnnn dddịchchch cáccáccác toántoántoán ttttử logiclogic
CáchCách suysuysuy dididiễnnn ccccủaaa hhhệ CSTTCSTTCSTT kkkếtttt hhhợppp vvvớiiii
CSDL
MMộtttt ssssố thuthuthuậtttt gigigiảiiii trongtrongtrong đđđộngngng cơcơcơ suysuy
di
diễnn
VíVí dddụ ápápáp dddụngng
Cấu trúc báo cáo bao gồm các phần như sau:
◦ 1 Mục đích
◦ 2 Phạm vi
◦ 3 Các sự kiện, ngữ cảnh và cách biểu diễn tri thức
◦ 4 aộng cơ suy diễn, các luật và diễn giải của luật
◦ 6 Thiết kế giao diện, giao diện tổng thể và đặc tả chi tiết
◦ 7 Cài đặt chương trình và lựa chọn công cụ lập trình
Các bước cài đặt và cấu hình
Hướng dẫn sử dụng chương trình
◦ 8 Kiểm tra và đánh giá
◦ 9 Viết báo cáo tổng kết
nhóm)
Trang 12Tất cả file mã nguồn, file chương trình và file
báo cáo nén zip ghi theo định dạng
báo cáo
Hai V Pham hai@spice.ci.ritsumei.ac.jp 34