HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
KHOA CÔNG NGHỆ THÔNG TIN 1
ĐỒ ÁN
TỐT NGHIỆP ĐẠI HỌC
Đề tài: Xây dựng công cụ tìm kiếm và so khớp hồ sơ
người dùng trên các mạng xã hội
Giảng viên hướng dẫn : Th.s NGUYỄN THANH THỦY
Sinh viên thực hiện : VŨ THÀNH TUÂN
Lớp : D09CNPM3
Khoá : D09(2009-2014)
Hệ : Chính quy
Hà Nội, tháng 11 /2013
LỜI CẢM ƠN
!"#$%&'()*+,)#-
+&'&./01)23)4.526
1789)+&':');;<%&'=5,
>?@A5-
2'BC>.5! !
"#$'&'A5+&0D#-
8>.5!"#$&'
=5,@A5-
19)E%+'8-=35788.
&(B#D.;FG'%'*+-
/3 HI+HH?JKHL
1M885
1M885NOKP23QRL 8&J
NHẬN XÉT, ĐÁNH GIÁ, CHO ĐIỂM
(Của người hướng dẫn)
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
Điểm:SSSSSSSSSSSSSSSSSSSSSS-TU>VS SSSSSS S S-W
Đồng ý/ Không đồng ý '=!')&. *E*+,)#?-
…………, ngày tháng năm 20
CÁN BỘ - GIẢNG VIÊN HƯỚNG DẪN
(ký, họ tên)
1M885NOKP23QRL 8&L
MỤC LỤC
C TÀI LIỆU THAM KHẢOSSSSSSSSSSSSSSSSSSS--XJ
1M885NOKP23QRL 8&Y
DANH MỤC CÁC HÌNH VẼ
DANH MỤC CÁC BẢNG BIỂU
1M885NOKP23QRL 8&X
KÝ HIỆU CÁC CỤM TỪ VIẾT TẮT
Từ viết tắt Nghĩa tiếng Anh Nghĩa tiếng Việt
Z[\Z Z&%;']Z&%; ^_;;>)5*=
.;`
8Z 8%&Z&%A5% 8=,@&'?
aOZ a%&=%O'5%Z&%A5% 8=,_'@
&'D#;>)5
O ;O=% ^ ':'+
b\ #b%\== ^ '>c
dRe %d%=%R&:5#
e5%
3>+;E5f
&
gOZ g%='5&%O%=&#'
Z&%h'&:
Z&%h'&:
5!
3eQ 35&e5%Q&'%== di>(!
Ob O%#=%&b]%& ei5B
ZO8 Z5jjO%='8&%% 2A5B_
2eb 2'%#e%&b=% /),0%':+
)
1M885NOKP23QRL 8&I
LỜI MỞ ĐẦU
8&'>? .k% &'>#+&l,
E&!%&% #6++' &!a%&%"
' ;(&! =,:_.V:B,.,.;`6k#;>)5#'
#"&5ES^l;5&&+.;`#'D#
:'=5m.;`BD#++M.+n'
0E+m.k';)<+l9&.&!
<.-26Bl#)DB>>.;`"%
o+*=+0-
p< <+lml#)faO.;`.k5E#
f6 m5!l#)DB.;`>+
5.k% En:+#q#rn5B-4f&!B
m&?+ :+5".)D#:m=(&'
s;>)55-^m >Bf .;`ml=n5
+t6:+5Tl=;t+l)l5+SW)&'s
M.)=':#.;`>+ EnB
E#+-
26B&')5"A5B'+=':#*=.;`
>+ -d;( t'#o#='=+DB>*=m
#;)'` .;`:-Q.#+#;(&!)6
'+=(,5@5 6.q>*=U+5D'+6
k#+'<5 6 &0=,0q A5&05 6-8B#
%';` =,5D'+:Bk#;>)5l':BA5,5>*=-25,
`='=+:BA56.k .$T.k6'+( '9UWl
.&A5B_-
8)5*+'*X.V
Chương 1: Tìm hiểu về bài toán: u)5n &rq?
+' ":m:?9##@m#6 ;5'+=5mn5E
+B#DA5B'+-u)5n_;;>)5 E5
&"Z[\Z-
Chương 2: Các nghiên cứu liên quan: 8l5n+:v5D=':#5<?
._c#.#+#B#Dq;t''+-8l5n+:v5D
:Bk#;>)5+#.#+#i?-
Chương 3: Xây dựng công cụ và đánh giá thực nghiệm: 8&+.
;(ttlm++#;t+!q5''+-3!5#.#+#(
)V+E;>)5i;>)5+()-^++:BA5 6+
t#6.k.5.kl@#.#+#'Do-
Chương 4: Kết luận: Q5,`:B5Dmw+En!q5
.#+&lB#%'-
1M885NOKP23QRL 8&x
^yz38{83u/a|Q^}a/~22.HV8l5n'+
CHƯƠNG 1: TÌM HIỂU VỀ BÀI TOÁN
4'+Ut6;(t=':#*=+>+
ll5&•n'+l5=5n M.+q
?' "-8B#m=€&n55(BM. =,
!q5.k()lA5B'+-
1.1 Mạng xã hội là gì?
R 0 'Tb'3%h'&:W•HP‚;_t,:B+
!`=f6&!a%&%5n5t6:+5:#
):-
R m>6?.%ƒ#'%=„]%
'5D-Rs''+.;!:B5&f
#EB5<'&?&)5!:w#B-2+;_t
mn5#.+l+!:B,+V;(%'&'5#T6;t.
!&.'9!#,W;(&!+T._G%ƒ'9=&%%
%W'9;(&!=f6+T.l'#=++''9Wc
(A5V:;'5+S
/)Bm&? :+5Rb#%
Z%'':sBE&'_&.4wRv8…5[&:5/X3Rv
Z&%;=%&25z+'A5,8+4O.-R :+9+.k
+:l%'`n.4%'\†5,2‡'&;/†5,R
3D4†j'%8&5†5,1)35E)&En5+ .V
ˆR%‰5R%8-
1nE< 5E#;_tq?tlUt!5
'.k *tl&'B(-^l=;t;_t+q?l
>.kBD#T,A5)W+!!A5B.;`#'
:'+!?:iml'*=+;=+=f
6+!>+:+V
ƒ Facebook V^& #+&lEZ%'':#+&l@
.+=!00Bm#+&l&!'5
.=w 0q5s-/&?&)5.&!Z%'':
&)5.<+-8&!Z%'':ml:B,
U+:B!'9E.:+.k:B
,M.A5Š.‹.ksq5A5_l
&.0'9)-
ƒ Myspace VR=#% &'> 5!(=(-/)
mFrmJKK&)5.=;t-1)=;tR=#%_
:Z%'':#+&l-R=#%m5.5" m:Œ5
0&„='Z%'':9)#sB>.'=
:E5=;t:?5)ml"Œ++
)=c:+(:•,-
1M885NOKP23QRL 8&Ž
^yz38{83u/a|Q^}a/~22.HV8l5n'+
ƒ Linkedin Ve:%;a 5!)#.kB:B'>
.:;''9+5!)l'+:B,+*
)#_G!):;':+-3mMml#tt. #.
)l!:+n?:++,+-3m'#o#+
!?*=_=)-e:%;:5B:6=;t'>
m+*)#>.=;t' >.:B
)-
ƒ Zing Me VˆR% E1)3"&0+6?
9&. .:B&(5BB'D#5 -
4!m+!rml;7%%#
=„+&r&(5B-3');(B'ˆ
R%r.5!sq+=(:),.=;tm&!
*m5D.kn5#*6(-
1.2 Nhu cầu thực tế
R &'>#+&l,E&!%&%6+ -b,.k
. ?!BG.'&5*;>)5#'
#"-1nE< 5E#+;_tq?tlUt!5
'.k *tl&'B(-^l=;t;_t+q?l
>.kBD#T,A5)W+!!A5B.;`#'
:'+!?:iml'*=+;=+=f
6+!>+:+-26B*=.
;`m&r;)r0).=;t&!
9&.&!@-3. + .=;tml=
;tn5 :+5l#t#tt>t6:+5-
^n5;FB =,&.k#!:B*=.;`>+
5-^l0En"!q5 =,&.k#.=5V
ƒ u=3571?\=;tJ :+5Z%4'':l!
&'s.5A5qe:%;l!
:B*)#,+?&')-\m =(:)T6;t.s
q.• q;t)6W5, E.
*)#-1En9&&'J;=+\&!J
=€m>+&`5T`l5_ .W\'5,
0H&+&9#J` +'-
ƒ /3571?4J Z%4'':8h%&)4m&E
n5&!Z%4'':45,f& r:B,&!8h%&q
>m!:B&!Z%4'':..m!:B&!8h%&-
26B@>;=+3571?\3571?4"
#6=':#%>*='`l5_l5;7` .;`-
85!m En#q#A5Bl!:B>J -
1M885NOKP23QRL 8&P
^yz38{83u/a|Q^}a/~22.HV8l5n'+
Hình 1. 1 : Mối liên kết giữa các mạng xã hội
R9;`< =(:B,G..".k6.
>r';>)5D#f=(!:B;>)5>+ 5.
:m-35!5E#+@En6=5V
1 Biểu diễn mạng xã hộiVR 5E#'.=;t#.)
+l:B,'B#=„+!:+&'n
0-85!+&h%mE5&".k*l5;7:+5"
;)'=(5!)+D#.=;t:+5-1D"
?E)&'s'B#>+ :+5T•
.=„„i:BW-
2 Miền thuộc tínhV3:+& `=€n .
5 6*=.;`M:#"'M#sB-16;t!
n+&_5 6&'Z%''::EB#+#q++&_
!n5 6.(&'e:%;a-
3 Mục tiêu trang webV8`5 '+&h%+t!5.=;t
96.(ml.k!'+&_:+5-16;t+5 6
%Z%'':..k!' %+&':e:%;a
%5!)#` .;`-
1.3 Một số phương pháp đã được thực hiện
/)m n=5E=;tZ[\Z•P‚5,&5&')&'s;>
)5*=.;`>+ -Z[\Z '''mE5&"@
.fE5&"gOZdRe'.+.!%S
M.+A5) .:+.*)#';_:;'
S2ml+9&'Z[\ZX'V++
1M885NOKP23QRL 8&HK
^yz38{83u/a|Q^}a/~22.HV8l5n'+
:'!&(5BT% W+;(+m)5,`)5
-
8&5@(Z[\Z#]']VQ%&='E+!A5B
+n5.km'#-2+5 6.k=;t#sB!.
T]']V %W _ G . ) T]']V 'W ! :B & h% + T]']V
'%#%WT]']V;%=&#'W9)5 6A5)>++
T]']V:'h=W-8&'Z[\Z'.+,A5)ml.k%'+
5!w=5V
ƒ R<..kl5;7. l)]']VQ%&='.k+ ‘ga-
ƒ R .mn55 6.!T]']V%W:%T]']V:%W'9
=T]']V&;W
ƒ 2'.ml!)5A55 6]']V:'h=-R =,6Ek
6=;t'''Z[\Z, *&(5B.
=5V
• Khả năng cơ động (portability):’“? ”5D>:
?=;t*= .&!n5 -8@(Z[\Z
l5;7n'.,A5)&' %'+
=„+6mlin>c-
• Tính chất mở:8@(_c&'Z[\ZmE5&"m
&r=fl#+&l+q;ttl-16;t5 6]']V:'h=
,A5)>++-3B55,A5)6+
.*)# ml;(5 6A5)5
6']']V:'h=-
• Định danh:d+_'.A5 =,5 6_;.
]']V']']V'•=H=5 +5 6;5E5 n
l)#]']VQ%&='-†5)=':#++&__;;5E
ml5.kA5)*E>++5 nn5),
:+5k#E+),l
-
• Quan hệ:85 6]']V:'h=,A5)>++
&' *-/5 6]']V:'h=&;]=V
=%%\='.k:Bk#l!:B+)5Z[\Z-
• Liên kết con người theo sở thích:d+_>m.m,A5
'9=f65f5 6]']V%&%=-
• Hỗ trợ lọc email: 8@(Z[\Z<&k)0%%'=(.5!
T#&'&jW;(&!+,A5)+-b;t+E# D
;F5E@Z[\Z]%'.mlD.5!=5m0+
+&_DE#-
1M885NOKP23QRL 8&HH
^yz38{83u/a|Q^}a/~22.HV8l5n'+
b5 =,5 6Z[\ZV
Hình 1. 2 : Các thuộc tính của FOAF
1 6;tnZ[\ZV
@PREFIX rdf: < .
@PREFIX foaf: < .
@PREFIX rdfs: < .
<#JW>
a foaf:Person ;
foaf:name "Jimmy Wales" ;
foaf:mbox <mailto:> ;
foaf:homepage < ;
foaf:nick "Jimbo" ;
foaf:depiction < ;
foaf:interest <> ;
foaf:knows [
a foaf:Person ;
foaf:name "Angela Beesley"
] .
<>
rdfs:label "Wikimedia" .
85!)=;tZ[\Zl_;.;`f+5 6.]']V
']']V'•=H=5'%#% n5B:+5 6>.
;`.ks'#`k#q?=;t.V
ƒ /0s_GTO'A5!D:Œ5_:m W-
ƒ b;tn5 _GTl!l!)
!#tt5&6SW-
1M885NOKP23QRL 8&HJ
^yz38{83u/a|Q^}a/~22.HV8l5n'+
ƒ R ml.k=;tfn5.-
3'&r =,#.#+#B#D:+.;( :'.5&>l
.;`(i!+*==5m+m*=;.;Z[\Z-/0
:5B:6.;`'r&r:B,>l'9lD;*=-
b' &'>En#q#:m:l='+-
1M885NOKP23QRL 8&HL
^yz38{83u/a|Q^}a/~22.JV2+!q5!
A5
CHƯƠNG 2: CÁC NGHIÊN CỨU LIÊN QUAN
2.1 Tổng quan về so khớp chuỗi, văn bản
2.1.1 Khái niệm
b':#5<=':#?Ut6&=(,5Tr0
'.('9.*W>+5<?A5qB#D
n9"#+#>c-b':#5<? :v5Dm&rn
&'c(i?-gE:ml'=(,5=(.*-b(.*
.kT'=,W#+. ,A5)>,.k'99
&.-^.k.f&'#@ƒHBH'9KBH-3.D '
.*ml' '6l-
4'+6 .*5.k#+l5.=5Vdo )5;*m
5V;–=
H
=
J
S=
-Rt!5'+&.k +&_bT=
=
—
Wb∈
TKHW-/bT=
=
—
W.k0 .*>5=
=
—
-u+&_'=(
,5n>c5-^ .*>c +&_D
#+,A5)>c>5-8&!(B:mmlE +&_m
6+'f>cG.kl5&' >tl-
R9;`);>)5.k.5&>;.n5q:+5.?
FqB5l.5&>&'s-^9)&''+)='
:#*=.;`.k()&!D#;>)5M. 6+'
+#.#+#=':#'+5 6-
2.1.2 Xử lý dữ liệu
2.1.2.1 TF-IDF là gì ?
TF- IDF B w 5D > B \%& ]&%A5% N %&=% ;'5%
]&%A5% @ '=,5.kA5,:!l)q A5&0@
&' ??oU&' D#k#+?-
8&'mV
TF- term frequencyN=,5E)H@&'H?-2+6V
8ZT;W–'T]T;W˜HW TJ-HW
1]T;Wƒ=,5E)@&'?;-
IDFN%&=% ;'5% ]&%A5%-8 =, _ H @ &' D# ?
T'=W-
86aOZl+&_>@#sB-R<@GmH+&_aOZ;5E
&'D#?-
aOZTOW–' TJ-JW
1M885NOKP23QRL 8&HY
^yz38{83u/a|Q^}a/~22.JV2+!q5!
A5
• ™O™s=,?&'),-
• ™š;›OV›;œ™Ve=,?&'Oq@-3B5@m:5E)fE
q ?'&'D#F5=,=€UK–•#o#'::
k#)B..UF5qH˜™š;›OV›;œ™-
• 2=,'&&'q:s+&_ @G5C#
:'+&_@m-1s=,=€;FB)+&_+@
sf =,E_ž)>+&0.k5=€:s-
Tm+:+s=,=€:.fBž)>++&_aOZW-
85!)s:'+&_=€"#ž)>aOZ8Z.*l
;`'q8ZƒaOZ.!;.-
u+&_8ZƒaOZV
8ZƒaOZT;OW–]T;WŸ;]TOW TJ-LW
3>@m+&_8ZƒaOZ'>@5E)n5&'?
5E)6&'+?:+-1)"#0&>@#sB>>
@m+&_'T@:'+?mW-
2.1.2.2.Token và biểu diễn văn bản trong Text Mining
/)=f;>)5?T%;=%W#+&lm5
"=(A5!q5f=(?m=,.kf;=,6;t
.+')5)%.)+&h%S2mlE5B
+6#+)#:;'&.0Sn5.k=,m.5
&>f;.;=f;>)5-O>)5.5&>&'=f;>)5?;>)5+
E5 &" T=%=&5&5&%; ;W q " : ' ' # E5
&"T5=&55&%;W.M:''mE5&"-16;t )5mlq
&.mE5&"•.!5n!+5E#'S
.Mmlq .k>#?#E5&"•.
#mw ;5)5-O'mEn9&='lml
¡
:B
:+&q@5*;>)5.D-2+:v5DlA5BEn.k0
:v5D¢8%R¢:#+;>)5?-
A. Không gian vector
4.5!0#.#+##'5l)?;`
5<:i( ;:+#`k#+5D'+0%'F5#
#-/5B+5D'+n5=;t+l5;7?=;t%'9&.=(
:+5m?)0:9&.:+5-
/.B#D%':l5:%'&.k=;t:+n5&'+
'+i>(!#'?-£.f#.#+#:%'
.=5V"l5;7E+)5&';=%5&5E%'&&'
:n5n5.qE+@:mTD#@(W=5m=;t
'.(>%'&&5E+%'&)5l6'+i#'`
%'t6=;t-
1M885NOKP23QRL 8&HX
^yz38{83u/a|Q^}a/~22.JV2+!q5!
A5
4E:%'&<?.kl5;7
%'&<# 5D>&!)&'D#?,.k+
+&_&0=,l5_q A5&0@5D>,?-2mn5+
6&0=,'5D>=5 =,+6&0=,5D>lV
ƒ 86&0=,%'4''%
ƒ 86&0=,%'=5EN8Z
ƒ 86&0=,%'_'=,?ƒaOZ
ƒ 86&0=,%':Bk#8ZƒaOZ
R4''% 5E# E5&"&E;7l5,.
;`),&5-2+5&5E.k9. l5q4''%m
>c6+-85!4''%m+:5Bl=5V^5!
B.k5D#m;(&!!55ŒA5B__#Tc
)5.k+_'96k#'9:6k#Wq:m:+)#
q5+l5q4''%m>c&•&)5l55.
;`=''%D:;7;-8(B5B.;`n5E:m:?:
5l!55&5E0=;l5q4''%-R4''%:l&=(
5E) @:ml5;7 )5'9m'9:-3c&0=,
@:ml5;7f;_#'9K'9Hh
—
›šKHœ-R &5
EA'*+@:ml5;7.k!:Bf;'&'-R 5&5E
l5q4''%ml.kl5;7;.; +%'&:Bk#TO3ZW-
16;t5&5EA–“
¤T“
¥¦“
Wml.kB;.;%'&A
;]
–THHHW¥
THHKW¥THKKW&'m<# %'&m&0=,_#!:B
T:
:
:
W-2+%'&m&0=,_#.k0#:Bk#
%'&A
;]
-
3.&f&!8ZƒaOZ.k=;t& &%)5A5
'-8&0=,l)&•.kA5&0@,?-85!q
68Zmlmn5+6:+,?;q.kBs'
#`k#-16;t&' )5 @:mml5E)BJX.&'
)5•:m@:m'ml5E)BJX-^lA5BEn
=,q&V
8ZT;W– TJ-YW
• 8.=,5E)H@&'?=,5E)n5E
@E:•&'?m-T+&_=€5 :'•KH‚W
• ]T;Wƒ=,5E)@&'?;-
• š]Th;WVh∈;œƒ=,5E)n5E @E:•&'?
-
1M885NOKP23QRL 8&HI
^yz38{83u/a|Q^}a/~22.JV2+!q5!
A5
/'9=;tqV
8ZT;W– TJ-XW
8&'mV
• ]T;Wƒ=,5E)@&'?;-
• ;Ns=,@&'?;
2+9&.?:l5;7;.;%'&V
- b,n5:9&..&E-
- 2m+9&. D#5=(:Bk#+9&..:mi
c&'#'-
- ^9&.&&V%'
id
m&En5+&_K;'mn59&.:5E
)&'?;
-
- /5B+?ml.k# +5B6U+
5B6-
B. Token
^l%o ;5?";`:+)8':%-2+8':%ml.k
%.+@%o.k+&@ ;5?-1+:6(>=,
=,:i)59).k'>:6(E5!8':%-2r>:6(.
:'&,+;E5ET-W;E5#ŒTW;E5ETVWS.k%.>
:6(l#+>+':%-
/)+#;t'B)m =,#.#+#.kn&
#.#+#:ƒ&;(&!,:!&!&1;•HL‚mPIP§t@B).k
E5'@HBY@-26Bl#++':%&''?m:–HJL
Y@n5H':%-^.k% &'>#.#+#.5!
=;t;7=;t-
^ ;@ 8=, 8G)T§W
H ŽPLL HJ-J
J YŽPPX Ix-H
L XxJx x-P
Y xKYK P-x
¨X JLKH L-H
8s=, xJPPY HKK
1M885NOKP23QRL 8&Hx
^yz38{83u/a|Q^}a/~22.JV2+!q5!
A5
Bảng 2. 1 : Tỉ lệ tần xuất độ dài của các từ xuất hiện trên Vdict
3'&.&8':%j%&•HY‚.k=;tl+@'+?
B1).k!q5#+&lfe!/*Q.3578_R/5n
5 “'8'+ƒ2ƒ808&.^0“'08(!^/†u/3 1)
3-2' 6+'PI§ƒPŽ§.k% &'>t,E
l#+':%-
2.2 Tìm hiểu về các phương pháp tính toán độ đo tương tự
^l='=+*=.;`='=+ 5 6"-O'*=
.;`m&En55 6:+5E5&"M.@>n6EM
:+56;t•=':#n5 6r•n>c`
n En."#+#:+5-/n5 6':micn9
>c"G5='=+=(:+5n@-26nB< 5
6=€m+#.#+#:+5-1n=€'6='
=+n9>c='=+"#+#V
ƒ Cách tiếp cận về cú pháp: 2':BA5n .("n>+
@>J55!G+#;t>+5Bn:6(f=(=:+
;'++'9n5B5,:+'=(=)n:6(M._&6>
+@-8.+5 66+.''%#%S
ƒ Cách tiếp cận về ngữ nghĩa:^.k=;tl'.+&_%'@l
:+5.>c.(-2ml6'+ .(;(&!
+ @l.‡'&;3%‡:#%;ml.k;(&!%'&
:,:!'9#6>cnŒ-
b5 =,#.#+#6'+ '.(V
2.2.1 Độ đo Jaro (Jaro 1995 , 1989 , Winkler 1999)
^ '©&'•X‚ &'>)#+#;(&!"#+#,.5.kB5
;'='=+5<w-3m.k;(&!=,.kq(+:i(5>
5<-©&'.k++ &'>#.#+#.:+)5A5-
u='J5<b–
H
J
“
8–
H
J
S
e
1:6(
&'b.k0:6
(58:"•n5:)
—
–
Tƒ/ª—ª˜//–W-8@mm
b
‹
–
H
J
S
“‹
8‹–
H
J
S
e‹
@m6.k8
b‹8‹
=,:6('+s
5<b‹8‹B5:6(_&6ab‹•
‹«
‹-^'.(>5<b8
.k6%'qV
b
©\g[
Tb8W–-T˜˜W TJ-IW
8&'mV
• ™=™™™ ;<5<=,
• ™=‹™™‹™=,:6(5
• 8=,:6('+s
1M885NOKP23QRL 8&HŽ
^yz38{83u/a|Q^}a/~22.JV2+!q5!
A5
3?HPPP #.#+#B;'‡:%&n;(!QQn
,55!b8Q‹–RTQYW-^ .(b8=€;(&!q=5V
©&'ƒ‡:%&Tb8W–©&'Tb8W˜KHŸQ‹ŸTHƒ©&'Tb8WW TJ-xW
Ví dụ 1 : Cho 2 chuỗi S = MARTHA và T = MARHTA ta có :
|S |= 6 ;|T |= 6 và H = =3
Từ đó ta tính được S’=MARTHA và T’=MARHTA
Và T
S,T
=2
Vậy độ tương tự của chúng là :
Sim
JARO
( S, T ) = . ( + + ) = 0,944
Lại có P = 3 => P’=Min(P,4)=3
Jaro-Winkler ( S , T ) = 0,944 + 0,1* 3* ( 1 – 0,944 ) = 0.961
Ví dụ 2 : Cho 2 chuỗi S = DWAYNE và T = DUANE ta có :
|S |= 6 ;|T |= 5 và H = =3
Từ đó ta tính được S’=DANE và T’=DANE
Và T
S,T
=0
Vậy độ tương tự của chúng là :
Sim
JARO
( S, T ) = . ( + + ) = 0,822
Lại có P = 1 => P’=Min(1,4)=1
Jaro-Winkler ( S , T ) = 0,822 + 0,1* 1* ( 1 – 0,822 ) = 0.84
Ví dụ 3 : Cho 2 chuỗi S = DIXON và T = DICKSONX ta có :
|S |= 5 ;|T |= 8 và H = =3
Từ đó ta tính được S’=DION và T’=DION
Và T
S,T
=0
Vậy độ tương tự của chúng là :
Sim
JARO
( S, T ) = . ( + + ) = 0,767
Lại có P = 2 => P’=Min(2,4)=2
Jaro-Winkler ( S , T ) = 0,767 + 0,1* 2* ( 1 – 0,767 ) = 0.813
1M885NOKP23QRL 8&HP
^yz38{83u/a|Q^}a/~22.JV2+!q5!
A5
2.2.2 Độ do SoftTFIDF
e &'>:c5D#6"#+#,E'5<;;(&!)='
=++':%Tt@W.(>5-4U+0>':%5>
'?=5m6 A5&0"'?-8@m=;t'=l6
.*>5-b']8ZaOZ•JX‚m.5l6V8q(8':%:
A5&0.':%:5=€:.fB '.(-
b;t8ZaOZl6G=, A5&0@'<?-8&'
1%'& )5.kl5;7U 1%'&&! D#@:'+Gt&'m
&0=,@:'+Gt.q<n5 +&_&':'•KH‚-
u01%'&l5;7)5bTh
H=
h
J=
Sh
=
W1%'&')58Th
H
h
J
S
h
=
W-^ .(>8†.k_c2'=%m>1%'&l5;7b
8qV
bTb8W– TJ-ŽW
11ThbW– TJ-PW
R .kl5#.#+#m&!+ 'mn5 .(
;'m,q-^l.k@h'J?b8:#"'"
M,5''6BR'%;:n&q6.=5V
2'J?b8.kl5;7f+t@'!&'b–
H
J
S
“
8–
H
J
S
e
m .(>b8.k6.=5V
bTb8W– TJ-HKW
^l+#;tq&!8ZƒaOZ#!’b']”&-u0b8J
?='=+2e[bT¬b8W–š5∈b™∃∈8V=-T5W•¬œ=-T5W
.(qE#>5-1<5∈2e[bT¬b8W9OT58W–
›8
=-T5W-
“m .(>b8#.#+#b']8ZƒaOZ.k6%'qV
b']8ZaOZTb®8W– TJ-HHW
2.2.3 Độ đo Edit Distance(ED)
^ '©&' r0:'+e%%=%•I‚ :+)“'+
e%%=%l):'+:+)>J5<:6(-“'+e%%=%
>5<b5<8=,.6EB5<b5<8A5L#o#B
sV
ƒ d'+H:6(-
ƒ 8!H:6(-
ƒ 8:6(U:6(:+-
1M885NOKP23QRL 8&JK
^yz38{83u/a|Q^}a/~22.JV2+!q5!
A5
“'+.k9%'!1;&e%%=%.n&:+)
'?HPIX-3m.k=;t&')6'+=(,:+5>J5<
. .& :l & < 6 hh'&;=#%%:%&- 16 ;tV “'+
e%%=%>J5<¢:%¢¢=¢L#;`6ELBs-
- :%ƒ•=%T¢:¢U¢=¢W
- =%ƒ•=T¢%¢U¢¢W
- =ƒ•=T!:6(¢¢W
^l6'+.k:'+>J5<=;t5D'+A5' -
^l0'5D'+`% 6;t=5V
2'd–
H
J
S
‰–
H
J
S
1
—
+:6(
;T—WV:'+>
H
J
S
H
J
S
—
1i.f=;tl5qA556;T—W@++&_.k6&.
m;-
4Bs5<
H
J
S
5<
H
J
S
—
ƒ 4Bs5<
H
J
S
ƒH
H
J
S
—ƒH
=5m'#
'
—
B5
–
—
ƒ 4Bs5<
H
J
S
ƒH
H
J
S
—ƒH
=5mB
f
—
B5
«
—
ƒ dm
=5mBs5<
H
J
S
ƒH
H
J
S
—
ƒ 4Bs5<
H
J
S
H
J
S
—ƒH
=5m!
—
u+&_;T—W,l5+#6Bsf&!-
8ml5qV
;T—W–R
1T
—
W–
^'.&©=50'5D'+A5' &!V
Cho 2 chuỗi s1,s2 ,khoảng cách giữa 2 chuỗi được tính trên mảng 2 chiều [m+1][n+1]
Với m,n lần lượt là chiều dài tương ứng của s1 và s2.
int [][]d=new int[m+1][n+1];
for (i=0;i<=m;i++){
d[i][0]=i;
}
for (j=0;j<=n;j++){
d[0][j]=j;
}
for (i=1;i<=m;i++){
for (j=1;j<=n;j++){
if (s1.charAt(i-1)==s2.charAt(j-1)){
cost=0;
1M885NOKP23QRL 8&JH
^yz38{83u/a|Q^}a/~22.JV2+!q5!
A5
}else{
cost=1;
}
d[i][j]=getmin(d[i-1][j]+1,d[i][j-1]+1,d[i-1][j-1]+cost);
}
}
16;tVb'=+5<:%=m=5V
: %
K H J L Y X I
= H H J L Y X I
J J H J L Y X
L L J H J L Y
Y Y L J H J L
X X Y L J J L
I I X Y L L J
x x I X Y Y L
Bảng 2. 2 : So sánh chuỗi kitten và stting
3.D:'+5<L-
8.(5<b5&;b5;
b 5 & ;
K H J L Y X I x Ž
b H K H J L Y X I x
5 J H H J J L Y X I
L J J J L L Y X I
; Y L L L L Y L Y X
X Y L Y Y Y Y L Y
I X Y Y X X X Y L
Bảng 2. 3 : So sánh chuỗi Saturday và Sunday
3.D:'+5<b5&;b5;L-
8@:'+5<6.k .(J5<A5
qV
1M885NOKP23QRL 8&JJ
^yz38{83u/a|Q^}a/~22.JV2+!q5!
A5
b
;O=%
Tb8W–Hƒ TJ-HJW
8&'m :
• =V+&_l='=+-
• ;V:'+T#6W>=-
• =Vn5;=.q-
• T=WVn5;,>=-
2.2.4 Độ đo ESA (Explicit Semantic Analysis)
2.2.4.1 Giới thiệu
3."E+#.#+#!5&!n5=;t=(,5n"
#+#T>++@t@Wl6'+=(.*>+'?-b'n9
>c:.k6B-26B#b%\== Tb\W•x‚ :v
5D=;t‡:#%;l6'+A5)>c.k' &'>
#.#+#,E)-
86'+A5)>c+?>(!r•#&5D#
' .k+:Bq5c(:BqBtl-
eB'ml6'+.k=(!A5>’''”’'5 ”¯
/>n¢5Œ_'¢¢B +'¢¯-^En.k'.
().5!&'5 =,.,+6m +q-
2'.:G++?fq@0++"=5=w
n5;(&!n:Bq:)0-8@5Eni>(
!.k.'+6-di>(!Tnatural language processingƒ
3eQW +&65)'D#&5'+q;t&!>'
.-8&'&65)'i>(! &'>#:mE
m!A5B)#l5ic>t''E.
;5'B#-
Q.#+#b\5E#+@i.f5,?.=,.k;)'?
;(&!.k:Bq5B-2"()6'+l5;7?
;(&! D#k#+:+).kl5)U+&0=,'B=(!A5
?+:+)(!+_.k'.'&ml;7;
6-^l.kn5"=;t+:+).k‡:#%;_c
kB+:''.E;EB=,.k:+)?
!:@%'-
‡:#%; +:''. ;5fUn5>&!a%&%-
‡:#%;.kB;(;'&En5.;`` +5'!
5,s>BGm &;5)‡%:?&5D#a%&%-
O(+m5w5@HX+H?JKKHls=5+:''
.35#%;f > 5! ) ‡:#%; &( 5 †5v /< &k
‡:%; sq#k5D-‡:#%;)mYKK&)5BLL
1M885NOKP23QRL 8&JL
^yz38{83u/a|Q^}a/~22.JV2+!q5!
A5
&)5&'#!B\TEnglish WikipediaWmJ&)5BUB
1)'+H?JKKImmxXK-KKK!-8@:m.kf
‡:#%;sB
=(m=&;(+!
A5-‡:#%;)mJKK#!>&'m':'HKK'
-HX#!mXKK-KKKBVB\^qQ+#4e3D£8t
^l/e4*^'3843/'33‘Qe†5,B>B
1)-Q!B^q.k#+&!cO1On5#!:+.k
='o#A5h%=%:+-
2.2.4.2 Xây dựng phương pháp ESA
^l;(#.#+#b\"#()A5Y.V
ƒ eEi;>)5@‡:#%;-
ƒ 86'+;>)5E@‡:#%;-
ƒ 86'+ !A5?%'&.k;)f+:+)
‡:#%;-
ƒ b;t+5D'+l6 .(>J?-
Hình 2. 1 : Thuật toán ESA
A. Lấy và xử lý dữ liệu Wikipedia
R<:+)&!‡:#%;;5E.k+_f ‘ga".k
;(''f>(!-R<:+).k6f B
'A5:+)>Fn!A5B:+)-
^5!l;(+:)#E.k;>)5@‡:#%;-1n#6
;(#+&l‡:#%;m5E#='o#;>)5n‡:#%;%'
1M885NOKP23QRL 8&JY
^yz38{83u/a|Q^}a/~22.JV2+!q5!
A5
_:-3.;`ml&5D#'#V°°;5#=-h:%;-'&°lE;>)5-2"
.kn5qB5#;%+:l5;>)5'.;`(
0-2";( )5B)!=€&5D#'_Gq+='
.5‡:#%;•HX‚-
Hình 2. 2 : Nguồn dữ liệu Wikipedia
b5mE;>)5;l+;>)5-O>)55.k'*H-HYJ-XYL
:+)=5:'•>:+)w6HKK@m6X:!:B
n"rJPH-JJK:+)-b5E5&"H:+);.;dReV
<page>
<title>Chè</title>
<ns>0</ns>
<id>11531</id>
<revision>
<id>5364458</id>
<parentid>5364261</parentid>
1M885NOKP23QRL 8&JX