1
Trường Đại Hc Bách Khoa Hà Ni
Vin CNTT & TT
Đề thi cui k môn hc IT4853 – Tìm kiếm và trình din thông tin
(Trng s 0.7, đề thi gm 2 trang, thi gian làm bài 120 phút, không được s dng tài liu)
Bài 1 – Cu trúc d liu ch mc ngược (1.0 đim)
Cho b d liu văn bn sau:
Doc 1: Đại hc bách khoa Hà Ni
Doc 2: Bách khoa toàn thư khoa hc và công ngh
Doc 3: Đại t đin bách khoa tòan thư
Hãy minh ha bng hình v cu trúc ch mc ngược đơn gin gm t đin và b th định v. Các t trong
t đin phi được sp xếp tăng dn theo th t bng ch cái, danh sách th định v cũng phi được sp xếp theo
th t tăng dn mã văn bn.
Điu kin: tách t theo khong trng; đổi tt c ch hoa thành ch thường; không cn lưu bt k d liu
nào khác ngoài t tách được văn bn; các t nhng t Unicode dng sn theo chun TCVN
6909:2001; th t bng ch cái ca các ký t đã được s dng như sau:
du_cách, a, b, c, g, h, i, k, n, o, t, v, à, á, ò, ô, đ, ư, , , , , ,
Bài 2 – Ước lượng thi gian thc hin gii thut sp xếp (1.0 đim)
Gi s chúng ta cn Tlog
2
T so sánh (ví d, QuickSort) để sp xếp T cp t-mã văn bn. Hãy ước
lượng thi gian thc hin gii thut sp xếp (công thc tng quát kết qu c th tính bng giây) trong hai
trường hp: lưu toàn b d liu trên đĩa trong b nh. Mt cách đơn gin, chúng ta gi s rng nếu lưu d
liu trên đĩa thì cn hai thao tác định v đầu đọc mt thao tác ALU để thc hin mt phép so sánh, còn nếu
s dng b nh thì cn hai thao tác đọc cp mã t-mã văn bn trong b nh và mt thao tác ALU. Các tham s
h thng được cho trong bng sau, (T = 10
6
):
Ký hiu Tham s Giá tr
m Thi gian đọc cp mã t-mã văn bn trong b nh 5E-9 s
s Thi gian định v đầu đọc ca đĩa 5E-3 s
p Thi gian thc hin thao tác ALU 1E-9 s
Bài 3 – Ch mc ngược có v trí, truy vn vi tham s khong cách (1.5 đim)
Cho ch mc ngưc có v trí theo định dng sau:
t: mã-văn-bn: <v trí, v trí, …>; mã-văn-bn: <v trí, …>.
Ch mc ngược:
Tìm-kiếm: 1: <1>; 2: <6>; 3: <2, 15>; 4: <1>.
D-liu: 1: <3>; 3:<4, 16>; 4: <3>; 7: <14>;
Thông-tin: 1: <2>; 2: <12, 16, 21>; 3: <18>; 5: <21, 25>.
Tham s /k trong truy vn t1 /k t2 được hiu tìm t2 trong phm vi k t so vi t1 (có tính đến th
t), trong đó k là s nguyên dương. Như vy nếu k = 1 thì t2 là t lin sau t1.
Hãy xác định: a) Tp văn bn tha mãn truy vn: Tìm-kiếm /2 D-liu
b) Tp giá tr k sao cho truy vn: Tìm-kiếm /k Thông-tin tr v tp kết qu {1, 3}.
c) Tp giá tr k sao cho truy vn Thông-tin /k Thông-tin tr v tp kết qu khác rng.
Bài 4 – Mô hình tìm kiếm thông tin, mô hình không gian vec-tơ (1.0 đim)
S dng ch mc ngược đã cho bài 3. Hãy tính độ tương đồng cosine vi truy vn Tìm-kiếm Thông-tin
(gm hai t Tìm-kiếm Thông-tin) cho ba văn bn vi s 1, 2, 3 sp xếp các văn bn này theo th t
gim dn độ tương đồng cosine. S dng phương pháp xác định trng s t tf.idf theo cu trúc lnc.ltc.
* Gi ý gii hiu SMART: b ba ký t đầu tiên áp dng cho văn bn, b ba t tiếp theo áp dng
cho câu truy vn, các ký t theo th t áp dng cho tf, df, và chun hóa. Ý nghĩa các ký hiu như sau:
l (logarithm): 1 + log(tf) n (no): df = 1 t (idf): log(N/df)
c (cosine): 1/
22
2
2
1
...
M
www +++ trong
đ
ó M là s
t
trong t
đ
i
n.
2
Bài 5 – Đánh giá kết qu tìm kiếm (1.5 đim)
Gi
s
3 v
ă
n b
n phù h
p v
i nhu c
u thông tin th
nh
t 5 v
ă
n b
n phù h
p v
i nhu c
u thông tin
th
2 trong b
d
li
u. K
ế
t qu
đ
ánh giá tính phù h
p cho 10 v
ă
n b
n
đầ
u tiên
đượ
c tr
v
nh
ư
sau (ký t
bên
trái nh
t
đạ
i di
n cho k
ế
t qu
đầ
u tiên
đượ
c tr
v
, R – phù h
p, N – không phù h
p):
Nhu c
u thông tin 1:
H
th
ng 1: RNRNNNNRNN
H
th
ng 2: NRNNNRNRNN
Nhu c
u thông tin 2:
H
th
ng 1: NRNRNNRRNR
H
th
ng 2: RRNRNNRNNR
Hãy so sánh hai h
th
ng d
a trên nh
ng d
li
u
đ
ã cho:
a) Hãy tính MAP c
a hai h
th
ng? Các giá tr
MAP thu
đượ
c cho th
y h
th
ng nào
ư
u vi
t h
ơ
n?
b) Hãy tính các giá tr
F1 cho t
ng t
p k
ế
t qu
tr
v
? Xác
đị
nh giá tr
trung bình c
a
độ
đ
o F1 cho m
i
h
th
ng? D
a trên các giá tr
thu
đượ
c hãy
đư
a ra k
ế
t lu
n h
th
ng nào
ư
u vi
t h
ơ
n trong t
ng tr
ườ
ng
h
p (truy v
n 1, truy v
n 2, tr
ườ
ng h
p t
ng quát)?
c) Trong danh sách có th
t
c
a k
ế
t qu
tr
v
, chúng ta
đị
nh ngh
ĩ
a
đ
i
m cân b
ng là
đ
i
m có
độ
chính
xác b
ng
độ
đầ
y
đủ
. Hãy
đư
a ra
đ
i
u ki
n
để
t
n t
i m
t
đ
i
m nh
ư
v
y và gi
i thích?
* G
i ý: MAP
đượ
c
đị
nh ngh
ĩ
a nh
ư
sau: N
ế
u t
p v
ă
n b
n phù h
p cho nhu c
u thông tin Qq
i
d
ng
{
}
i
m
ddd ,...,,
21
ik
R
là t
p k
ế
t qu
có x
ế
p h
ng t
k
ế
t qu
đầ
u tiên theo th
t
t
i v
ă
n b
n
k
d, thì
= =
=
||
1 1
)(
11
)(
Q
i
m
k
ik
i
i
RP
mQ
QMAP
, trong
đ
ó P(R
ik
) là
độ
chính xác trên t
p R
ik
.
F1 (trung bình
đ
i
u hòa c
a P và R)
đượ
c xác
đị
nh theo công th
c sau F1 = 2PR/(P + R).
Bài 6 – Nén danh sách mã s văn bn (1.0 đim)
a) Gi
s
m
t danh ch s
v
ă
n b
n
đ
ã
đượ
c chuy
n thành danh sách kho
ng cách
đượ
c hóa
v
i s
bytes thay
đổ
i (VB), k
ế
t qu
mã hóa nh
ư
sau (d
li
u
đượ
c cho d
ướ
i d
ng mã nh
phân):
10000101 00000011 10000001 10001001
Hãy gi
i mã VB
đ
ã cho
để
l
y danh sách mã s
v
ă
n b
n ban
đầ
u.
b) Hãy mã hóa danh sách kho
ng cách c
a danh sách mã s
v
ă
n b
n
đ
ó s
d
ng mã gamma (
γ
-code).
Bài 7 – Lưu t đin (1.5 đim)
Xét m
t b
t
v
ng (t
đ
i
n) trong
đ
ó không t
độ
dài 1 ho
c 2 ký t
. Gi
s
r
ng s
t
độ
dài i t
l
thu
n v
i 1/i
2
, v
i i > 2 và
độ
i c
c
đạ
i c
a t
30. Ngoài ra b
t
v
ng có M = 100000 t
s
d
ng 1 byte
để
bi
u di
n 1 ký t
.
a) Hãy vi
ế
t công th
c t
ng quát xác
đị
nh s
l
ượ
ng ký t
c
n s
d
ng
để
vi
ế
t t
t c
t
độ
dài i.
b) N
ế
u chúng ta l
ư
u t
t c
t
nh
ư
m
t chu
i t
dài con tr
t
i t
b
t
đầ
u c
a m
i t
, thì s
c
n
bao nhiêu bytes? (vi
ế
t công th
c t
ng quát và k
ế
t qu
cu
i cùng, gi
s
m
i con tr
chi
ế
m 4 bytes).
c) N
ế
u s
d
ng phân
đ
o
n: l
ư
u con tr
t
i ký t
đầ
u tiên c
a m
i kh
i m
ườ
i t
liên ti
ế
p, s
d
ng m
t byte
đặ
t tr
ướ
c t
đầ
u tiên c
a m
i t
để
l
ư
u
độ
dài c
a t
đ
ó. Hãy tính s
bytes c
n s
d
ng trong tr
ườ
ng
h
p này? (công th
c t
ng quát và k
ế
t qu
cu
i cùng).
* G
i ý: Có th
làm tròn t
ng 1 + 1/2
2
+ 1/3
2
+ … + 1/30
2
=
π
2
/6;
π
2
/6
1,65.
Bài 8 – Phân tích liên kết (1.5 đim)
Cho m
t
đồ
th
web nh
v
i b
n trang A, B, C, D nh
ư
trên hình v
. Hãy
tính PageRank,
đ
i
m gi
i thi
u (hub)
đ
i
m uy tín (authority) cho m
i trang.
Đồ
ng th
i hãy xác
đị
nh th
t
x
ế
p h
ng các trang theo nh
ng tiêu chí này.
PageRank:
Gi
s
t
i m
i b
ướ
c di chuy
n ng
u nhiên, v
i xác su
t 0.2 chúng ta s
nh
y t
i m
t trang b
t k
, v
i xác su
t còn l
i chúng ta s
di chuy
n theo liên
k
ế
t. Xác su
t b
ướ
c nh
y t
i m
i trang là b
ng nhau.
Đim gii thiu/đim uy tín:
Hãy chu
n hóa các giá tr
đ
i
m gi
i thi
u
đ
i
m uy n sao cho giá tr
c
c
đạ
i b
ng 1.
A
B
C
D
3
Đáp án
Bài 1 – Cu trúc d liu ch mc ngược (1.0 đim)
bách
1
2
3
công
2
1
h
c
1
2
khoa
1
2
3
ngh
2
n
i
1
th
ư
2
3
toàn
2
tòan
3
t
3
2
đ
i
n
3
đạ
i
1
3
Các v
ă
n b
n có th
đặ
t tùy ý
đủ
để
hi
u mã c
a các v
ă
n b
n
đ
ã cho. K
ế
t qu
đ
úng hoàn toàn
đạ
t 1
đ
i
m.
Đ
úng c
u trúc ch
m
c ng
ượ
c nh
ư
ng s
p x
ế
p sai
đạ
t 0,5
đ
i
m. N
ế
u không phân bi
t toàn tòan thì ch
đạ
t m
t n
a s
đ
i
m c
a hai tr
ườ
ng h
p v
a nêu.
Bài 2 –
Ước lượng thi gian thc hin gii thut sp xếp (1.0 đim)
Tr
ườ
ng h
p l
ư
u toàn b
d
li
u trên
đĩ
a: [0,5]
T * log
2
T * (2 * s + p) = 10
6
* 6 * log
2
10 * (2 * 5 * 10
-3
+ 10
-9
) = 199315.7 (s)
Th
i gian th
c hi
n gi
i thu
t s
p x
ế
p là 199315.7 (s) (kho
ng 2 ngày 7 gi
)
Tr
ườ
ng h
p l
ư
u toàn b
d
li
u trong b
nh
[0,5]
T * log
2
T * (2 * m + p) = 10
6
* 6 * log
2
10 * (2 * 5 * 10
-9
+ 10
-9
) = 0.22 (s).
Th
i gian th
c hi
n gi
i thu
t s
p x
ế
p là 0.22(s)
Bài 3 – Ch mc ngược có v trí, truy vn vi tham s khong cách (1.5 đim)
Đ
i
u ki
n
để
v
ă
n b
n d th
a mãn truy v
n d
ng T1 /k T2 t
n t
i ít nh
t 1 c
p giá tr
post1 post2 (v
trí xu
t hi
n c
a T1 và T2) sao cho post2 – post1 >= k.
a) T
p v
ă
n b
n th
a mãn truy v
n
Tìm-kiếm /2 D-liu
là: {1, 3, 4} [0,5]
b) T
p giá tr
k sao cho truy v
n
Tìm-kiếm /k Thông-tin
tr
v
t
p k
ế
t qu
{1, 3} là: {3, 4, 5}. N
ế
u k > 5
thì t
p k
ế
t qu
tr
v
là {1, 2, 3} [0,5]
c)
Để
truy v
n
Thông-tin /k Thông-tin
tr
v
t
p k
ế
t qu
khác r
ng thì k>=4, hay t
p giá tr
c
a k là:
{4, 5, …, +Inf} [0,5]
Bài 4 – Mô hình tìm kiếm thông tin, mô hình không gian vec-tơ (1.0 đim)
T
ch
m
c ng
ượ
c suy ra N = 6, các mã s
v
ă
n b
n là 1, 2, 3, 4, 5, 7.
Th
ng kê:
Truy vn D1 D2 D3
tf df tf tf tf
Tìm-kiếm 1
4
1
1
2
Thông-tin 1
4
1
3
1
D liu 0
4
1
0
2
lnc.ltc:
Truy vn D1 D2 D3
(1+log tf) * log(N/df) 1 + log tf 1 + log tf 1 + log tf
Tìm-kiếm 0,18
1,00
1,00
1,30
Thông-tin 0,18
1,00
1,48
1,00
D liu 0,00
1,00
0,00
1,30
c-norm 4,02
0,58
0,56
0,48
4
Bi
u di
n vec-t
ơ
độ
t
ươ
ng
đồ
ng cosine
Truy vn D1 D2 D3
Tìm-kiếm 0,71
0,58
0,56
0,62
Thông-tin 0,71
0,58
0,83
0,48
D liu 0,00
0,58
0,00
0,62
cosine 0,82
0,98
0,78
Th
t
x
ế
p h
ng c
a ba v
ă
n b
n D1, D2, D3 theo truy v
n là: D2, D1, D3
*
Đ
úng bi
u di
n vec-t
ơ
đạ
t 0,5.
Đ
úng
độ
t
ươ
ng
đồ
ng cosine và s
p x
ế
p
đ
úng các v
ă
n b
n
đạ
t 0,5.
Bài 5 – Đánh giá kết qu tìm kiếm (1.5 đim)
a) Tính MAP và so sánh các h
th
ng [0,5]
AP
s1q1
= (1/1 + 2/3 + 3/8) / 3 = 0,68056 AP
s2q1
= (1/2 + 2/6 + 3/8) / 3 = 0,40278
AP
s1q2
= (1/2 + 2/4 + 3/7 + 4/8 + 5/10) / 5 = 0,48571 AP
s2q2
= (1/1 + 2/2 + 3/4 + 4/7 + 5/10) / 5 = 0,76429
MAP
s1
= (0,68056 + 0,48571) / 2 = 0,58313 MAP
s2
= (0,40278 + 0,76429)/ 2 = 0,58353
MAP
s2
> MAP
s1
cho th
y h
th
ng 2
ư
u vi
t h
ơ
n h
th
ng 1 dù chênh l
ch
đ
i
m là không l
n.
b) Tính F1 và so sánh các h
th
ng [0,5]
P
s1q1
= P
s2q1
= 3/10 = 0,3; P
s1q2
= P
s2q2
= 5/10 = 0,5;
R
s1q1
= R
s2q1
= R
s1q2
= R
s2q2
= 1;
F
s1q1
= F
s2q1
= 2 * 0,3 * 1 / (1 + 0,3) = 0,46 F
s1q2
= F
s2q2
= 2 * 0,5 * 1 / (1 + 0,5) = 0,67
Các giá tr
trung bình:
Avg(F1
s1
) = Avg(F1
s2
) = (0,46 + 0,67) / 2 = 0,57
F1
s1
= F1
s2
trong m
i tr
ườ
ng h
p, nên có th
k
ế
t lu
n
độ
đ
o F1 x
ế
p h
ng c
hai h
th
ng nh
ư
nhau trong
tr
ườ
ng h
p này. (L
ư
u ý: P, R F1 c
độ
đ
o áp d
ng cho t
p k
ế
t qu
không x
ế
p h
ng. C
hai h
th
ng
đề
u
tr
v
t
t c
k
ế
t qu
phù h
p trong 10 v
ă
n b
n
đầ
u tiên)
c)
Đ
i
m cân b
ng [0,5]
Theo nh
ư
đị
nh ngh
ĩ
a, K
đ
i
m cân b
ng khi ch
khi P@K = R@K. Gi
s
trong b
d
li
u R v
ă
n b
n
phù h
p, và trong K k
ế
t qu
đầ
u tiên tr
v
có r k
ế
t qu
phù h
p. Chúng ta có:
P@K = R@K
r/K = r/R
N
ế
u R = 0 thì không t
n t
i
đ
i
m cân b
ng.
N
ế
u R > 0,
đ
i
m cân b
ng nh
ư
trong
đị
nh ngh
ĩ
a t
n t
i trong các tr
ườ
ng h
p sau:
K = R
s
v
ă
n b
n tr
v
l
n h
ơ
n ho
c b
ng s
v
ă
n b
n phù h
p trong b
d
li
u (tr
ườ
ng h
p c
ơ
b
n).
r = 0
v
ă
n b
n
đượ
c tr
v
đầ
u tiên không phù h
p.
*5a, 5b: Tính
đ
úng các giá tr
đạ
t 0,25; so sánh
đ
úng
đạ
t 0,25.
*5c:
Đạ
t 0,5 n
ế
u ch
ra
đượ
c tr
ườ
ng h
p c
ơ
b
n.
Bài 6 – Nén danh sách mã s văn bn (1.0 đim)
a) Danh sách kho
ng cách: [0,5]
mã nh
phân: 101 110000001 1001
h
th
p phân: 5 385 9
Danh sách mã s
v
ă
n b
n: 5 390 399
b) Mã gamma c
a danh sách kho
ng cách
giá tr Xóa 1 bít trái Độ dài
101 01 110
110000001 10000001 111111110
1001 001 1110001
K
ế
t q
a: 11001 11111111010000001 1110001
* 6a, xác
đị
nh
đ
úng danh sách kho
ng cách
đạ
t 0,25; xác
đị
nh
đ
úng danh sách mã s
v
ă
n b
n
đạ
t 0,25.
Bài 7 – Lưu t đin (1.5 đim)
a) S
l
ượ
ng t
có
độ
dài iC/i
2
, trong
đ
ó C là h
ng s
. [0,5]
M
i
C
i
=
=
30
32
1
)25,165,1/(
=
MC
C = 2,5 * M
S
ký t
c
n thi
ế
t
để
vi
ế
t t
t c
t
độ
dài i là: 2,5 * M/i
b) S
bytes c
n s
d
ng
để
l
ư
u t
t c
con tr
là 4 * M [0,5]
5
S
bytes c
n s
d
ng
để
l
ư
u các ký t
2,5 * M * (1/3 + 1/4 + … + 1/30)
6,23747*M
T
ng s
bytes c
n s
d
ng là (4 + 6,23747) * M
1023747 bytes.
c) S
phân
đ
o
n là M/10 [0,5]
S
bytes c
n s
d
ng
để
l
ư
u con tr
là 4 * M / 10 = 0,4 * M
S
bytes c
n s
d
ng
để
l
ư
u
độ
dài là M
S
bytes
để
l
ư
u các ký t
không thay
đổ
i và b
ng 6,23747 * M
T
ng s
bytes c
n s
d
ng trong tr
ườ
ng h
p này là : (6,23747 + 1 + 0,4) * M
763747 bytes.
*
Để
tính t
ng 1/3 + 1/4 + ... + 1/30 th
s
d
ng công th
c làm tròn: ln(n) + 0.5772156649 1,5 ho
c tính
theo cách thông th
ườ
ng.
Bài 8 – Phân tích liên kết (1.5 đim)
PageRank: [0,5]
Phương pháp:
nh ma tr
n xác su
t chuy
n r
i s
d
ng ph
ươ
ng pháp l
ũ
y th
a ho
c gi
i h
ph
ươ
ng trình.
Tuy nhiên có th
s
d
ng tính ch
t
đố
i x
ng nh
ư
sau (cách thông th
ườ
ng trình bày
n d
ướ
i):
Trang D không có liên k
ế
t
đ
i vào, do
đ
ó
D = 0.2 * 1/4 = 0.05
Các trang A, B, C có c
u trúc liên k
ế
t nh
ư
nhau, do
đ
ó
A = B = C = (1 – 0.05)/3 = 0.316
Th
t
các trang theo PageRank là: A B C D
Đ
i
m uy tín: [0,5]
Trang D không có liên k
ế
t
đ
i vào, do
đ
ó
đ
i
m uy tín D = 0
Các giá tr
chu
n hóa c
a A, B, C là A = B = C = 1
Th
t
các trang theo
đ
i
m uy tín là: A B C D
Đ
i
m gi
i thi
u: [0,5]
S
d
ng các
đ
i
m uy tín nh
ư
trên chúng ta có các
đ
i
m gi
i thi
u nh
ư
sau:
D = A + B + C
D = 3 A = B = C = 1
Các giá tr
đ
i
m gi
i thi
u sau chu
n hóa:
A = B = C = 0,333 D = 1
Th
t
các trang theo
đ
i
m gi
i thi
u là: D A B C
* Các trang A, B, C giá tr
tham s
nh
ư
nhau, v
y th
t
t
ươ
ng
đố
i b
t k
gi
a ba trang này
đề
u nh
ng
th
t
đ
úng. Tính
đ
úng các tham s
đạ
t 0,25. Xác
đị
nh
đ
úng th
t
đạ
t 0,25.
Tính PageRank thông qua h
ph
ươ
ng trình:
Ma tr
n k
A[4 x 4]:
A B C D
A 0
1
0
0
B 0
0
1
0
C 1
0
0
0
D 1
1
1
0
Ma tr
n xác su
t chuy
n T[4 x 4]:
0 1 0 0 1/4
1/4 1/4 1/4 0,05 0,85 0,05 0,05
0 0 1 0 *0,8 + 1/4
1/4 1/4 1/4 * 0,2 = 0,05 0,05 0,85 0,05
1 0 0 0 1/4
1/4 1/4 1/4 0,85 0,05 0,05 0,05
1/3 1/3 1/3 0 1/4
1/4 1/4 1/4 0,95/3
0,95/3
0,95/3
0,05
G
i A, B, C, D là các giá tr
PageRank c
a các trang t
ươ
ng
ng.
tr
ng thái
n
đị
nh chúng ta có:
[A B C D] * T = [A B C D] (vec-t
ơ
riêng chính trái c
a T).
Chúng ta có h
ph
ươ
ng trình sau:
(1) -0,95A + 0,05B + 0,85C + 0,95D/3 = 0
{ (2) 0,85A - 0,95B + 0,05C + 0,95D/3 = 0
(3) 0,05A + 0,85B - 0,95C + 0,95D/3 = 0
(4) 0,05A + 0,05B + 0,05C - 0,95D = 0
Thay A + B + C + D = 1 vào (4) ta có D = 0,05
Thay D = 0,05 và nhân m
i ph
ươ
ng trình (1), (2), (3) v
i 3/0,05 (60) ta
đượ
c h
ph
ươ
ng trình sau:
(1) -57A + 3B + 51C = -0,95
{ (2) 51A - 57B + 3C = -0,95
(3) 3A + 51B - 57C = -0,95
Gi
i h
chúng ta thu
đượ
c A = B = C = 0,95/3
0,32. Th
t
x
ế
p h
ng các trang theo PageRank là A B C D