III 2.2.3 Biểu diễn văn bản HyperText theo mụ hỡnh quan hệ
3.3.4. Thuật toỏn học quan hệ FOIL
a. Khỏi niệm mệnh đề Horn (Horn Clause)
Mệnh đề Horn là cỏc mệnh đề cú nhiều nhất một literal dương, cú dạng như sau:
H \/ (-L1)\/ (-L2)\/…\/ (-Ln))
Trong đú H, L1,L2,…,Ln gọi là cỏc literal dương, cũn –L1,-L2,…-Ln gọi là cỏc literal õm.
Hay viết dưới dạng luật:
( L1^L2^…^Ln)=>H. Dạng này được gọi là luật First_Order L1,L2,…Ln gọi là tập cỏc tiền điều kiện. H gọi là kết luận. VD về cỏc luật First_Order:
If Parents(x,y) then Ancestor (x,y)
If (Parents(x,z) ^ Ancestor(z,y) ) then Ancestor(x,y). Trong đú Parents, Ancestor,… gọi là cỏc predicate
b.Thuật toỏn Foil
FOIL đ−ợc đề xuất và phát triển bởi Quinlan (Quinlan, 1990). FOIL học các tập dữ liệu chỉ bao gồm hai lớp, lớp cỏc vớ dụ “d−ơng” và vớ dụ “õm”. FOIL học mô tả lớp đối với lớp “d−ơng”. Đầu vào của Foil gồm cỏc tiền điều kiện và cỏc kết luận. . Đầu ra là một tập cỏc luật sinh từ cỏc tiền điều kiện và cỏc kết luận đú. Mỗi bước Foil sẽ thờm một literal vào cỏc tiền điều kiện của luật đang huấn luyện. Thuật toỏn sử dụng hàm Foil_Gain để tớnh toỏn lựa chọn một literal trong tập cỏc literal ứng cử
FOIL là mô hình học máy không tăng trong thuật toán “leo đồi” sử dụng metric dựa theo lý thuyết thông tin xây dựng một luật bao trùm lên dữ liệu. Trong Foil cú hai trạng thỏi chớnh :
2. Conquer State (trạng thỏi chế ngự): Kết hợp cỏc literal để xõy dựng thõn của mệnh đề.
Pha “tách rời” của thuật toán bắt đầu từ luật mới trong khi pha “chế ngự” xây dựng một liên kết các literal làm thân của luật. Mỗi luật mô tả một tập con nào đó các ví dụ d−ơng và không có ví dụ âm. L−u ý rằng, FOIL có hai toán tử: bắt đầu một luật mới với thân luật rỗng và thêm một literal để kết thúc luật hiện tại. FOIL kết thúc việc bổ sung literal khi không còn ví dụ âm đ−ợc bao phủ bởi luật, và bắt đầu luật mới đến khi tất cả mỗi ví dụ d−ơng đ−ợc bao phủ bởi một luật nào đó.
Các ví dụ d−ơng đ−ợc phủ bởi mệnh đề sẽ đ−ợc tách ra khỏi tập dạy và quá trình tiếp tục để học các mệnh đề tiếp theo với các ví dụ còn lại, và kết thúc khi không có các ví dụ d−ơng thêm nữa.
Sau đõy là thiết kế bước 1 của FOIL: 1.Gọi POS là tập cỏc vớ dụ dương. 2. Gọi NEG là tập cỏc vớ dụ õm
3. Đặt NewClauseBody bằng rỗng 4. Trong khi POS chưa rỗng thực hiện:
Separate: (Bắt đầu một luật mới)
5. Loại khỏi POS tất cả những vớ dụ thoả món NewClauseBody. 6. Đặt lại NEG là tập cỏc vớ dụ õm ban đầu
7. Đặt lại NewClauseBody bằng rỗng Trong khi NEG chưa rỗng thực hiện.
. Conquer (Xõy dựng thõn mệnh đề)
8. Chọn Literal L
9. Kết hợp vào NewClauseBody.
10. Loại khỏi NEG những vớ dụ mà khụng thoả món L.
FOIL sử dụng thuật toán leo đồi để bổ sung các literal với thông tin thu đ−ợc lớn nhất vào một luật. Với mỗi biến đổi của một khẳng định P, FOIL đo l−ợng thông tin đạt đ−ợc. Để lựa chọn literal với thông tin đạt đ−ợc cao nhất, nó cần biết bao nhiêu bộ d−ơng và âm hiện tại đ−ợc bảo đảm bởi các biến đổi của mỗi khẳng định đ−ợc xác định theo cách dàn trải.
Cụng thức tớnh infortmaion gain của Foil là:
Gain(Literal)=T++ *(log2(P1/P1+N1) - log2(P0/P0+N0))
P0 và N0 là số vớ dụ dương và õm trước khi thờm một literal L vào mệnh đề P1 và N1 là số vớ dụ dương và õm sau khi thờm literal L vào mờnh đề.
T++ là số vớ dụ dương cố định cả trước và sau khi thờm literal .(nghĩa là số vớ dụ đỳng với cả hai luật R và R’_là R sau khi đó thờm vào literal L)
Sau đõy là một vớ dụ minh họa cho thuật toỏn FOIL.
Ta muốn học mối quan hệ Grandaughter(x,y) từ cỏc quan hệ (Predicate) Grandaughter, Father, Mail, Femail và cỏc hằng số: Victor, Sharon, Bob, Tom.
Tập vớ dụ: Là những giả định liờn quan đến cỏc Predicate Grandaughter, Father, Mail, Femail và cỏc hằng số Victor, Sharon, Bob, Tom, trong đú cú cỏc vớ dụ dương là Grandaughter(Victor, Sharon), Father (Sharon, Bob), Father(Tom, Bob), Femail(Sharon), Father(Bob, Victor). Cỏc vớ dụ cũn lại là õm (Chẳng hạn như -Grandaughter(Tom,Bob),-Father(Victor, Victor),…).
Để chọn cỏc literal cho luật, FOIL xột cỏc cỏch kết hợp khỏc nhau của cỏc biến x,y,z,t với cỏc hằng số ở trờn. Chẳng hạn bước khởi đầu khi luật chỉ là :
- Bước 1:
Luật khởi đầu: Grandaughter (x,y) Å
Sự kết hợp {x/Bob, y/Sharon}sẽ cho ta một vớ dụ dương vỡ trong dữ liệu huấn luyện Grandaughter(Bob, Sharon) là đỳng.
Cũn 15 cỏch kết hợp cũn lại sẽ tương ứng với cỏc vớ dụ õm vỡ khụng tỡm thấy sự xỏc nhận tương ứng trong tập huấn luyện
- Mỗi trạng thỏi tiếp theo, luật được hỡnh thành dựa trờn tập cỏc kết nối mà cho ra cỏc vớ dụ dương, õm. Khi mỗi literal được thờm vào luật, tập cỏc vớ dụ õm dương sẽ thay đổi. Chẳng hạn xột literal tiếp theo để đề cử vào luật là Father (y,z), thỡ thay vớ kết nối {x/Bob,y/Sharon} ở trờn, kết nối {x/ Bob, y/Sharon,z/ Bob} mới tưong ứng với một vớ dụ dương. Tại mỗi bước, số vớ dụ õm, dương sẽ được tớnh toỏn để cú được độ lấy thụng tin Foil_Gain (L,R).