1
Phân loi văn bn
1
Lê Thanh Hương
B môn H thng thông tin
Vin CNTT&TT
Phân loi văn bn
zPhân loi: (Text
Categorization)
Đầuvàoca bài toán tp
các vănbnđãđược phân
lp
sn
cho
mt
văn
bn
2
lp
sn
,
cho
mt
văn
bn
mivào,ng dng phich
ra vănbnđóthucchủđ
nào trong các chủđban
đầu.
zPhân nhóm: (Text Clustering)
bài toán cho mttpvăn
bnchưađược phân lpgì
c
ng
phi
chia
tp
Phân nhóm văn bn
c
,
ng
phi
chia
tp
vănbn này thành các nhóm
datrênđộ tương đồng gia
chúng.
Ti sao cn PLVB?
zLà tiếng Vit?
zLc tin
zChuyn hướng cuc gi
4
zPhân loi thư (cuc hn, công vic, khn,
bn bè, thư rác, …)
Đo độ chính xác
zPrecision =
các thư được gi (đúng)
tt c các thư gi
Rll
Precision vs. Recall of
Good (non-spam) Email
50%
75%
100%
c
ision
5
z
R
eca
ll
=
các thư được gi (đúng)
các thư đúng
0%
25%
0% 25% 50% 75% 100%
Recall
Pre
c
Precision vs. Recall of
Good (non-spam) Email
100%
n
Đo độ chính xác
high threshold:
all we keep is good,
but we don
t keep much
OK for search
engines (maybe)
would prefer
to be here!
6
0%
25%
50%
75%
0% 25% 50% 75% 100%
Recall
Precisio
n
low threshold:
keep all the good stuff,
but a lot of the bad too
but
we
don t
keep
much
OK for spam
filtering and
legal search
point where
precision=recall
(often reported)
2
Các trường hp đo độ chính xác phc
tp hơn
zPhân lp nhiu lp
{Độ chính xác trung bình ( hoc precision hoc recall)
ca các phân lp 2 lp: th thao hoc không, tin tc
hoc không
{Tt hơn, đánh giá chi phí ca các lp li
7
zvd, đánh giá nh hưởng ca các v
n đ
sau:
đặt các bài v Th thao vào mc Tin tc
đặt các bài v Mt vào mc Tin tc
đặt các bài v Tin tc vào mc Mt
zđiu chnh h thng để gim thiu tng chi phí
zVi các h thng xếp hng:
{Mc độ liên quan đến xếp hng ca con người
{Ly các phn hi tích cc t người dùng
Cách phân loi
Subject: would you like to . . . .
. . drive a new vehicle for free ? ? ? this is not hype or a
hoax , there are hundreds of people driving brand new cars ,
suvs , minivans , trucks , or rvs . it does not matter to us
what type of vehicle you choose . if you qualify for our
program , it is your choice of vehicle , color , and options
.
w
e
do
n '
t
ca
r
e
.
just
by
d
rivin
g
t
h
e
v
e
hi
c
l
e
,
you
a
r
e
8
.
we
don
t
care
.
just
by
driving
the
vehicle
,
you
are
promoting our program . if you would like to find out more
about this exciting opportunity to drive a brand new vehicle
for free , please go to this site : http : / / 209 . 134 . 14
. 131 / ntr to watch a short 4 minute audio / video
presentation which gives you more information about our
exciting new car program . if you do n't want to see the
short video , but want us to send you our information package
that explains our exciting opportunity for you to drive a new
vehicle for free , please go here : http : / / 209 . 134 . 14
. 131 / ntr / form . htm we would like to add you the group
of happy people driving a new vehicle for free . happy
motoring .
Cách phân loi? (có giám sát)
1. Xây dng mô hình n-gram cho mi lp, s dng lý
thuyết Bayes
2. Biu din mi tài liu như 1 vector
(cn chn cách biu din và độ đo khong cách ; s dng SVD?)
{Cách 1: Đưa vào lp mà tài liu gn vi trung tâm
calpnht
thkhùh ếáthàhhtl
9
ca
lp
nht
(
c
ó
th
k
o p
h
p n
ế
u c
á
c
thà
n
h
p
h
n
t
rong
l
p
cách xa nhau)
{Cách 2: Chia mi lp thành các nhóm con (sau đó s
dng cách 1 để ly 1 lp, tr v lp cha nhóm con. Phương
pháp này cũng có th dùng cho mô hình n-gram)
{Cách 3: Ch nhìn vào các nhãn ca các tài liu luyn
(vd, s dng k láng ging gn, có th láng ging gn hơn có
trng s ln hơn)
Cách phân loi? (có giám sát)
3. Coi như bài toán gii quyết nhp nhng t
a) Mô hình vector –s dng tt c các đặc trưng
10
b) Danh sách quyết định –ch s dng đặc trưng tt nht
c) Naive Bayes –s dng tt c các đặc trưng, đánh trng
s da trên tác động ca nó trong vic phân bit các
lp
d) Cây quyết định –s dng mt s đặc trưng theo trình
t
Mô hình vector
2 tài liu sau tương t nhau:
Sau khi chun hóa độ dài vector thành 1,
ging không gian Euclidean (similar endpoint)
High dot product (similar direction)
11
(0, 0, 3,1, 0, 7,. . . 1, 0)
(0, 0, 1,0, 0, 3,. . . 0, 1)
Khi to vector, có th:
loi b t chc năng hoc gim trng s ca nó
S dng các đặc trưng khác so vi unigrams
Danh sách quyết định
slide courtesy of D. Yarowsky (modified)
Để phân gii nhp nhng ca t lead :
Duyt danh sách các ng c viên
Du hiu đầu tiên tìm thy là du
hiu quyết định
Không tt bng cách kết hp các
du hiu, nhưng hot động tt
12
cho WSD
Đánh giá trng s ca du hiu:
log [ p(cue | sense A) [smoothed]
/ p(cue | sense B) ]
3
các giá tr này
được tính t các
bài cacáctác
Kết hp các du hiu và Naive Bayes
slide courtesy of D. Yarowsky (modified)
13
bài
ca
các
tác
gi đã biết trước
(hc có giám
sát)
Kết hp các du hiu và Naive Bayes
slide courtesy of D. Yarowsky (modified)
14
Mô hình “Naïve Bayes” cho phân lp văn
bn
(Chú ý gi thiết độc lp)
Câu này là câu ca sinh
viên A hay B?
1
1
2
2
Cây quyết định
example from Manning & Schütze
Bài báo Reuters này thuc lĩnh vc Li nhun?
2301/7681 = 0.3 of all docs
contains “cents” <2 times
contains “cents” 2 times
15
1607/1704 = 0.943 694/5977 = 0.116
contains
“versus”
<2 times
contains
“versus”
2 times
contains
“net”
<1 time
contains
“net”
1 time
1398/1403
= 0.996
209/301
= 0.694
“yes”
422/541
= 0.780
272/5436
= 0.050
“no”
Các đặc trưng ngoài Unigrams
zCác cách tiếp cn trên (tr mô hình n-gram ) có th s
dng các đặc trưng khác, không ch unigrams.
zVn đề la chn đặc trưng
{S d
n
g
t
p
ln các đ
c trưn
g
lưu tron
g
1 tem
p
late
16
gpggp
{Có th tìm các đặc trưng có ích khi xét 1 cách độc lp?
{Thêm ln lượt các đặc trưng
zĐo hoc đoán kh năng ci thin ca mi đặc trưng
{Cui cùng, loi b các đặc trưng làm gim tính chính xác ca h
thng khi tiến hành th nghim trên b d liu mi
zChương trình SpamAssassin s dng các đặc trưng
Các đặc trưng trong SpamAssassin
100 From: địa ch trong danh sách đen
4.0 Người gi trong danh sách www.habeas.com Habeas Infringer
3.994 Ngày không hp l: tiêu đề (timezone không tn ti)
3.970 Viết bng 1 ngôn ng l
3.910 Lit kê trong Razor2, xem http://razor.sf.net/
3.801 Tiêu đề là các k
ý
t
l
p
đầ
y
8-bi
t
17
ýp y
3.472 Thông báo tuân theo Senate Bill 1618
3.437 exists:X-Precedence-Ref
3.371 Ngày đảo ngược
3.350 Thông báo bn có th b loi khi danh sách
3.284 Tài sn bí mt
3.283 Thông báo yêu cu ri khi danh sách
3.261 Có cha t “Stop Snoring"
3.251 Received: cha tên vi địa ch IP gi
3.250 Nhn được qua chuyn tiếp trong list.dsbl.org
3.200 Tp ký t ch mt ngôn ng l
Các đặc trưng trong SpamAssassin
3.198 Forged eudoramail.com 'Received:' header found
3.193 Free Investment
3.180 Received via SBLed relay, seehttp://www.spamhaus.org/sbl/
3.140 Character set doesn't exist
3.123 Dig up Dirt on Friends
3.090 No MX records for the From: domain
18
3.072 X-Mailer contains malformed Outlook Expressversion
3.044 Stock Disclaimer Statement
3.009 Apparently, NOT Multi Level Marketing
3.005 Bulk email software fingerprint (jpfree) found inheaders
2.991 exists:Complain-To
2.975 Bulk email software fingerprint (VC_IPA) found inheaders
2.968 Invalid Date: year begins with zero
2.932 Mentions Spam law "H.R. 3113"
2.900 Received forged, contains fake AOL relays
2.879 Asks for credit card details
4
Cách phân loi? (không giám sát)
Nếu không có d liu luyn
Thc hin lp đi lp li:
1
Nhóm các tài liu
19
1
.
Nhóm
các
tài
liu
2. Luyn mô hình n-gram, Naive Bayes, hoc danh
sách quyết định để phân bit các nhóm
3. S dng mô hình để gán li các tài liu vào các
nhóm (ch có 1 s ít thay đổi)
4. Quay li bước 2 đến khi hi t
Cách phân loi? (bán giám sát)
Nếu ch có mt ít d liu luyn?
1. Bt đầu vi các lp nh và chính xác
2
Luynmôhìnhn
-
gram Naive Bayes hoc danh
20
2
.
Luyn
hình
n
-
gram
,
Naive
Bayes
,
hoc
danh
sách quyết định để phân bit các nhóm
3. Thêm vào mi lp các tài liu mi mà mô hình
phân loi được mt cách chc chn (cũng có
th loi bt mt s tài liu)
4. Quay li bước 2 đến khi hi t
Cách phân loi? (thích nghi)
Nếu d liu luyn được tăng cường theo thi gian?
zS dng phn hi (tích cc hoc th động) v vic phân
lp hin có
zCác h thng mi phân lp hoc điu chnh
{Thêm các tài liu mi vào d liu luyn
{
ếúá(ôáá)á
21
{
N
ế
u ch
ú
ng chưa được g
á
n nhãn
(
kh
ô
ng gi
á
m s
á
t
)
, g
á
n
chúng mt cách t động
Mô hình được điu chnh theo thi gian
zVd., thay đổi trung tâm ca nhóm hoc các tham s ca
n-gram
zMun tăng trng s ca d liu mi
{Vd., tài liu k ngày trước có trng s 0.9k(k=0,1,2, ...)
{Mô hình hin ti = d liu hin ti + 0.9 * mô hình cũ
Cách phân loi? (phân cp)
Đưa 1 tài liu vào Yahoo! category?
zCó hàng nghìn lp – quá khó
zChn 1 trong 14 lp mc trên cùng, vd., khoa hc
22
zSau đó s dng b phân lp cho lĩnh vc Khoa hc để
chn 1 trong 54 lp mc 2 ca lp Khoa hc
zTiếp tc đi xung các mc dưới
zKhi không th phân lp vi độ chc chn cao, hi con
người (s dng câu tr li ca con người như là d liu
luyn mi)