Tải bản đầy đủ (.pdf) (49 trang)

Làm giàu đặc trưng cho bài toán phân lớp truy vấn

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.08 MB, 49 trang )

3


Mục lục
Lời cảm ơn 1
Lời cam đoan 2
Mục lục 3
Danh sách các hình vẽ 5
Danh sách các bảng 6
Mở đầu 7
Chương 1. Bài toán phân lớp truy vấn 9
1.1. Giới thiệu bài toán phân lớp truy vấn 9
1.2. Một số khái niệm trong bài toán phân lớp truy vấn 11
1.3. Các vấn đề liên quan đến bài toán phân lớp truy vấn 12
1.4. Các ứng dụng của bài toán phân lớp truy vấn 12
1.4.1. Ứng dụng trong các máy siêu tìm kiếm 12
1.4.2. Tìm kiếm theo chiều dọc 13
1.4.3. Quảng cáo trực tuyến 13
1.5. Tóm tắt chương một 14
Chương 2. Các mô hình biểu diễn câu truy vấn 15
2.1. Giới thiệu 15
2.2. Mô hình không gian vectơ 15
2.2.1. Phương pháp biểu diễn Boolean 15
2.2.2. Phương pháp biểu diễn dựa trên tần số từ khóa 15
2.2.3. Phương pháp biểu diễn dựa trên nghịch đảo tần số văn bản 16
2.2.4. Phương pháp biểu diễn dựa trên TF-IDF 16
2.2.5. Các độ đo được sử dụng trong mô hình không gian vectơ 17
2.3. Mô hình xác suất 17
2.4. Tóm tắt chương hai 18
Chương 3. Mô hình phân tích chủ đề ẩn với LDA 19
3.1. Giới thiệu về LDA 19


3.2. Phân tích chủ đề ẩn với LDA 19

4


3.3.
 Một số ví dụ các chủ đề ẩn được sinh ra bởi LDA 22
3.4. Tóm tắt chương ba 24
Chương 4. Đề xuất mô hình làm giàu câu truy vấn 25
4.1. Ý tưởng của mô hình đề xuất 25
4.2. Hai mô hình làm giàu nội dung câu truy vấn 26
4.2.1. Mô hình 1: Tìm kiếm trên Google các câu truy vấn trong tập dữ
liệu 26

4.2.2. Mô hình 2: Tìm kiếm trên Google câu truy vấn của người sử dụng
28

4.3. Tóm tắt chương bốn 29
Chương 5. Thực nghiệm và đánh giá 30
5.1. Môi trường thực nghiệm 30
5.2. Bộ dữ liệu được sử dụng trong quá trình thực nghiệm 31
5.3. Tìm kiếm các câu truy vấn của bộ dữ liệu trên máy tìm kiếm Google 32
5.4. Tập dữ liệu kiểm thử và tập dữ liệu đào tạo 32
5.5. Thuật toán phân lớp truy vấn được sử dụng trong thực nghiệm 33
5.6. Các đại lượng đánh giá hiệu suất phân lớp 33
5.7. Các bước tiến hành thực nghiệm 35
5.7.1. Thực nghiệm với mô hình 1 35
5.7.2. Thực nghiệm với mô hình 2 40
5.8. Kết quả thực nghiệm 43
5.8.1. Kết quả phân lớp với các câu truy vấn ban đầu 43

5.8.2. Kết quả phân lớp với các câu truy vấn đã được làm giàu 43
5.8.3. Nhận xét về các kết quả thực nghiệm 44
Kết luận 46
Tài liệu tham khảo 47




Thank you for evaluating AnyBizSoft PDF Splitter.
A watermark is added at the end of each output PDF file.
To remove the watermark, you need to purchase the software from
/>5


Danh sách các hình vẽ
Hình 1.1: Tần số các câu truy vấn với các độ dài khác nhau của KDD Cup 2005
9

Hình 1.2: Kiến trúc máy siêu tìm kiếm 13
Hình 3.1: Minh họa mô hình sinh trong LDA 20
Hình 4.1: Mô hình 1 – Tìm kiếm trên Google các câu truy vấn trong tập dữ liệu
27

Hình 4.2: Mô hình 2 – Tìm kiếm trên Google câu truy vấn của người sử dụng 29




















6


Danh sách các bảng
Bảng 1.1: Độ chính xác của 10 kết quả cao nhất của KDD Cup 2005 11
Bảng 1.2: Độ đo F của 10 kết quả cao nhất KDD Cup 2005 11
Bảng 3.1: Mô hình sinh trong LDA 20
Bảng 3.2: Chủ đề ẩn số 21 22
Bảng 3.3: Chủ đề ẩn số 111 23
Bảng 3.4: Chủ đề ẩn số 138 23
Bảng 3.5: Chủ đề ẩn số 166 23
Bảng 3.6: Chủ đề ẩn số 317 24
Bảng 5.1: Bộ dữ liệu sử dụng trong quá trình thực nghiệm 31
Bảng 5.2: Phân bố các truy vấn trong tập kiểm thử 32
Bảng 5.3: Ma trận lẫn lộn 33
Bảng 5.4: Chủ đề ẩn số 21, lớp OTHER 36
Bảng 5.5: Chủ đề ẩn số 111, lớp AUTOS 36

Bảng 5.6: Chủ đề ẩn số 138, lớp SHOPPING 37
Bảng 5.7: Chủ đề ẩn số 166, lớp ENTERTAINMENT 37
Bảng 5.8: Chủ đề ẩn số 317, lớp COMPUTING & ELECTRONICS 37
Bảng 5.9: Một số kết quả phân lớp sau khi làm giàu câu truy vấn theo mô hình 1
38

Bảng 5.10: Một số kết quả phân lớp sau khi làm giàu câu truy vấn theo mô hình
2 41












7


Mở đầu
Sự phát triển nhanh chóng của mạng Internet và nhu cầu tìm kiếm thông
tin của người sử dụng ngày càng cao dẫn đến việc cần phải nâng cấp các hệ
thống tìm kiếm hiện có. Hầu hết các máy tìm kiếm hiện tại đều áp dụng tìm
kiếm theo từ khóa và trả về danh sách các tài liệu chứa các từ khóa đó. Số lượng
các tài liệu trả về của các máy tìm kiếm có thể lên tới hàng triệu trong khi người
sử dụng ít khi xem quá 10 tài liệu đầu tiên. Để làm giảm số lượng và tăng độ

chính xác của kết quả tìm kiếm, nhiều hướng nghiên cứu đã được mở ra như:
o Tìm kiếm theo ngữ nghĩa của câu truy vấn
o Tìm kiếm dựa vào lịch sử tìm kiếm của người sử dụng
o Tìm kiếm dạng câu hỏi – trả lời (ví dụ: www.wolframalpha.com
)
o Phân lớp câu truy vấn của người sử dụng trước khi tìm kiếm để thu
hẹp không gian tìm kiếm
o …
Trong đó hướng nghiên cứu phân lớp câu truy vấn của người sử dụng đang được
sự quan tâm của nhiều nhà khoa học, nhiều nhóm nghiên cứu. Ví dụ: chủ đề của
cuộc thi thường niên năm 2005 của Hội nghị về Khai phá kiến thức và dữ liệu
của ACM (The ACM Conference on Knowledge and Data Discovery – KDD),
được gọi tắt là KDD Cup 2005 [22], là về phân lớp truy vấn. Sự phân lớp các
câu truy vấn của người sử dụng sẽ làm tăng tính hiệu quả và tăng hiệu năng của
các máy tìm kiếm. Về cơ bản bài toán phân lớp truy vấn (query classification)
có thể coi là một trường hợp đặc biệt của bài toán phân lớp văn bản (text
classification) khi văn bản rất ngắn (thường dưới 10 từ, độ dài trung bình của
một câu truy vấn là từ 2,0 đến 2,6 từ [4]). Tuy vậy bài toán phân lớp truy vấn có
những đặc điểm riêng và kết quả trả về thường không được chính xác như bài
toán phân lớp văn bản. Thách thức lớn nhất của bài toán phân lớp truy vấn là số
lượng từ trong câu truy vấn của người sử dụng quá ít nên độ tập trung của các từ
trong các lớp rất thấp và lượng thông tin trong câu truy vấn không nhiều.
Với việc chọn đề tài luận văn “Làm giàu đặc trưng cho bài toán phân
lớp truy vấn”, chúng tôi tập trung vào việc nghiên cứu, khảo sát, đánh giá và đề
xuất ra một phương pháp trích chọn đặc trưng và bổ sung vào truy vấn ban đầu
nhằm tăng thêm thông tin cho câu truy vấn.

8



Ngoài phần mở đầu và phần kết luận, luận văn được tổ chức thành năm
chương như sau:
o Chương 1: Bài toán phân lớp truy vấn giới thiệu bài toán phân lớp
truy vấn, các khái niệm và các ứng dụng của bài toán.
o Chương 2: Các mô hình biểu diễn câu truy vấn trình bày các mô
hình cơ bản để biểu diễn câu truy vấn và các phương pháp lựa chọn
đặc trưng trong biểu diễn câu truy vấn.
o Chương 3: Mô hình phân tích chủ đề ẩn với LDA giới thiệu mô
hình phân tích chủ đề ẩn với LDA (Latent Dirichlet Allocation).
o Chương 4: Đề xuất phương pháp làm giàu nội dung truy vấn trình
bày các đề xuất của tác giả để làm giàu nội dung câu truy vấn.
o Chương 5: Thực nghiệm và đánh giá trình bày quá trình thử nghiệm
của luận văn và đưa ra một số đánh giá, nhận xét các kết quả đạt được.















9




C
C
hươn
g
g
1.
B
B
ài toá
n
n
phân
l
l
ớp tru
y
y
vấn
1.1. Giới thi


u bài to
á
á
n phân l


p tru

y

v
ấn

toá
n
này
(vì
c
vấn
phâ
n
Th

của
chí
n
đặc
nhằ
n
vào
OR
G
tru
y
Hìn
Bài to
á
n

thuộc l
ĩn
có liên q
u
c
âu truy v

m
ột tr
ư
n
lớp truy

nhất, các
m
ột câu
t
n
h
t
ả (bị
n
trưng để
c
n
g, khôn
g
lớp FR
U
G

ANIZA
T
y
vấn vì th
ế
h 1.1: Tầ
n
á
n phân lớ
p
n
h vực tì
m
u
an
m
ật t
h
ấn và vă
n
ư
ờng hợp
vấn có h
a
câu truy
v
t
ruy vấn l
à
n

hiễu) ho

c
ó thể sử
d
g
xác định
U
ITS (các
T
IONS (c
á
ế
khó hơ
n
n
số các c
â
p
văn bả
n
m
kiếm t
h
h
iết đến
n
n
bản đều
l

đặc biệt
c
a
i điểm k
h
v
ấn của n
g
à
khoảng
3

c không
t
d
ụng tron
g
được là t
h
loại ho
a
á
c
t
ổ chứ
c
n

r
ất nhiều

n
và bài to
h
ông tin
(
n
hau. Nế
u
l
à
m
ột tậ
p
c
ủa bài to
á
h
ác biệt c
ơ
g
ười sử d

3

t
ừ, xem
t
huộc tập
g
bộ phâ

n
h
uộc lớp
n
a
quả), n
h
c
), vì có t

so với b
à
án phân l

(
informati
o
u
coi
m
ột
p
hợp các
t
á
n phân l

ơ
bản so v



ng thườ
n
Hình 1.1
)
t
ừ vựng,
n
lớp. Thứ
n
ào, ví
d

h
ưng cũn
g

n tại côn
g
à
i toán ph
â

p truy v

o
n retrie
v
câu truy
v

t
ừ) thì bà
i

p văn bả
n

i
b
ài toá
n
n
g
r
ất ngắ
n
)
và có th

vì thế câ
u
hai, nhiề
u

: từ “app
l
g
có thể
g
ty Appl

e
â
n lớp vă
n

n đều là
n
v
al) và ha
i
v
ấn là m

i
toán phâ
n
n
. Tuy vậ
y
n
phân lớ
p
n
(độ dài
t

chứa nh

u
truy vấ

n
u
câu tru
y
l
e” có thể
được xế
p
e
. Bài toá
n
n
bản.
n
hững bà
i
i
bài toá
n

t văn bả
n
n
lớp tru
y
y
,
b
ài toá
n

p
văn bản
.
t
rung bìn
h

ng từ sa
i
n

r
ất í
t
vấn nhậ
p
được xế
p
p
vào lớ
p
n
phân lớ
p
i

n

n


y

n

.

h

i

t

p

p

p

p


â
u truy v


n với các độ dài khác nhau c


a KDD
C

C
up 2005
10


Một số ví dụ về các truy vấn của người sử dụng trên các máy tìm kiếm
(lấy từ lưu vết các câu truy vấn của AOL năm 2004): 2004 models, chevy
beretta z26, mahindra tractor cabs, unknown country, virginia vital statistics,
symptoms of liver cancer, jim rawling, cbssportsline, sporting goods, draft,
general liability insurance for specialty contra, eureke springs, disney cim,
houilahan lowrence, ohiobureauofemploymentservices, 018 weeks pregnant,
100 7 wmms, 12guagepumpshotgun, airportparkandride, los angeles times
newspaper april 1946, …
Luận văn này hướng đến việc nghiên cứu bài toán phân lớp truy vấn với
các truy vấn của người sử dụng trên các máy tìm kiếm. Các truy vấn này không
có cấu trúc cụ thể và rất khó đoán. Các nghiên cứu về bài toán phân lớp truy vấn
loại này thường được chia làm hai kỹ thuật [4]:
o Phân lớp truy vấn bằng tay (manual query classification)
o Phân lớp truy vấn tự động (automated query classification).
Các nghiên cứu về phân lớp truy vấn bằng tay chủ yếu để tìm hiểu hành vi
của người sử dụng khi truy vấn trên các máy tìm kiếm và tìm hiểu về tính chất
của các câu truy vấn. Các nghiên cứu này sử dụng và phân tích lưu vết (logs) các
truy vấn của người sử dụng trên các máy tìm kiếm như AltaVista, Lycos, AOL,
MSN, … Phân lớp truy vấn bằng tay có độ chính xác cao nhưng chỉ có thể ứng
dụng với các bộ dữ liệu nhỏ (vài chục nghìn câu truy vấn).
Các nghiên cứu về phân lớp truy vấn tự động hướng về hai mục đích:
nâng cao hiệu quả của bộ phân lớp [3, 4, 6, 7, 8, 13] và làm giàu câu truy vấn
(bổ sung thêm thông tin cho câu truy vấn) [2, 15, 16]. Vấn đề hiện nay của phân
lớp truy vấn tự động là hiệu quả của các thuật toán phân lớp truy vấn tự động
chưa cao, do đó chưa có nhiều máy tìm kiếm ứng dụng phân lớp truy vấn tự

động. Tại cuộc thi KDD Cup 2005 [13, 22], nhiệm vụ là phân lớp bộ dữ liệu
gồm 800.000 câu truy vấn được lưu vết trong máy tìm kiếm MSN vào 67 lớp đã
được định nghĩa trước. Các bộ truy vấn tốt nhất cũng chỉ đạt được độ chính xác
(precision) gần 43%, giá trị độ đo F (F-measure) tốt nhất là gần 45% (xem Bảng
1.1 và Bảng 1.2). Các nghiên cứu về phân lớp truy vấn tự động cũng cho thấy độ
chính xác của các thuật toán phân lớp truy vấn tự động thường thấp hơn 80% [4,
6, 13, 14, 16]. Mục đích của luận văn này là nghiên cứu và đề xuất phương pháp
làm giàu câu truy vấn.


11


Bảng 1.1: Độ chính xác của 10 kết quả cao nhất của KDD Cup 2005
STT ID Độ chính xác
1 37 0,423741
2 21 0,340883
3 3 0,339435
4 10 0,334048
5 13 0,326408
6 35 0,32075
7 15 0,271791
8 9 0,264312
9 7 0,263953
10 26 0,255726

Bảng 1.2: Độ đo F của 10 kết quả cao nhất KDD Cup 2005
STT ID Độ đo F
1 22 0,444395
2 8 0,405453

3 35 0,384136
4 13 0,357127
5 10 0,342248
6 21 0,34009
7 14 0,312812
8 9 0,306612
9 7 0,306359
10 26 0,274579

1.2. Một số khái niệm trong bài toán phân lớp truy vấn
Để tìm hiểu bài toán phân lớp truy vấn, ta cần một số khái niệm cơ bản
sau [2, 15]:
o Định nghĩa 1: Một từ là một dãy hữu hạn các ký tự liên tiếp và không có dấu
cách.
o Định nghĩa 2: Một câu truy vấn là một dãy hữu hạn các từ.
o Định nghĩa 3: Một lớp là một tập hữu hạn các câu truy vấn.
o Định nghĩa 4 (Bài toán phân lớp truy vấn):
Cho câu truy vấn q thuộc tập tất cả các câu truy vấn Q
All
và một tập Q
gồm M câu truy vấn: đã được phân vào n lớp C
1
, C
2
, …, C
n

}, ,,{
21 M
qqqQ =


12



}, ,,{
21 N
tttT
tập từ vựng T gồm N từ khóa:
=
, ta phải xác định câu truy vấn q
thuộc lớp nào trong n lớp trên.
o Định nghĩa 5 (Hàm phân lớp truy vấn):
Hàm phân lớp truy vấn f
Q2C
là hàm ánh xạ từ tập Q
All
vào tập các lớp cho
trước:
}, ,
2 nCQ
Cf ,{:
21All
CCQ →

1.3. Các vấn đề liên quan đến bài toán phân lớp truy vấn
Các vấn đề có liên quan đến bài toán phân lớp truy vấn gồm [16]:
o Tìm kiếm thông tin
o Xử lý ngôn ngữ tự nhiên
o Khai phá dữ liệu web

o Khai phá dữ liệu văn bản
o Phân lớp văn bản
o Học máy
o Phân tích lưu vết truy vấn
o …
1.4. Các ứng dụng của bài toán phân lớp truy vấn
Bài toán phân lớp truy vấn có thể được ứng dụng trong các lĩnh vực sau
[17]:
1.4.1. Ứng dụng trong các máy siêu tìm kiếm
Các máy siêu tìm kiếm (metasearch engine, xem Hình 1.2) gửi câu truy
vấn của người sử dụng tới nhiều máy tìm kiếm và tập hợp các kết quả tìm kiếm
cao nhất của các máy tìm kiếm này vào một danh sách. Các máy tìm kiếm trong
siêu máy tìm kiếm thuộc các lĩnh vực khác nhau. Với mỗi máy tìm kiếm, sau khi
phân lớp câu truy vấn sẽ tìm dữ liệu trong các lớp này và trả về siêu máy tìm
kiếm để trả kết quả về người sử dụng.


13


H
ì
ì
nh 1.2:
K
1.4.
2

các
tru

y
thì
t
tươ
n
1.4.
3

sử
d
giú
p
cáo
2
. Tìm ki
ế
Các m
á
tài liệu (
đ
y
vấn của
n
t
a có thể
t
n
g ứng),
d
3

. Quản
g

Máy tì
m
d
ụng web
p
người s

cũng giả
m
ế
m theo c
h
á
y tìm ki
ế
đ
ã được x
ế
n
gười sử
d
t
hu hẹp đ
ư
d
o đó kết
q

cáo trực
m
kiếm c
u
đang qua

dụng we
b
m
được c
h
hi
ều dọc
ế
m hiện t

ế
p hạng)
c
d
ụng, ng
h
ư
ợc khôn
g
q
uả trả lại
tu
y
ến

u
ng cấp c
á
n tâm kh
i
b
tiết kiệ
m
h
i phí quả
n
K
iến trúc
m
m
áy siêu t
ì
ì
m kiếm

i đều áp
c
hứa các
t
h
ĩa là biết
g
gian tì
m
cho ngư


á
c quảng
c
i
họ tiến
h
m
thời gia
n
n
g cáo.
d
ụng tìm
t
ừ khóa đ
ó
được câ
u
m
kiếm (c
h
i dùng sẽ
c
áo liên q
u
h
ành tìm
k
n

tìm kiế
m
kiếm the
o
ó
. Nếu ta
u
truy vấn
h
ỉ tìm tài
ít hơn và
c
o

t
ừ khóa
phân lớp
thuộc l
ĩ
n
h
liệu tron
g
c
hính xác
và t
r
ả v

được câ

u
h
vực nà
o
g
lĩnh vự
c
hơn.


u

o

c

u
an đến c
á
k
iếm trên
m
trong k
h
á
c vấn đề
các máy
h
i những
n

mà ngườ
i
tìm kiếm
,
n
hà quản
g
i

,

g

14


1.5. Tóm tắt chương một
Trong chương một, luận văn giới thiệu về bài toán phân lớp truy vấn, các
khái niệm trong bài toán phân lớp truy vấn, các vấn đề liên quan và các ứng
dụng của bài toán này. Trong chương hai luận văn sẽ giới thiệu các mô hình biểu
diễn câu truy vấn.



















15


Chương 2. Các mô hình biểu diễn câu truy vấn
2.1. Giới thiệu
Bài toán phân lớp truy vấn là trường hợp đặc biệt của bài toán phân lớp
văn bản, vì vậy có thể áp dụng các mô hình biểu diễn văn bản để biểu diễn câu
truy vấn. Các mô hình cơ bản để biểu diễn văn bản gồm [1, 11]:
o Mô hình không gian vectơ
o Mô hình xác suất
2.2. Mô hình không gian vectơ
Cho một tập Q gồm M câu truy vấn:
}, ,,{
21 M
qqqQ
=
và tập từ vựng T
gồm V từ khóa , trong đó từ khóa t
i
xuất hiện n
ij

lần trong câu
truy vấn q
j
.
}, ,,{
21 V
tttT =
Mô hình không gian vectơ (vector space model) biểu diễn câu truy vấn
trong một không gian nhiều chiều, mỗi chiều tương ứng với một từ khóa trong
tập các từ vựng T. Một từ với độ quan trọng của nó được xác định bằng một
phương pháp đánh trọng số. Có bốn phương pháp biểu diễn vectơ:
2.2.1. Phương pháp biểu diễn Boolean
Trong phương pháp biểu diễn Boolean, trọng số của các từ khóa là 0 hoặc
1. Khi đó mỗi câu truy vấn được biểu diễn bởi vectơ:
j
q
), ,,(
)()2()1( V
jjjj
qqqq =
r
với



>
=
=
0 ,1
0 ,0

)(
ij
ij
i
j
nif
nif
q

2.2.2. Phương pháp biểu diễn dựa trên tần số từ khóa
Giá trị trọng số của mỗi từ khóa được xác định dựa trên số lần xuất hiện
của từ khóa trong câu truy vấn (term frequency – TF):
), ,,(
)()2()1( V
jjjj
qqqq =
r
với
),(
)(
ji
i
j
qtTFq
=
.
Một số công thức tính :
),(
ji
qtTF

o
ijji
nqtTF =),(

16


o

=
=
M
k
kj
ij
ji
n
n
qtTF
1
),(

o
kj
Vk
ij
ji
n
n
qtTF

≤≤
=
1
max
),(
o



>++
=
=
0 ), loglog(11
0 ,0
),(
ijij
ij
ji
nifn
nif
qtTF

2.2.3. Phương pháp biểu diễn dựa trên nghịch đảo tần số văn bản
Gọi tập Q(t
i
) là tập hợp các câu truy vấn có chứa từ khóa t
i
:
. Khi đó trọng số của từ khóa t
i

được tính bởi hàm IDF(t
i
)
(inverted document frequency – IDF). Có hai công thức thông dụng để tính
IDF(t
i
):
}0|{)( >=
ijji
nqtQ
o
|)(|
||
)(
i
i
tQ
Q
tIDF =

o








+

=
|)(|
||1
log)(
i
i
tQ
Q
tIDF

với |Q| là số lượng các phần tử trong tập Q.
Phương pháp này được lý giải từ lập luận rằng, một từ xuất hiện trong
nhiều câu truy vấn thuộc tập Q thì không quan trọng bằng một từ xuất hiện trong
ít câu truy vấn thuộc tập Q, nghĩa là một từ quá thông dụng sẽ có độ quan trọng
kém hơn so với từ xuất hiện trong một tập nhỏ các câu truy vấn.
2.2.4. Phương pháp biểu diễn dựa trên TF-IDF
Phương pháp này là tổng hợp của phương pháp thứ 2 và phương pháp thứ
3, giá trị của trọng số bằng tích của TF và IDF:
), ,,(
)()2()1( V
jjjj
qqqq =
r
với
)(),(
)(
iji
i
j
tIDFqtTFq

×
=
.
Ta nhận thấy rằng với các cách biểu diễn Boolean và TF, các vectơ đều có
các giá trị tọa độ là số nguyên, còn với cách biểu diễn sử dụng TF-IDF, mỗi câu
truy vấn được coi là một điểm (hoặc vectơ) trong một không gian metric và độ

17


“giống nhau” giữa các câu truy vấn được đo bằng độ gần của các điểm trong
không gian.
2.2.5. Các độ đo được sử dụng trong mô hình không gian vectơ
Độ tương tự giữa hai câu truy vấn thường được sử dụng trong mô hình
không gian vectơ là độ tương tự cosine (cosine similarity):
||||||||
),cos(),(
ji
ji
jiji
qq
qq
qqqqsim
rr
r
r
rrrr
×
==


với là độ lớn của vectơ
|||| q
r
q
r
, được tính bằng công thức Euclide:
()

=
=
V
k
k
qq
1
2
)(
||||
r
.
Ngoài độ tương tự ta có thể sử dụng công thức Euclide để tính khoảng
cách giữa hai vectơ (độ lớn của vectơ hiệu):
()

=
−=−=
V
k
k
j

k
ijiji
qqqqqqd
1
2
)()(
||||),(
rrrr
.
2.3. Mô hình xác suất
Mô hình xác suất là mô hình toán học làm việc với các biến ngẫu nhiên và
phân bố xác suất của nó. Theo thuật ngữ toán học, một mô hình xác suất có thể
được coi như một cặp (X, p(X)) trong đó X là tập các quan sát (biến ngẫu nhiên)
và p(X) là tập các phân bố xác suất trên tập X. Khi đó, sử dụng suy diễn xác suất
sẽ cho ta kết luận về các phần tử của tập X. Phương pháp suy diễn thường được
sử dụng là phương pháp suy diễn Bayes.
Khi áp dụng mô hình xác suất vào bài toán phân lớp truy vấn, câu truy
vấn được coi như một quan sát trong tập X, trong đó các từ trong câu truy vấn
được giả thiết là độc lập, không phụ thuộc vào vị trí cũng như ngữ pháp trong
câu truy vấn. Phân bố xác suất ở đây chính là phân bố các từ trong câu truy vấn.
Ngoài mô không gian vectơ và mô hình xác suất trên để biểu diễn câu truy
vấn còn có các phương pháp khác. Tuy nhiên, về cơ bản các cách biểu diễn sau
này đều dựa trên hai mô hình toán học cơ bản trên (ví dụ mô hình LSI, mô hình
biểu diễn theo các cụm từ, …).

18


2.4. Tóm tắt chương hai
Trong chương hai, luận văn giới thiệu hai mô hình biểu diễn câu truy vấn

cơ bản là mô hình không gian vectơ và mô hình xác suất. Trong chương ba, luận
văn sẽ giới thiệu mô hình phân tích chủ đề ẩn với LDA.






















19


Chương 3. Mô hình phân tích chủ đề ẩn với LDA
3.1. Giới thiệu về LDA
Mô hình phân tích chủ đề ẩn LDA (Latent Dirichlet Allocation) là một mô

hình sinh xác suất cho tập dữ liệu rời rạc dựa trên phân phối Dirichlet, được
David M. Blei, Andrew Y. Ng và Michael I. Jordan phát triển vào năm 2003 [1,
5, 12, 21].
Ý tưởng của mô hình: mỗi tài liệu là sự trộn lẫn của nhiều chủ đề (topics),
mỗi chủ đề là một phân phối xác suất trên tập các từ.
Mô hình LDA gần giống với mô hình pLSA (probabilistic Latent
Semantic Analysis) [9, 10], chỉ có một điểm khác là trong mô hình LDA phân
phối chủ đề dựa trên phân phối Dirichlet. Trên thực tế, các kết quả trộn lẫn chủ
đề trong tài liệu của mô hình LDA hợp lý hơn so với mô hình pLSA.
Về bản chất, LDA là một mô hình Bayesian 3 mức:
o Mức kho dữ liệu (corpus level)
o Mức tài liệu (document level)
o Mức từ (word level)
trong đó mỗi phần của mô hình được coi như một mô hình trộn hữu hạn trên cơ
sở tập các xác suất của chủ đề.
3.2. Phân tích chủ đề ẩn với LDA
Các khái niệm được sử dụng trong mô hình:
o Từ: được lấy từ tập từ vựng:
}, ,,{
21 V
tttw

.
o Tài liệu: là một dãy các từ: ), ,,(
21 N
wwwd
=
.
o Kho dữ liệu: là một tập hợp của các tài liệu:
}, ,,{

21 M
dddD
=
.
o Chủ đề: là một phân phối xác suất trên tập các từ.
Mô hình sinh trong LDA được minh họa ở Hình 3.1 và trình bày chi tiết ở
Bảng 3.1.

20



Hình 3.1: Minh họa mô hình sinh trong LDA
Bảng 3.1
: Mô hình sinh trong LDA
for all do
}, ,,{
21 Kk
zzzz ∈
sinh ra phân phối từ
)(~
βϕ
r
Dir
k

end for

for all do
}, ,,{

21 Mm
dddd ∈
sinh ra phân phối chủ đề
)(~
αϑ
r
r
Dir
m

sinh ra độ dài tài liệu )(~
ξ
PoissN
m


for all do
}, ,,{
21
m
Nn
wwww ∈
sinh ra chỉ số chủ đề )(~
, mnm
Multz
ϑ
r

sinh ra từ
)(~

,
,
nm
znm
Multw
ϕ
r

end for
end for


Chú thích: Dir, Poiss và Mult lần lượt là các phân phối Dirichlet, Poisson
và Multinomial.
Các tham số và các biến trong bảng 4.1:
o : các tham số của phân phối Dirichlet
βα
r
r
,
o M: số lượng các tài liệu trong kho dữ liệu
o N
m
: số lượng các từ trong tài liệu thứ m
o K: số lượng các chủ đề ẩn
o : tập các chủ đề ẩn
}, ,,{
21 K
zzzZ =


21


o V: độ lớn của tập từ vựng
o : tập các từ vựng trong kho dữ liệu }, ,,{
21 V
tttT =
r
o : phân phối của các chủ đề trong tài liệu thứ m. biểu diễn tham
số cho p(z|d
m
) – thành phần trộn chủ đề cho tài liệu thứ m,
z =
m
ϑ
m
ϑ
r
), ,,(
21 K
zzz

o
{}
M
m
m
1
=


ϑ
r
: ma trận M×K
o
k
ϕ
r
: phân phối các từ cho chủ đề thứ k.
k
ϕ
r
biểu diễn tham số cho p(t|z
k
)
– thành phần trộn các từ của chủ đề thứ k,
), ,,(
21 V
tttt
=

o : ma trận K×V
{}
K
k
k
1=

ϕ
r
o : chỉ số chủ đề của từ thứ n trong tài liệu m

nm
z
,
o : từ thứ n của tài liệu m
nm
w
,
Các phân phối được sử dụng trong mô hình:
o Phân phối Dirichlet: Phân phối Dirichlet của biến ngẫu nhiên
với tham số
1,0),, ,,(
1
21
=>=

=
n
i
iin
xxxxxx
0),, ,,(
21
>
=
in
α
α
α
α
α

:

=

=
n
i
i
i
x
B
xf
1
1
)(
1
),(
α
α
α

với B(.) là hàm bêta, được khai triển dựa trên hàm gamma:






Γ
Γ

=


=
=
n
i
i
n
i
i
B
1
1
)(
)(
α
α
α

hàm gamma được định nghĩa như sau:


−−

0
1
)( dtetz
tz


với z là số phức với phần thực dương (Re(z) > 0).
o Phân phối đa phân (multinomial): là trường hợp tổng quát của phân
phối nhị phân. Phân phối đa phân của biến ngẫu nhiên

22


+

= Zxxxxx
in
),, ,,(
21
với tham số ), ,,(
21 n
pppp
=
( , i = 1,
2, …, n là các xác xuất của phép thử Bernoulli, ):
0≥
i
p
1
1
=

=
n
i
i

p








=
=


=
=
Nx
Nxppp
xxx
n
pNxf
n
i
i
n
i
i
x
n
xx
n

n
1
1
21
21
,0
,
!! !
!
),,(
21

LDA sinh một tập các từ w
m,n
cho các văn bản d
m
bằng cách:
o Với mỗi văn bản d
m
sinh ra phân phối chủ đề
)(
αϑ
r
r
Dir
m
=
r

o Sinh ra chỉ số chủ đề dựa vào phân phối chủ đề

nm
z
,
)(
m
Mult
ϑ
o Từ w được sinh ra dựa vào phân phối từ
z
ϕ
r
(ở đây z = z
m,n
)
Trong mô hình phân tích chủ đề ẩn với LDA có hai quá trình cơ bản:
o Ước lượng mô hình: với một tập dữ liệu D, cho trước số lượng các chủ
đề ẩn là K, cần sinh ra các phân phối xác suất cho từng chủ đề.
o Dự đoán mô hình: dựa trên mô hình đã được ước lượng, cho một tài
liệu mới, dự đoán phân phối chủ đề cho tài liệu này.
3.3. Một số ví dụ các chủ đề ẩn được sinh ra bởi LDA
Sau đây là 10 từ có xác suất lớn nhất trong một số chủ đề ẩn khi phân tích
dữ liệu tìm kiếm trên Google của gần 20.000 câu truy vấn của bộ dữ liệu thực
nghiệm (xem mục 5.2).
Bảng 3.2: Chủ đề ẩn số 21
STT Từ Xác suất
1 beach 0,010521823074858867
2 city 0,008655865702031293
3 park 0,0071323101799786225
4 vacation 0,006434235088863898
5 resort 0,0055211634867974885

6 travel 0,00533801831080161
7 area 0,004509883601950682
8 island 0,004042730689265544
9 lake 0,0036207005011011277
10 summer 0,0035994662777972574

23


Bảng 3.3: Chủ đề ẩn số 111
STT Từ Xác suất
1 car 0,036212723304560934
2 cars 0,015093004515063173
3 ford 0,011663461138572239
4 truck 0,01013854993602003
5 auto 0,009975812376854382
6 vehicle 0,009101851410964775
7 engine 0,006980235824805183
8 wheel 0,0058591548616640345
9 honda 0,0054673792562652465
10 chevrolet 0,005244368527038244

Bảng 3.4: Chủ đề ẩn số 138
STT Từ Xác suất
1 furniture 0,014722240830750886
2 home 0,014565102144281434
3 room 0,01156292618699669
4 wall 0,011505032986718473
5 design 0,009098329946581118
6 glass 0,008932920802929066

7 house 0,008544209315346742
8 kitchen 0,008130686456216615
9 table 0,007543483996251831
10 floor 0,007245747537678137

Bảng 3.5: Chủ đề ẩn số 166
STT Từ Xác suất
1 show 0,015014327915188974
2 movie 0,011641020660470059
3 film 0,009861048082416534
4 tv 0,008616795406495624
5 series 0,008233150831420009
6 episode 0,005751557994444412
7 new 0,005609851439686752
8 best 0,0049082311807646835
9 video 0,004548780407720865
10 television 0,004521130348255956

24



Bảng 3.6: Chủ đề ẩn số 317
STT Từ Xác suất
1 usb 0,008024347896038776
2 laptop 0,007264593430805363
3 hp 0,006594221843834705
4 lcd 0,005856813098166981
5 printer 0,005856813098166981
6 dell 0,005655701622075785

7 memory 0,005052367193802192
8 drivers 0,005030021474236503
9 laptops 0,004404341326397223
10 intel 0,00413619269160896
3.4. Tóm tắt chương ba
Trong chương ba, luận văn đã giới thiệu chi tiết mô hình phân tích chủ đề
ẩn LDA. Trong chương tiếp theo, luận văn sẽ đề xuất một phương pháp làm giàu
câu truy vấn sử dụng mô hình này.











25


Chương 4. Đề xuất mô hình làm giàu câu truy vấn
4.1. Ý tưởng của mô hình đề xuất
Ý tưởng của mô hình làm giàu thêm thông tin cho câu truy vấn chính là
sử dụng các chủ đề ẩn. Như chúng ta đã biết, mỗi chủ đề ẩn là một phân phối
xác suất trên các từ, và các từ có xác suất cao sẽ đại diện nội dung của chủ đề.
Nếu các chủ đề ẩn này “gần” với câu truy vấn, ta có thể sử dụng các từ có xác
suất cao trong các chủ đề để thêm vào câu truy vấn nhằm tăng thông tin. Vấn đề
còn lại cần quan tâm là tìm đầu vào cho mô hình LDA để sinh ra các chủ đề và

tìm độ “gần” của chủ đề với các câu truy vấn và các lớp.
Dữ liệu chúng ta có là danh sách các câu truy vấn trong các lớp và câu
truy vấn của người dùng, vì vậy, để tăng thêm tri thức bên ngoài, ta có thể sử
dụng kho tri thức rất rộng là Internet thông qua máy tìm kiếm Google. Có hai
cách sử dụng máy tìm kiếm Google để lấy thêm các tri thức ngoài:
o Tìm kiếm trên máy tìm kiếm Google với các câu truy vấn trong tập dữ
liệu. Khi đó việc tìm kiếm trên máy tìm kiếm Google có thể được tiến
hành trước khi người sử dụng truy vấn vào có sở dữ liệu và thực hiện
ngoại tuyến (offline).
o Tìm kiếm trên máy tìm kiếm Google với các câu truy vấn của người
dùng. Khi đó việc tìm kiếm trên máy tìm kiếm Google có thể được tiến
hành ngay sau khi khi người sử dụng truy vấn vào có sở dữ liệu.
Các kết quả tìm kiếm trên máy tìm kiếm Google sẽ được tổng hợp lại để làm đầu
vào cho mô hình sinh chủ đề ẩn LDA.
Để tìm độ “gần” giữa chủ đề ẩn và câu truy vấn, ta nhận thấy rằng nội
dung của chủ đề ẩn phụ thuộc rất lớn vào các từ có xác suất cao. Độ “gần” của
một từ với một chủ đề phụ thuộc vào xác suất của từ đó trong chủ đề, độ “gần”
của một câu truy vấn với một chủ đề phụ thuộc vào xác suất của các từ trong câu
truy vấn đó trong chủ đề. Và độ “gần” của một lớp với một chủ đề cũng phụ
thuộc vào xác suất của các từ trong các câu truy vấn của lớp đó trong chủ đề.
Nói một cách khác:
o )|(),( zw
p
zw
s
im =
o


=

q
Tw
zwpzqsim )|(),(

26


o

∈∈∃∈∈
=
}:|{
)|(),(
q
TwCqTww
zwpzCsim
với z là chủ đề ẩn, C là lớp, T là tập từ vựng, T
q
là tập hợp các từ trong câu truy
vấn q.
Sau khi làm giàu câu truy vấn, ta vẫn có thể sử dụng thuật toán phân lớp
cũ để phân lớp câu truy vấn.
4.2. Hai mô hình làm giàu nội dung câu truy vấn
Dựa trên các cách sử dụng máy tìm kiếm Google để lấy thêm thông tin, có
hai mô hình làm giàu câu truy vấn của người sử dụng:
4.2.1. Mô hình 1: Tìm kiếm trên Google các câu truy vấn trong tập dữ liệu
Mô hình 1 gồm các bước sau (xem Hình 4.1), các bước từ 1 đến 3 được
thực hiện ngoại tuyến (offline):
Bước 1. Lấy kết quả tìm kiếm các câu truy vấn của tập dữ liệu trên máy tìm
kiếm Google

Các câu truy vấn trong tập dữ liệu được tìm kiếm trên máy tìm kiếm
Google, các kết quả tìm kiếm có thứ hạng cao nhất được lấy về, sau đó được tiền
xử lý và chỉ lấy dữ liệu text.
Bước 2. Lấy dữ liệu đầu vào và chạy mô hình LDA để sinh ra các chủ đề ẩn
Tập dữ liệu được lấy ở bước 1 được đưa vào mô hình LDA để sinh ra các
chủ đề ẩn.
Bước 3. Chọn các chủ đề ẩn
Tiêu chí để chọn chủ đề ẩn z là độ tương tự giữa chủ đề z và một lớp C
lớn hơn 1 giá trị ngưỡng cho trước:
s
TwCqTww
q
zwpzCsimC
τ

=


∈∈∃∈∈ }:|{
)|(),(:

với T là tập các từ vựng, T
q
là tập hợp các từ trong câu truy vấn q.
Sau bước 3, ta có một tập Z* gồm các chủ đề được chọn.
Bước 4. Làm giàu câu truy vấn

×