4 Tạo nhãn cụm tài liệu
3.2 Mô hình tìm kiếm truyền thống và tìm kiếm thực thể [52]
Entity Extraction thực hiện việc rút trích các thực thể từ các trang tài
liệu được lấy về.
Indexing tạo chỉ mục và chỉ mục ngược của các thực thể được trả về từ mô-dul rút trích trên.
Ranking xếp hạng các thực thể, với hai bước chính: cục bộ (locally), và toàn cục (globally). Như kiến trúc được đề cập ở phần trên do T.Cheng, X.Yan và K.Chang [17] đưa ra, modul xếp hạng gồm có hai thành phần chính: xử lý truy vấn cục bộ (local) và xử lý truy vấn toàn cục (global).
1. Xử lý cục bộ:Từ chỉ mục ngược của tất cả các thực thể thuộc kiểuEi và từ khóakj, modul thực hiện phép nối trên tài liệu để tìm các tài liệu chứa các thực thể thuộc Ei, và các từ khóa kj
thỏa mãn hàm α. Trọng số cục bộ (local score) được xác định dựa vào độ tin cậy của thực thể được rút trích và mối quan hệ ngữ cảnh giữa các thực thể đó với các từ khóa trong từng tài liệu.
CHƯƠNG 3. XẾP HẠNG TRONG MÁY TÌM KIẾM THỰC THỂ 20
Global Query Processing
Ranking Model
Keyword&Entity Indexer
entity
query results, scores
Entity Extractor
Local Query
Local Index … Local Index
Processing Local Query Processing … Aggregation Local Index Local Query Processing Sort Merge Join
, 05 , 71 , , 21 6 2 d d amazon ,... 8 . 0 , 123 , , 32 #phone d6 ... Hình 3.3: Kiến trúc hệ thống[17]
2. Xử lý toàn cục:Module thực hiện nhận truy vấn người dùng, gửi truy vấn cho modul xử lý cục bộ, sau đó đợi kết quả trả về từ modul xử lý cục bộ. Sau khi nhận được tất cả các trọng số cục bộ, modul tiến hành tổng hợp trọng số cho từng bộ thực thể t, kết hợp trọng số cục bộ với trọng số xác định cho t trên toàn tập tài liệu để có giá trị Score cuối cùng cho xếp hạng.
Trong giới hạn của luận văn này, tôi tập trung phân tích thành phần xếp hạng. Vấn đề xếp hạng thực thể được phân tích ở phần tiếp sau và mô hình áp dụng vào bài toán xếp hạng thực thể thuốc được đề cập.
CHƯƠNG 3. XẾP HẠNG TRONG MÁY TÌM KIẾM THỰC THỂ 21 3.2 Xếp hạng thực thể
Máy tìm kiếm thực thể trả về cho người dùng kết quả là danh sách các thực thể. Không chỉ tìm được thực thể mà vấn đề của máy tìm kiếm là những thực thể phù hợp nhất với truy vấn cần được đưa lên từ những kết quả đầu tiên trả về cho người dùng. Do đó xếp hạng thực thể là vấn đề quan trọng, cốt lõi của máy tìm kiếm thực thể.
Giả thiết có tập tài liệu D = {d1, d2, ..., dn}, tập các kiểu thực thể E = {E1, ..., EN}, truy vấn q = α(E1, ..., Em, k1, ..., kl) với kj là các từ khóa, và bộ các thực thể t = (e1, ..., em). Khi đó độ phù hợp của t đối với truy vấn q trên tập tài liệuD được xác định bởi:
Score(q(t)) =p(q(t)|D) =X
d∈D
p(d)×p(q(t)|d) (3.1) Với p(q(t)|d)là xác suất xảy ra quan hệ α của t trên tài liệu d.
Giá trị của Score(q(t)) được dùng để xếp hạng các bộ kết quả trả về, do đó việc xác định hàm Score(q(t)) là vấn đề quan trọng chúng ta quan tâm. Những đặc điểm của tìm kiếm thực thể có ảnh hưởng tới giá trị xếp hạng Score() đã được đưa ra trong [16]:
R-Contextual : Xác suất liên kết giữa thực thể và từ khóa phụ thuộc vào các ngữ cảnh khác nhau và ảnh hưởng bởi hai yếu tố chính:
• Pattern: Từ khóa và thực thể có thể liên kết với nhau theo các mẫu, ví dụ: tên thường xuất hiện liền trước số điện thoại.
• Proximity: Từ khóa và thực thể có thể xuất hiện nhiều lần trong trang web và không giống nhau, khi chúng càng gần nhau thì mối quan hệ càng có ý nghĩa cao hơn.
R-Holistic: Một thực thể có thể xuất hiện cùng với từ khóa nhiều lần trong một trang, do đó cần ước lượng tìm liên kết phù hợp nhất
CHƯƠNG 3. XẾP HẠNG TRONG MÁY TÌM KIẾM THỰC THỂ 22
Global Access Layer Local Recognition Layer
Global Access Layer Local Recognition Layer Validation Layer
Collection Eover D Virtual Collection E’over D’
... ... ... ... ... ...
< amazon customer service, >: ??
< amazon customer service, >: ??
... ... ... ... ... ...
< amazon customer service, >: ??
< amazon customer service, >: ??
... ... ... ... ... ...
< amazon customer service, >: ??
< amazon customer service, >: ??
randomize
Hình 3.4: Impression model [16]
R-Uncertainty: Việc rút trích thực thể không chính xác tuyệt đối, do đó cần có giá trị độ tin cậy tương ứng cho mỗi thực thể.
R-Associative: Cần phân biệt liên kết giữa từ khóa và thực thể là liên kết mang ý nghĩa thực hay chỉ là sự xuất hiện ngẫu nhiên giữa chúng. Do đó cần có kiểm định để loại bỏ những liên kết ngẫu nhiên.
R-Discriminative: Các thực thể trên các trang phổ biến hơn sẽ được đánh giá cao hơn so với trên trang ít phổ biến hơn.
3.2.1 Mô hình Impression
Từ những phân tích về máy tìm kiếm thực thể, nhóm tác giả Tao Cheng[16] đã đưa ra mô hình xếp hạng "Impression Model" hình 3.4. Mô hình gồm 3 tầng: Truy nhập toàn cục (Global Access), nhận dạng cục bộ (Local Recognition), đánh giá (Validation).
CHƯƠNG 3. XẾP HẠNG TRONG MÁY TÌM KIẾM THỰC THỂ 23
DICLOFENAC Tên gốc: Diclofenac
Tên thương mại: VOLTAREN, CATAFLAM, VOLTAREN-XR
Nhóm thuốc và cơ chế: Diclofenac là một thuốc chống viêm phi steroid (NSAID) hiệu quả trong điều trị sốt, đau và viêm trong cơ thể. Các NSAID là những thuốc không gây ngủ giảm các chứng đau từ nhẹ đến vừa do nhiều nguyên nhân gây ra, như chấn thương, thống kinh, viêm khớp và các chứng bệnh cơ xương khác. Vì mỗi bệnh nhân có đáp ứng khác nhau với NSAID,
http://www.cimsi.org.vn/Duoc%20pham/Thuoc%20goc/diclofenac.htm O1 O2 . . . Hình 3.5: Ví dụ rút trích thực thể thuốc Tầng truy nhập
Để đảm bảo tính "R-Discriminative" của tìm kiếm thực thể, nhiệm vụ của modul này xác định trọng số toàn cục p(d), là khả năng để một tài liệu d được quan sát, xét tới. Trong ngữ cảnh máy tìm kiếm với các tài liệu web, giá trị này là độ phổ biến của trang web, hay chính là độ quan trọng của trang web - hạng trang. Và do đó tác giả Tao Cheng đã chọn PageRank (PR) [39] để xác định: p(d) =PR[d]. Ta có:
Score(q(t)) = X
d∈D
PR[d]×p(q(t)|d) (3.2) Tầng nhận dạng
Với mỗi tài liệudđược xét ở tầng truy nhập, trọng số cục bộ - xác suất xuất hiện của từng bộ thực thể t = (e1, ..., em) với các từ khóa k = {k1, ..., kl}
trong tài liệu đó được xác định bởi p(q(t)|d). Gọi γ = (o1, ..., og) là một quan sát (xuất hiện) củaq(t) =α(e1, ..., em, k1, ..., kl)trênd (cóg =m+l). Ví dụ: trong hình 3.5 với E ={#drug}, k ="viêm", q ={"viêm"#drug}
CHƯƠNG 3. XẾP HẠNG TRONG MÁY TÌM KIẾM THỰC THỂ 24 sát γ (tính chất R-Holistic) và do đó p(q(t)|d)cần được ước lượng trên tất cả các quan sát γ đó, [16] đưa ra công thức ước lượng:
p(q(t)|d) = max
γ p(α(γ)) (3.3)
Với p(α(γ))là xác suất/khả năng mà một quan sátγ phù hợp với hàm ngữ cảnhα. Tuy nhiên khi được rút trích từ tài liệud, các quan sátoi biểu diễn một thực thể ei là một thể hiện của kiểu Ei và được xác định với một xác suất p(ei ∈Ei|d)(tính chất R-Uncertainty). Giá trị này do modul rút trích xác định, và lưu lại trong khi đánh chỉ mục nên có thể được xác định một cách đơn giản bằng ei.conf. Vì vậy, ta có:
p(α(γ)) = Y
ei∈γ
ei.conf ×pcontext(α(γ) (3.4) Thay vào công thức 3.3 suy ra:
p(q(t)|d) = max γ Y ei∈γ ei.conf ×pcontext(α(γ) (3.5) Theo tính chất R-Contextual, độ phù hợp của γ trong ngữ cảnh α phụ thuộc vào hai yếu tố: độ phù hợp mẫu (pattern) gọi là αB và độ gần nhau (proximity) giữa thực thể và từ khóa gọi là αP. Do đó ta có:
pcontext(α(γ)) = αB(γ)×αP(γ)
• αB là hàm lô-gic trả về giá trị 0 hoặc 1, cho biết quan sátγ với cácoi
có thỏa mãn ràng buộc về mẫu không. Ví dụ mẫu phrase(o1, ..., om)
yêu cầu các oi phải xuất hiện đúng thứ tự như xác định.
• αP là xác suất quan sát γ phù hợp với t trong cửa sổ quan sát s. Để đơn giản, trong [16] các tác giả đã sử dụng mô hình Span Proximity để ước lượng xác suất này, và đưa ra công thức: αP(γ) =p(s|γ). Thay vào công thức 3.5 ta được:
p(q(t)|d) = max γ Y ei∈γ ei.conf ×αB(γ)×p(s|γ) (3.6)
CHƯƠNG 3. XẾP HẠNG TRONG MÁY TÌM KIẾM THỰC THỂ 25 Vậy công thức Score(q(t)) được xác định:
Score(q(t)) = X d∈D PR[d]×max γ Y ei∈γ ei.conf ×αB(γ)×p(s|γ) (3.7) Tầng đánh giá
Phía bên phải của mô hình (hình 3.4) gọi là một quan sát ảo, tập dữ liệu D0 được lấy ngẫu nhiên từ D để làm đối chứng so sánh những nhận định trên D. Tầng đánh giá kiểm định giả thuyết thống kê, với giả thuyết không H0 (null hypothesis) và G-test theo [16] để đánh giá độ tin cậy thông tin nhận được từ D.
Giả thuyết không: giả thiết rằng liên kết giữa các thực thể, từ khóa trong t = (e1, ..., em, k1, ..., kl) xảy ra ngẫu nhiên. Tập D0 được lấy ngẫu nhiên từ tập D, D0 cần "giống" với D ngoại trừ trong D0 liên kết của các từ khóa và các thực thể hoàn toàn là ngẫu nhiên. Xây dựng tập D0 từ D bằng việc tạo các tài liệu d0 ngẫu nhiên: Đưa ngẫu nhiên các thực thể và từ khóa vào d0, mỗi thực thể, từ khóa được đưa vào độc lập, với xác suất giống như xác suất xuất hiện của chúng trong D. Do đó mối liên hệ giữa thực thể và từ khóa là ngẫu nhiên, nhưng vẫn đảm bảo xác suất quan sát một từ khóa, hay thực thể trong D0 cũng giống như trong D:
p(ei ∈d0) = X
ei∈d,d∈D
p(d) ; p(kj ∈d0) = X
kj∈d,d∈D
p(d)
Do đặc điểm của D0 trên nên giá trị trung bình của độ tin cậy của tất cả các thực thể ej trong D cũng là độ tin cậy của các thực thể ej (xác suất ej làEj) trongD0:ej.conf. Và ta có nếu q(t)không xuất hiện trong d0 thì p(q(t)|d0) = 0, ngược lại nếuq(t)∈d0 thì p(q(t)|d0)là như nhau với mọi d0.
CHƯƠNG 3. XẾP HẠNG TRONG MÁY TÌM KIẾM THỰC THỂ 26 Do đó: p(q(t)|D0) = X d0∈D0&q(t)∈d0 p(d0)×p(q(t)|d0) =p(q(t)|d0)× X d0∈D0&q(t)∈d0 p(d0) =p(q(t)|d0)×p(q(t)∈d0) (3.8) Trong đó p(q(t) ∈ d0) là xác suất của t xuất hiện trong d0. Do từ khóa và các thực thể được lấy độc lập vào d0 nên xác suất xuất hiện củaq(t) trong d0 được tính bởi: p(q(t)∈d0) = j=1 Y m p(ej ∈d0) l Y i=1 p(ki ∈d0)
Tương tự như công thức 3.5, lấy giá trị trung bình ta có: p(q(t)|d0) = (
m
Y
j=1
ej.conf)×pcontext(q(t)|d0)
Trong đó, với q(t)∈d0, tương tự công thức tínhpcontext(q(t)|d) có: pcontext(q(t)|d0) =p(q(t)|s) Từ đó suy ra: pcontext(q(t)|d0) =p(q(t)|s) = P sp(q(t)|s) |s|
Với |s| là số các giá trịs được xét.
Thay các công thức trên vào?? được: p(q(t)|D0) = j=1 Y m p(ej ∈d0) l Y i=1 p(ki ∈d0)× ×( m Y j=1 ej.conf)× P sp(q(t)|s) |s| (3.9)
CHƯƠNG 3. XẾP HẠNG TRONG MÁY TÌM KIẾM THỰC THỂ 27 Sử dụng kiểm định giả thiết thống kê G-test so sánh quan sát p0 với ngẫu nhiên pr để kiểm tra quan sát p0 có phải là ngẫu nhiên không:
Score(q(t)) = 2(p0log p0
pr
+ (1−po) log 1−p0 1−pr
) (3.10)
Do p0, pr 1 nên công thức 3.10 có thể ước lượng: Score(q(t))∝p0log p0 pr Trong đó: p0 =p(q(t)|D) =X d∈D PR(d)×max γ (Y ei∈γ ei.conf ×αB(γ)×p(s|γ)) pτ =p(q(t)|D0) = m Y j=1 ( X ej∈d,d∈D p(d))× l Y i=1 ( X ki∈d,d∈D p(d))× × m Y j=1 ej.conf × P sp(q(t)|s) |s|
3.2.2 Nhận xét, đánh giá mô hình ImpressionƯu điểm Ưu điểm
Với những đặc điểm của tìm kiếm thực thể được phân tích, mô hình Im- pression đã bám sát và xác định hàm tính hạngScore(q(t))để đảm bảo các tính chất đó:
1. Tính chất R-Contextual được thể hiện ở các trọng số αB và p(s|γ 2. Xác định giá trị cực đại theo γ để chọn ra quan sát "phù hợp" nhất
(R-Holistic)
3. Tính chất R-Uncertainty của việc rút trích các thực thể và đánh giá các thực thể được thể hiện ở trọng số ei.conf
4. Bằng kiểm định giả thiết thống kê trong tầng đánh giá (Validate), tính chất R-Associative được đảm bảo
CHƯƠNG 3. XẾP HẠNG TRONG MÁY TÌM KIẾM THỰC THỂ 28 5. Sử dụng trọng số PR- độ quan trọng/phổ biến của trang web (đảm
bảo tính chất R-Discriminative)
Đánh giá chất lượng của xếp hạng các bộ thực thể t tìm được, [16] giới thiệu các phương pháp xếp hạng làm đối sánh:
• N (Naive): xếp hạng theo phần trăm các tài liệu có chứa t.
• L (Local Model Only): xếp hạng dựa theo trọng số cục bộ cao nhất của t trong từng tài liệu.
• G (Global Aggregation Only): xếp hạng theo tổng trọng số của các tài liệu có chứa t. Và PR được chọn là trọng số cho mỗi tài liệu.
• C (Combination of Local Model and Global Aggregation): xếp hạng theo tổng trọng số cục bộ của t trong tất cả các tài liệu chứa t.
• W (EntityRank Without G-test): xếp hạng theo trọng số tổng hợp của Entity Rank nhưng không sử dụng đánh giá G-test (p0).
Và theo đánh giá trong [16] (hình 3.6) độ chính xác kết quả xếp hạng của thuật toán EntityRank (xếp hạng với mô hình Impression) có MRRu0.65
cao hơn gấp nhiều lần những phương pháp xếp hạng đối sánh được đưa ra.
Nhược điểm
Trong tài liệud, một thực thể có thể xuất hiện nhiều lần và phù hợp với ngữ cảnh truy vấn (các quan sát γ) theo tính chất R-Holistic. Việc ước lượng với công thức 3.5 chỉ mang ý nghĩa lựa chọn quan sát phù hợp nhất trong tài liệu. Tuy nhiên, ta có thể dễ dàng nhận thấy số lần xuất hiện trong tài liệu của thực thể mà phù hợp ngữ cảnh cũng có một vai trò quan trọng, ảnh hưởng hạng của thực thể.
CHƯƠNG 3. XẾP HẠNG TRONG MÁY TÌM KIẾM THỰC THỂ 29
Measure EntityRank L N G C W
M R R 0.648 0.047 0.037 0.050 0.266 0.379
M R R 0.648 0.125 0.106 0.138 0.316 0.387
Query Type I MRR Comparison
Measure EntityRank L N G C W
M R R 0.659 0.112 0.451 0.053 0.573 0.509
M R R 0.660 0.168 0.454 0.119 0.578 0.520
Query Type II MRR Comparison
Hình 3.6: So sánh độ chính xác MRR [16]
Ví dụ: trong tài liệu trích chọn các thực thể thuốc hình 3.5, với truy vấn q = {"viêm"#drug}. Nếu chỉ xét trên tài liệu này thì một cách trực giác ta thấy các thực thể thuốc nên được xếp hạng {"Diclofenac", "NSAID", "Voltaren", "Catafram","Voltaren-XR","steroid"}. Nếu chỉ dựa vào công thức 3.5, thì rõ ràng ở đây thuốc "steroid" được xếp hạng đầu tiên- như vậy không hợp lý.
Thêm nữa, từ bảng so sánh độ chính xác của một số phương pháp xếp hạng hình 3.6, ta dễ dàng nhận thấy độ đo C có ý nghĩa cao hơn hẳn L, tức độ đo dựa vào tổng trọng số cục bộ trong từng tài liệu có ý nghĩa cao hơn lấy trọng số cục bộ cao nhất.
3.2.3 Mô hình đề xuất
Mô hình xếp hạng Impression, công thức xác định giá trị để xếp hạng thực thể được đưa ra hoàn toàn dựa vào việc phân tích các đặc điểm và tìm công thức để thỏa mãn các nhận định đó. Tuy nhiên sau khi phân tích nhược điểm ở trên đã cho thấy như vậy là chưa đầy đủ. Học xếp hạng cho ta giải pháp để giải quyết vấn đề, tìm hàm tính hạng "tốt nhất" với các đặc trưng xác định. Qua phân tích các đặc điểm của tìm kiếm để đưa ra các trọng số tương ứng với các đặc trưng của thực thể. Mô hình học xếp hạng thực thể
CHƯƠNG 3. XẾP HẠNG TRONG MÁY TÌM KIẾM THỰC THỂ 30 trong máy tìm kiếm thực thể đề xuất hình 3.7. Trong mô hình, thành phần
Learning Ranking Mô hình ) , (qt f ) , ( , ) , ( , 2 2 1 1 t q f t t q f t i i i i ) 1 ( 2 ) 1 ( 1 ) 1 ( t t q ) ( 2 ) ( 1 ) ( m m m t t q Truy vấn Dữ liệu học ?) , ( ..., ?) , ( ?), , ( 1 2 n t t t q Hàm th ự c th ể ... .. . ... .. . ... .. .
Hình 3.7: Mô hình học xếp hạng trong máy tìm kiếm thực thểđược bao đen là một thành phần xếp hạng trong máy tìm kiếm. Mô-dul học