Th ut tốn khơng gian vector: 31 

Một phần của tài liệu 0762Lìm hiểu Search Engine và xây dựng ứng dụng minh hoạ. (Trang 32)

II. Vn đ so k hp câu truy vn và tài li u 31 

1. Th ut tốn khơng gian vector: 31 

Thu t tốn khơng gian vector tính tốn đ t ng quan gi a câu h i và tài li u b ng cách đnh ngh a m t vector bi u di n cho m i tài li u, và m t vector bi u di n cho câu truy v n. Mơ hình d c trên ý t ng chính là ý ngh a c a m t tài li u thì ph thu c vào các t đ c s d ng bên trong nó. Vector tài li u và vector câu h i sau đó s đ c tính tốn đ xác đ nh đ t ng quan gi a chúng. t ng quan càng l n thì càng ch ng t tài li u đó càng liên quan đ n câu truy v n.

Ví d m t tài li u có 2 t là “t1” và “t2”. Vector xây d ng

đ c s g m hai thành ph n: thành ph n th nh t bi u di n s xu t hi n c a “t1” và thành ph n th hai bi u di n cho s xu t hi n c a “t2”. Cách đ n gi n là đánh 1 vào thành ph n t ng ng n u t đó xu t hi n, và đánh khơng n u t đó khơng xu t hi n. Vector nh sau : < 1, 0 > Tuy nhiên, bi u nh v y không cho th y đ c t n s xu t hi n c a m i t trong tài li u, đ khác ph c tr ng h p này vector đ c bi u bi n nh sau : < 2, 0> .

i v i câu truy v n đã cho, thay vì ch c n c so sánh các t trong tài li u v i t p các t trong câu truy v n, ta nên xem xét đ n tr ng s c a m i t . Ý t ng chính là m t t xu t hi n t p trung trong m t s tài li u thì có trong s cao h n so v i m t t phân b trong

nhi u t p tài li u. Tr ng s đ c tính d a trên t n s tài li u ngh ch

đ o liên quan đ n các t đ c cho :

• N : s t phân bi t trong t p tài li u.

• Tfij : s l n xu t hi n c a t tj trong t p tài li u Di .

• Dfj: s tài li u có ch a t tj.

• Idfj =log10(d/dfj) trong đó d là t ng s tài li u.

Vector đ c xây d ng cho m i tài li u g m có n thành ph n, m i thành ph n là giá tr tr ng s đã đ c tính tốn cho m i t trong t p tài li u. Các t trong t p tài li u đ c gán tr ng s t đ ng d vào t n s xu t hi n c a chúng trong t p tài li u và s xu t hi n c a m i t trong m t tài li u riêng bi t. Tr ng s c a m t t t ng n u t đó xu t hi n th ng xuyên trong m t tài li u và gi m n u t đó xu t hi n

th ng xuyên trong nhi u tài li u. tính tr ng s c a t tj trong tài li u Di ta d a vào công th c :

*

ij ij j

d =tf idf

 

• dij : là tr ng s c a t tj trong tài li u Di .

i v i h th ng tìm ki m theo thu t tốn vector, m i tài li u là m t vector có d ng : (Di(di1, di2, di3 ...din). T ng t , câu truy v n Q c ng là m t vector có d ng Q(w1, w2, w3, ..., wn).

t ng quan SIM gi a câu truy v n Q và tài li u Di đ c tính nh sau : 1 ( , ) * n i j ij i SIM Q D W d = = ∑   2. Tìm ki m Boolean

Thu t tốn tìm ki m Boolean khá đ n gi n. Câu truy v n đ a ph i ph i d ng bi u th c Boolean. Ngh a là ph i tho :

• Ng ngh a rõ ràng.

• Hình th c ng n g n.

Do các t ho c xu t hi n ho c không xu t hi n, nên tr ng s wij thu c {0, 1}

Ví d : Câu truy v n d ng Boolean nh sau : t1 and t2. Sau khi tìm ki m ta xác đnh đ c tài li u liên quan đ n t1 là {d1, d3, d5} ; và các tài li u liên qua đ n t2 là {d3, d5,d7}. Nh v y v i phép and, các

Lê Nguy n ồn Trí – 0851010294 33/70 Võ Nguy n Minh Tuân - 0851010308

tài li u tho yêu c u c a ng i dùng là {d3, d5}. Ph ng pháp này có m t s khuy t đi m sau :

• Các tài li u tr v không đ c s p x p.

• Câu truy v n đòi h i ph i đúng đnh d ng c a bi u th c Boolean gây khó kh n cho ng i dùng.

• K t qu tr v có th là quà ít ho c quá nhi u tài li u. 3. Thu t toán Boolean m r ng

Mơ hình boollean khơng h tr vi c s p x p k t qu tr v b i vì các tài li u ho c tho ho c không tho yêu c u Boolean. T t c các tài li u tho mãn đ u đ c tr v , nh ng khơng có s c l ng nào đ c tính tốn cho s liên quan c a chúng đ i v i câu truy v n.

Thu t toán Boolean m r ng ra đ i nh m h tr vi c x p x p (ranking) k t qu tr v d a trên ý t ng c b n là đánh tr ng s cho m i t trong câu h i và trong tài li u. Ví d câu truy v n (t1 or t2) và m t tài li u D có ch a t t1 v i trong s w1 và t2 v i tr ng s w2. N u w1 và w2 đ u b ng 1 thì tài li u nào có ch a c hai t này s có th t s p x p th p nh t, ý t ng đ n gi n là tính kho ng cách Eclide t đi m (w1, w2) t i g c : 2 2 1 2 ( , i) ( ) ( ) SC W D = w + w   • V i tr ng s là 0.5 và 0.5, 2 2 ( , i) (0.5) (0.5) 0, 707 SC W D = + =

• SC cao nh t khi w1 và w2 đ u b ng 1. Khi đó:

2 2

( , i) (1) (1) 1.414

SC W D = + =

• đ a SC vào kho ng [0,1], Sc đ c tính nh sau:

2 2 1 2 2 ( ) ( ) ( , ) 2 tlvt i w w SC Q d + =

• Cơng th c này là cho tốn t “or” cịn v i tốn t “and”, thay vì tính kho ng cách t i g c, ta s tính kho ng cách đ n đ n (1, 1). Tài li u nào càng g n t i đi m (1, 1) thì nó càng tho yêu c u c a toán t “and”: 2 2 1 2 ^ 2 (1 ) (1 ) ( , ) 1 2 tl vt i w w SC Q d − + − = −

_ M r ng thêm vào tr ng s c a câu truy v n

• N u câu truy v n có trong s là q1 và q2 thì đ t ng quan s

đ c tính nh sau: 2 2 2 2 1 1 2 2 1 2 2 2 1 2 ( q q , i) q w q w SC Q d q q ∨ + = + 2 2 2 2 1 1 2 2 1 2 2 2 1 2 (1 ) (1 ) ( q q , i) q w q w SC Q d q q ∧ − + − = + _ M r ng cho s t tu ý

• tính kho ng cách Eclide trong không gian đa chi u, tham s p đ c s d ng. tham s p ch s bi n đ i t m quan tr ng c a tr ng s trong vi c đánh giá đ thích h p.

• t ng quan SC t ng quát nh sau: 1 ( ) ( , ) i j p p p p p i i j j q q p p i j q w q w SC d Q q q ∨ ⎡ + ⎤ = ⎢ ⎥ + ⎢ ⎥ ⎣ ⎦

• N u p å ∞ : chuy n v h th ng boolean thơng th ng (khơng có tr ng s ).

• N u p = 1: chuy n v h th ng không gian vector.

_ Thêm tốn t c ng

• Các thu t tốn so kh p khơng địi h i ng i dùng nh n bi t các toán t ph c t p. Tr ng s có th đ c gán t đ ng và tài li u

đ c s p x p b ng cách chèn toán t OR vào gi a các t . B t k tài li u nào có ch a ít nh t m t t trong câu truy v n s đ c s p th t v i m t s đi m l n h n 0.

4. Thu t toán xác su t

Thu t tốn so kh p xác xu t tính đ t ng quan gi a câu truy v n và tài li u d a vào xác xu t mà tài li u đó liên quan đ n câu truy v n. Các lý thuy t v xác xu t đ c áp d ng đ tính tốn đ liên quan gi a câu h i và tài li u. Các t trong câu truy v n đ c xem là đ u m i

đ xác đ nh tài li u liên quan. Ý t ng chính là tính xác xu t c a m i t trong câu truy v n và sau đó s d ng chúng đ tính xác xu t mà tài li u liên quan đ n câu truy v n.

Lê Nguy n ồn Trí – 0851010294 35/70 Võ Nguy n Minh Tuân - 0851010308

5. Thu t toán PageRank c a Google:

PageRank là gì?

PageRank là m t thu t toán đ c s d ng trong cơng c tìm ki m Google, đ c phát tri n t i i h c Stanford b i Larry Page và Sergey Brin trong nghiên c u c a h “The Anatomy of a Large-Scale Hypertextual Web Search Engine”.

Hình 3: Minh h a liên k t gi a các site s d ng trong PageRank Thu t toán d a trên m t gi thuy t ph bi n trong gi i hàn lâm,

đó là t m quan tr ng c a m t bài báo đ c quy t đnh b i s các trích d n t bài báo đó c a các bài báo khác. Brin và Page đã đ n gi n gi thuy t này đ dùng cho trang Web: “T m quan tr ng c a m t trang

Web đ c quy t đnh b i s l ng các hyperlink tr đ n nó t các trang Web khác”.

Ch s PageRank c a m t trang web là k t qu b u ch n c a t t c các trang web khác trên toàn th gi i cho website đó v m c đ

quan tr ng c a trang. M i 1 liên k t ng c là 1 phi u b u. Các phi u b u này có m c đ nh h ng khác nhau, s khác nhau đó ph thu c vào ch t l ng ( hay tính quan tr ng ) c a m i trang đ t liên k t ng c.

M t trang đ c liên k t đ n b i các trang có PageRank cao s nh n đ c PageRank cao. N u 1 trang web khơng có liên k t nào đ n thì s khơng có phi u b u nào.

Google tính đi m cho các trang web trên m ng t 0-10. Ch s PageRank này cho bi t trang web có quan tr ng hay khơng theo cách nhìn nh n c a Google. Website nào có ch s PageRank cao ch ng t website đó có ch t l ng cao và quan tr ng. Vì th , khi tìm ki m, Google s u tiên cho các site có PageRank cao.

T t nhiên khi tìm ki m khơng ph i c website có PageRank cao là s đ c x p trang đ u tiên, đi u này còn ph thu c vào vi c b n mu n tìm ki m gì và nhi u y u t khác. Google k t h p PageRank v i m t s heuristics khác đ cho ra k t qu phù h p nh t.

Thu t toán PageRank.

Coi trang A có các trang T1, T2, …, Tn tr t i nó. Tham s c n d có th đ c đ t giá tr trong kho ng 0 đ n 1. Chúng ta th ng đ t

d= 0.85. C(A) đ c đnh ngh a là s link mà trang A tr đ n.

PageRank c a trang A đ c tính theo cơng th c:

1 1 R( ) R( ) R( ) (1 ) ( ) ( ) n n P T P T P A d d C T C T ⎛ ⎞ = − + ⎜ + + ⎟ ⎝ K ⎠

Chú ý r ng t ng t t c PageRank c a t t c các trang web là m t s c đnh.

PageRank PR(A) có th đ c tính tốn b ng cách s d ng 1

thu t tốn l p đ n gi n.

Trong đó:

PR(A) - PageRank c a trang A PR(Tn) - PageRank c a trang Tn C(Tn) - S các link đi ra c a trang Tn

(1-d) - Th hi n r ng t ng PageRank t t c các trang web là m t s c đ nh. Ngồi ra cịn có ý ngh a là n u 1 trang web mà khơng có trang nào tr t i nó thì nó s có PR < 0.15

Ta th y PageRank c a m t trang web đ c tính b ng t ng c a PageRank c a t t c các trang tr t i nó (incoming links), chia cho s các link đi ra c a trang đó ( outgoing links).

Ý ngh a thu t tốn.

Trên quan đi m c a Search Engine, đ nh ngh a thu t toán PageRank cho ta th y có 2 y u t nh h ng đ n v trí c a trang web c a b n trên Google. ó là:

S l ng các link đi đ n ( incoming links): Thơng th ng thì càng nhi u link đi đ n càng t t. Có 1 đi m đáng chú ý mà thu t toán ch ra đó là: N u 1 trang khơng có link tr đ n có th gây ra nh h ng ng c l i đ n PageRank c a trang web mà nó tr t i ( C(T) = 0 ).

S l ng các link đi ra c a các trang web tr t i ( outgoing links): Càng ít càng t t, có ngh a là n u có 2 trang web tr t i

trang c n tính PageRank, 1 trang có 5 link đi ra và 1 trang có 10 link đi ra thì PageRank đ c tính t trang có 5 link đi ra s g p đơi trang có 10 link đi ra.

Lê Nguy n ồn Trí – 0851010294 37/70 Võ Nguy n Minh Tuân - 0851010308

Có th th y thu t tốn PageRank khơng liên quan gì đ n các câu truy v n tìm ki m. Nó ch đ n thu n là m t ph n c a thu t toán x p h ng c a Google.

Có l cách t t nh t đ xem xét PageRank là coi nó nh là 1 y u t b sung, đ c x lý trên các k t qu tìm ki m c a Google sau khi t t c các tính tốn khác đã hồn t t.

Thu t tốn tìm ki m c a Google tr c tiên s ti n hành tìm ki m trên các trang mà nó đã đánh ch m c, sau đó s tính tốn PageRank trên các trang k t qu tìm ki m đ đ a ra danh sách k t qu có s p x p cu i cùng. Các trang có PageRank cao h n s đ c s p x p v trí cao h n.

PageRank đ c tính tốn nh th nào.

ây là công vi c khá ph c t p. PageRank c a m i trang ph thu c vào PageRank c a các trang tr t i nó. Nh ng ta l i khơng th bi t PageRank c a các trang đó cho đ n khi tính đ c PageRank c a các trang tr t i các trang đó…Có th th y d ng nh thu t toán t o thành 1 vịng l p vơ t n mà khơng th tính tốn đ c.

Nh ng th c t chúng ta không làm nh v y. Chúng ta s tính tốn PageRank c a 1 trang mà không c n bi t giá tr cu i cùng c a PageRank c a trang đó.

i u này nghe có v khơng h p lý, nh ng v c b n, m i l n ch y thu t toán chúng ta s đ n g n h n v i giá tr c l ng cu i cùng. Vì v y t t c cơng vi c ph i làm là ghi nh giá tr m i l n tính tốn và l p l i phép toán cho đ n khi k t qu thay đ i trong m t giá tr

đ nh cho phép.

Hãy xem xét m t ví d đ n gi n nh t: có 2 trang web, m i trang l i tr đ n trang kia.

M i trang có 1 link đi ra ( outgoing links). C(A) = C(B) = 1.

Tr ng h p 1

Ban đ u chúng ta ch a bi t đ c PageRank c a t ng trang, vì th ta s đ t b ng 1, sau đó th c hi n phép tính:

d = 0.85

PR(A) = (1-d) + d(PR(B)/1)

PR(B) = (1-d) + d(PR(A)/1)

Theo ví d trên ta tính đ c:

PR(A) = 0.15 + 0.85*1 = 1 PR(B) = 0.15 + 0.85*1 = 1

Nh n th y k t qu không thay đ i so v i PageRank đã c l ng, cho th y PageRank d đoán ban đ u là chính xác.

Chú ý: Ta tính đ c giá tr t t h n cho PR(A) sau phép tính th nh t, vì th ta s s d ng k t qu này trong phép tính th 2 L p l i: PR(A) = 0.15 + 0.85*0.2775 = 0.385875 PR(B) = 0.15 + 0.85*0.385875 = 0.47799375 L p l i: PR(A) = 0.15 + 0.85*0.47799375 = 0.5562946875 PR(B) = 0.15 + 0.85*0.5562946875 = 0.622850484375

C ti p t c nh v y, giá tr c a PageRank c a m i trang s liên t c thay đ i sau m i l n tính tốn. V n đ đ t ra là có th c s PageRank c a m i trang s ti n đ n 1.0? Li u có th PageRank c a m i trang có th v t quá 1.0 hay khơng? Chúng ta có th ki m tra k t qu bài toán t i ph n ph l c. Sau các b c l p thì PageRank c a A và B đ u ti n t i n đ nh và PageRank trung bình b ng 1.

Tr ng h p 3

Chúng ta s th l i v i 1 giá tr c l ng ban đ u l n h n cho PageRank c a m i trang. Gi s c l ng PageRank c a m i trang

Một phần của tài liệu 0762Lìm hiểu Search Engine và xây dựng ứng dụng minh hoạ. (Trang 32)

Tải bản đầy đủ (PDF)

(71 trang)