Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Nguyễn Thị Kim Chi
GIẢI PHÁP TÌM KIẾM NGƯỜI THEO TÊN TRÊN WEB DỰA TRÊN PHÂN CỤM PHÂN CẤP VÀ XẾP HẠNG CẶP THỨ TỰ VÀ THỬ NGHIỆM VÀO HỆ THỐNG TÌM KIẾM THỰC THỂ NGƯỜI TIẾNG
VIỆT
KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Công Nghệ Thông Tin
HÀ NỘI - 2011
ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Nguyễn Thị Kim Chi
GIẢI PHÁP TÌM KIẾM NGƯỜI THEO TÊN TRÊN WEB DỰA TRÊN PHÂN CỤM PHÂN CẤP VÀ XẾP HẠNG CẶP THỨ TỰ VÀ THỬ NGHIỆM VÀO HỆ THỐNG TÌM KIẾM THỰC THỂ NGƯỜI TIẾNG
VIỆT
KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Công Nghệ Thông Tin
Cán bộ hướng dẫn: ThS.Nguyễn C�m Tú
HÀ NỘI - 2011
i
Lời cảm ơn
Trước tiên, tôi xin gửi lời cảm ơn và lòng biết ơn sâu sắc nhất tới Phó Giáo
sư Tiến sĩ Hà Quang Thụy và Thạc sĩ Nguyễn CNm Tú, những người đã tận tình chỉ
bảo và hướng dẫn tôi trong suốt quá trình thực hiện khoá luận tốt nghiệp.
Tôi chân thành cảm ơn các thầy, cô đã tạo những điều kiện thuận lợi cho tôi
học tập và nghiên cứu tại trường Đại học Công nghệ.
Tôi cũng xin gửi lời cảm ơn tới các anh chị, các bạn và các em sinh viên
trong phòng nghiên cứu SIS-KTLab đã giúp tôi rất nhiều trong việc hỗ trợ kiến thức
chuyên môn để hoàn thành tốt khoá luận. Khóa luận này nhận được sự hỗ trợ từ đề
tài QG.10.38.
Cuối cùng, tôi muốn gửi lời cảm vô hạn tới gia đình và bạn bè, những người
thân yêu luôn bên cạnh và động viên tôi trong suốt quá trình thực hiện khóa luận tốt
nghiệp.
Tôi xin chân thành cảm ơn!
Sinh viên
Nguyễn Thị Kim Chi
ii
Tóm tắt
Qua máy tìm kiếm thông dụng, người dùng đưa truy vấn về thực thể quan
tâm dưới dạng một từ khóa hoặc một cụm từ khóa và nhận kết quả trả về là một
danh sách địa chỉ các trang Web chứa từ khóa/cụm từ khóa đó. Sự phát triển không
ngừng của kỹ thuật trích chọn thông tin dẫn tới sự ra đời của máy tìm kiếm thực thể
mà kết quả trả về của nó là thực thể mà không là địa chỉ. Do thực thể người thuộc
loại được tìm kiếm nhiều nhất, vì vậy tìm kiếm thực thể người là một nội dung
nghiên cứu nhận được sự quan tâm đặc biệt hiện nay.
Khóa luận nghiên cứu các giải pháp tìm kiếm người theo tên trên Web, tập
trung vào hai vấn đề chính là phân biệt nhập nhằng tên người và xếp hạng thực thể
người cùng tên trên miền dữ liệu giáo dục tiếng Việt dựa trên các thông tin về thực
thể người. Trên cơ sở đó, khóa luận đề xuất một mô hình hệ thống tìm kiếm thực thể
người tiếng Việt thực nghiệm.
Thực nghiệm ban đầu với tập tên người Việt Nam phổ biến cho thấy mô hình
tìm kiếm người theo tên trên Web có độ chính xác tương đối cao và đạt độ đo phân
cụm ở mức 0.86 và xếp hạng thực thể ở mức 0.8. Kết quả này cho thấy mô hình tìm
kiếm người theo tên tiếng Việt trên Web dược đề xuất và triển khai là có tính khả
quan.
iii
Lời cam đoan
Tôi cam đoan giải pháp tìm kiếm người trên Web dựa trên thuật toán phân
cụm phân cấp và xếp hạng cặp thứ tự và thực nghiệm được trình bày trong khóa
luận là do tôi thực hiện dưới sự hướng dẫn của PGS.TS Hà Quang Thụy và ThS.
Nguyễn CNm Tú.
Trong toàn bộ nội dung của khóa luận, những điều được trình bày hoặc là của
cá nhân hoặc là được tổng hợp từ nhiều nguồn tài liệu. Tất cả các tài liệu tham khảo
đều có xuất xứ rõ ràng và được trích dẫn hợp pháp.
iv
MỤC LỤC
MỞ ĐẦU ..................................................................................................................... 1
Chương 1. Khái quát bài toán tìm kiếm người trên Web ............................................ 3
1.1. Hệ thống tìm kiếm thực thể .................................................................................. 3
1.1.1. Dữ liệu Web và vấn đề tìm kiếm thông tin trên Web ................................... 3
1.1.2. Hệ thống tìm kiếm thực thể ........................................................................... 4
1.2. Bài toán tìm kiếm người trên Web ...................................................................... 9
1.2.1. Đặt vấn đề ...................................................................................................... 9
1.2.2. Phát biểu bài toán .......................................................................................... 9
1.2.3. Một số nội dung chính ................................................................................... 9
1.2.4. Phương pháp đánh giá ................................................................................. 10
Chương 2: Vấn đề phân biệt nhập nhằng tên người và xếp hạng kết quả tìm kiếm người cùng tên ........................................................................................................... 14
2.1. Vấn đề phân biệt nhập nhằng tên người ............................................................. 14
2.1.1. Phát biểu bài toán phân biệt nhập nhằng tên nguời .................................... 14
2.1.2. Một số phương pháp tiếp cận giải quyết vấn đề nhập nhằng tên người trên Web ........................................................................................................................... 14
2.1.2.1. Hướng tiếp cận dựa trên phân cụm bán giám sát ............................... 14
2.1.2.2. Các tiếp cận dựa trên kỹ thuật phân cụm hai trạng thái ..................... 17
2.1.2.3. Các hướng tiếp cận khác .................................................................... 19
2.4. Một số hướng tiếp cận giải quyết vấn đề xếp hạng thực thể ............................. 20
2.4.1. Phát biểu bài toán xếp hạng thực thể .......................................................... 20
2.4.2. Một số hướng tiếp cận giải quyết bài toán xếp hạng thực thể .................... 21
2.4.2.1. Hướng tiếp cận dựa trên điểm số tương đồng và liên kết .................. 21
2.4.2.2. Hướng tiếp cận dựa trên Mô hình Impression ................................... 23
Chương 3. Mô hình giải quyết bài toán tìm kiếm người trên Web .......................... 28
3.1. Cơ sở lý thuyết ................................................................................................... 28
3.1.1. Thuật toán phân cụm HAC ......................................................................... 28
3.1.2. Độ tương đồng cosin ................................................................................... 31
v
3.1.3. Phương pháp PageRank ............................................................................. 31
3.1.4. Phương pháp xếp hạng cặp thứ tự (Pairwise) ............................................ 32
3.2. Mô hình giải quyết bài toán tìm kiếm người trên Web ...................................... 32
3.3. Áp dụng bài toán tìm kiếm người theo tên trên Web vào hệ thống tìm kiếm thực thể người .................................................................................................................... 38
Chương 4. Thực Nghiệm và đánh giá ....................................................................... 39
4.1. Mô tả thực nghiệm ............................................................................................. 39
4.2. Môi trường và công cụ sử dụng thực nghiệm .................................................... 39
4.3. Xây dựng tập dữ liệu thực nghiệm ..................................................................... 40
4.5. Thực nghiệm và Kết quả .................................................................................... 41
Kết luận ..................................................................................................................... 48
vi
Danh sách các bảng
Bảng 1. Danh sách các thuộc tính được đề xuất trong hội nghị WebPS-3. ............. 34
Bảng 2. Các thuộc tính được sử dụng trong khóa luận ............................................. 35
Bảng 3. Một số đặc trưng sử dụng để trích chọn ...................................................... 36
Bảng 3. Tập tên người thực nghiệm .......................................................................... 41
Bảng 4. Kết quả phân cụm ........................................................................................ 43
Bảng 5. Một số kết quả xếp hạng .............................................................................. 43
Bảng 6. Đánh giá kết quả phân cụm ......................................................................... 45
Bảng 7. Đánh giá kết quả xếp hạng ........................................................................... 46
vii
Danh Sách hình vẽ
Hình 1. Kết quả trả về từ google với truy vấn ” Sony VaiO FZ150F ......................... 5
Hình 2. Mô hình tìm kiếm truyền thống và tìm kiếm thực thể ................................... 5
Hình 3. Kiến trúc cơ bản hệ thống tìm kiếm thực thể ................................................. 6
Hình 4. Hệ thống tìm kiếm thực thể dựa trên kỹ thuật trích rút thông tin ................. 7
Hình 5. Hệ thống tìm kiếm người iSearch. ................................................................. 8
Hình 6. Mô hình hệ thống xếp hạng thực thể ........................................................... 21
Hình 7. Mô hình Impression .................................................................................... 25
Hình 8. Sơ đồ thuật toán phân cụm HAC ................................................................. 28
Hình 9. Phân cụm với độ đo single-link ................................................................... 30
Hình 10. Phân cụm với độ đo complete-link ............................................................ 30
Hình 11. Mô hình giải quyết bài toán ....................................................................... 33
Hình 12. Mô hình đề xuất xây dựng hệ thống tìm kiếm ......................................... 338
Hình 13. Ví dụ các thuộc tính sau khi trích chọn ...................................................... 42
viii
Danh Sách các từ viết tắt
HAC Hierarchical Agglomerative Clustering
WWW World Wide Web
IR Information Retrieval
WebPS Web People Search
1
MỞ ĐẦU
Sự ra đời của máy tìm kiếm đã giúp cho người dùng khai thác thông tin một
cách thuận tiện hơn. Tuy nhiên, các kết quả trả về từ máy tìm kiếm vẫn còn nhiều
hạn chế, đặc biệt là khi người dùng muốn tìm kiếm thông tin về một đối tượng cụ
thể thì các kết quả trả về chỉ là tập địa chỉ các trang Web chứ không phải là các
bản ghi về đối tượng cần tìm. Một trong những loại tìm kiếm đối tượng phổ biến
nhất là tìm kiếm người nhưng thực thể người lại là một trong những loại thực thể
có độ nhập nhằng cao nhất, các kết quả trả về từ máy tìm kiếm sẽ bao gồm tập địa
chỉ các trang web liên quan tới nhiều người chia sẻ cùng một tên. Hơn thế nữa, các
thực thể người tìm kiếm được không chỉ được lấy ra từ một trang độc lập mà có
thể được tổng hợp từ nhiều trang khác nhau. Vì vậy, cần thiết một hệ thống có khả
năng gom cụm kết quả sao cho những trang Web thuộc cùng một cụm sẽ cùng trỏ
tới một người đồng thời có khả năng xếp hạng các thực thể người được trích rút từ
các cụm.
Vấn đề tìm kiếm người trên Web ngày càng nhận được sự quan tâm nghiên
cứu trên thế giới. Đặc biệt là các hội nghị khoa học về tìm kiếm người trên Web
[16].
Khóa luận tốt nghiệp với đề tài Giải pháp tìm kiếm người theo tên trên
Web dựa trên phân cụm phân cấp và xếp hạng cặp thứ tự và thử nghiệm vào hệ
thống tìm kiếm thực thể người tiếng Việt nhằm khảo sát, phân tích một số phương
pháp phân cụm và xếp hạng thực thể đang được quan tâm hiện nay. Từ đó, đưa ra
mô hình phân cụm và xếp hạng thực thể người trong hệ thống tìm kiếm thực thể
người tiếng Việt.
Khóa luận gồm các nội dung chính cơ bản sau:
Chương 1: Khái quát bài toán tìm kiếm người trên Web trình bày khái
quát nhu cầu tìm kiếm thông tin trên Web, hệ thống tìm kiếm thực thể người.
Đồng thời, khóa luận cũng trình bày khái quát và một số nội dung liên quan chính
tới bài toán tìm kiếm người trên Web, bao gồm phương pháp đánh giá giải pháp
tìm kiếm người trên Web.
2
Chương 2: Vấn đề phân biệt nhập nhằng tên người và xếp hạng kết
quả tìm kiếm người cùng tên tập trung trình bày một số hướng tiếp cận giải
quyết vấn đề nhập nhằng tên người như phân cụm bán giám sát [10], phân cụm hai
trạng thái [12], hoặc một số tiếp cận khác [9, 6]) và một số mô hình nhằm xếp
hạng thực thể người trong kết quả tìm kiếm như tính hạng theo điểm số tương
đồng và liên kết [4], theo mô hình Impression [13].
Chương 3: Mô hình giải quyết bài toán tìm kiếm người trên Web trình
bày mô hình đề xuất nhằm giải quyết phân biệt người cùng tên và xếp hạng trong
hệ thống tìm kiếm người trên Web. Khóa luận sử dụng kỹ thuật trích xuất đặc
trưng và thuật toán phân cụm phân cấp HAC để giải quyết vấn đề phân biệt nhập
nhằng tên người và dựa trên hàm tính điểm số để xếp hạng thực thể.
Chương 4: Thực nghiệm và đánh giá trình bày quá trình thử nghiệm việc
phân cụm và xếp hạng thực thể người với tập dữ liệu kiểm thử là những tên người
phổ biến, đưa ra kết quả thực nghiệm và các đánh giá sơ bộ.
Kết luận: Tóm lược các kết quả đã đạt được của khóa luận và các định
hướng phát triển trong tương lai.
3
Chương 1. Khái quát bài toán tìm kiếm người trên Web
Nhu cầu tìm kiếm thông tin là một nhu cầu cần thiết và tất yếu trong cuộc
sống con người. Internet là một kho thông tin khổng lồ được coi là không giới hạn.
Tuy nhiên, việc khai thác thông tin trên Internet gặp phải nhiều khó khăn và thách
thức vì tính đa dạng và phi cấu trúc. Với các máy tìm kiếm thông dụng hiện nay như
Google, Yahoo, MSN…., truy vấn người dùng đưa vào là tập các từ khóa và kết quả
trả về chỉ là các địa chỉ tới các trang web trong khi người dùng mong muốn nhận
được các bản ghi về đối tượng cần tìm. Một trong những đối tượng được tìm kiếm
nhiều nhất là thực thể người. Chương này sẽ trình bày một số vấn đề và nội dung
liên quan tới bài tóan tìm kiếm người trên Web.
1.1. Hệ thống tìm kiếm thực thể
1.1.1. Dữ liệu Web và vấn đề tìm kiếm thông tin trên Web
Hiện nay, người dùng có thể truy cập nguồn tài nguyên Web mọi lúc, mọi nơi
và tìm kiếm, tổng hợp các thông tin cần thiết. Cùng với sự thay đổi và phát triển
hàng ngày hàng giờ về nội dung cũng như số lượng của các trang Web trên Internet
thì vấn đề tìm kiếm thông tin đối người dùng ngày càng trở lên khó khăn. Dữ liệu
Web mang một vài đặc điểm sau[1]:
� Web dường như quá lớn để tổ chức thành một kho dữ liệu phục vụ khai
phá dữ liệu.
� Độ phức tạp của trang Web lớn hơn rất nhiều so với những tài liệu văn
bản truyền thống khác.
� Web là một nguồn tài nguyên thông tin có độ thay đổi cao.
� Web phục vụ một cộng đồng người dùng rộng lớn và đa dạng.
� Chỉ một phần rất nhỏ của thông tin trên Web là thực sự hữu ích.
Tuy nhiên, cùng với sự đa dạng và số lượng lớn thông tin như vậy đã nảy
sinh vấn đề quá tải thông tin. Người ta không thể tìm tự kiếm địa chỉ trang Web
chứa thông tin mà mình cần, do vậy đòi hỏi cần phải có một trình tiện ích thực
hiện việc quản lý nội dung trang Web, tiếp nhận yêu cầu tìm kiếm của người dùng,
cập nhật thông tin từ WWW phù hợp để cung cấp cho họ các trang Web có nội
dung đáp ứng yêu cầu tìm kiếm.
4
Máy tìm kiếm ra đời giúp cho việc tìm kiếm thông tin thuận lợi hơn, đáp ứng
phần nào nhu cầu tìm kiếm của người dùng. Kết quả trả về từ máy tìm kiếm là danh
sách các trang Web(tài liệu) có chứa từ khóa nói trên và được liệt kê theo thứ tự về
độ quan trọng hay “hạng” của chúng. Tuy nhiên, trong quá trình tìm kiếm thông tin
gặp một số khó khăn như danh sách kết quả quá dài bao gồm cả thông tin người
dùng quan tâm và cả thông tin mà họ không quan tâm. Do đó, người dùng phải mất
thời gian duyệt qua từng trang để tìm thông tin mà mình mong muốn. Ngoài ra, số
lượng từ khóa trong câu hỏi ít và đặc biệt là có ngữ nghĩa không rõ ràng cũng là một
vấn đề khó khăn trong quá trình tìm kiếm thông tin.
Tìm kiếm hướng thực thể là một trong những hướng đang ngày càng được
quan tâm nhằm giải quyết những hạn chế của các hệ thống tìm kiếm thông tin hiện
tại như google, yahoo…, đem lại chất lượng khai thác thông tin tốt hơn tới người
dùng. Hướng tìm kiếm thực thể này sẽ được trình bày ở phần tiếp theo của khóa
luận.
1.1.2. Hệ thống tìm kiếm thực thể
Người dùng thường tìm kiếm thông tin về đối tượng nào đó. Với các máy tìm
kiếm hiện nay (Google, Yahoo, MSN..) bằng cách so sánh văn bản trên từng trên
Web với truy vấn và trả về cho người dùng địa chỉ các trang mà có chứa từ khóa
trong truy vấn. Như vậy, mức độ chọn lọc thông tin phù hợp với yêu cầu người dùng
của các máy tìm kiếm thông thường vẫn chưa cao.
Ví dụ: Người dùng muốn tìm kiếm thông tin như giá cả, kích thước màn hình,
dung lượng ổ đĩa, tốc độ…. của dòng máy tính xác tay Sony VaiO FZ150F. Với
máy tìm kiếm thông thường như Google, người dùng nhập từ khóa “Sony VaiO
FZ150F”. Kết quả nhận được như sau:
5
Hình 1. Kết quả trả về từ google với truy vấn ” Sony VaiO FZ150F”.
Khác với máy tìm kiếm thông thường, kết quả trả về của máy tìm kiếm thực
thể là các thực thể của đối tượng cần tìm, mỗi thực thể được xác định không chỉ xét
trên một trang độc lập mà có thể được tổng hợp qua nhiều trang Web. Hệ thống tìm
kiếm thực thể sẽ cung cấp thông tin lọc ở mức cao hơn cho người dùng.
Sau đây là một hình ảnh minh họa hai mô hình tìm kiếm truyền thống và mô
hình tìm kiếm thực thể được đưa ra bởi nhóm tác giả Kevin Chen –Chuan ChangTao
Cheng và Kim Cuong Pham [17]
Hình 2. Mô hình tìm kiếm truyền thống và tìm kiếm thực thể[17]
Từ khóa
Kết quả
Thực thể
Kết quả
6
Tao Cheng, X.Yan v Kevin C.C Chang cũng đã đưa ra một kiến trúc cơ bản
của máy tím kiếm thực thể. [2] [5]
Hình 3. Kiến trúc cơ bản hệ thống tìm kiếm thực thể[5]
Kiến trúc hệ thống tìm kiếm thực thể gồm 2 bộ phận chính: bộ phận xử lý
ngoại tuyến (phần được bao bằng nét đứt) và bộ phận xử lý trực tuyến (phần được
bao bằng nét liền).
Bộ phận xử lý ngoại tuyến gồm hai pha chính là trích chọn thực thể và đánh
chỉ mục thực thể, từ khóa
� Trích chọn thực thể (Entity Extractor): thực hiện việc trích chọn các thực
thể từ các trang Web. Việc trích chọn có thể sử dụng biểu thức chính quy
để trích chọn ra địa chỉ mail hoặc sử dụng phân lớp thống kê để trích
chọn ra địa chỉ địa điểm.
� Đánh chỉ mục cho thực thể và từ khóa: thực hiện việc đánh chỉ mục và
chỉ mục ngược cho các thực thể được trích chọn từ module trích chọn
thực thể trên
7
Bộ phân xử lý trực tuyến thực hiện xếp hạng thực thể gồm hai pha chính là
xử lý truy vấn toàn cục (global) và xử lý truy vấn cục bộ (local)
� Xử lý truy vấn cục bộ: từ chỉ mục ngược của tất cả các thực thể, module
thực hiện phép ánh xạ vào tài liệu để tìm ra các tài liệu chứa các thực thể
và từ khóa thỏa mãn. Trọng số cục bộ được xác định dựa vào độ tin cậy
của thực thể đó với 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.
� Xử lý truy vấn toàn cục: Module thực hiện nhận truy vấn người dùng,
đNy truy vấn cho module xử lý truy vấn cục bộ và nhận kết quả trả về từ
module này. Sau khi nhận được các trọng số cục bộ, module tiến hành
tổng hợp trọng số cho từng bộ thực thể , kết hợp trọng số cục bộ và trọng
số xác định cho thực thể đó trên toàn tập tài liệu để đạt giá trị điểm cuối
cùng cho xếp hạng thực thể.
Dưới đây là kiến trúc một hệ thống tìm kiếm thực thể tiêu biểu dựa trên kỹ
thuật trích xuất thông tin[3].
Hình 4. Hệ thống tìm kiếm thực thể dựa trên kỹ thuật trích rút thông tin [3]
Mô hình hệ thống tìm kiếm thực thể dựa trên kỹ thuật trích xuất thông tin
gồm các phần chính sau[3]:
8
� Trích xuất thông tin về thực thể: thực hiện trích xuất các thông tin liên
quan đến thực thể này từ tất cả các trang Web chứa loại thực thể.
� Tổng hợp thực thể: Mỗi thực thể được trích chọn sẽ được ánh xạ tới một
đối tượng thế giới thực và lưu trữ vào trong kho dữ liệu Web. Việc tổng
hợp thực thể cần hợp nhất các thông tin liên quan tới cùng một thực thể
và phân biệt các thực thể khác nhau.
� Tìm kiếm thực thể: sau khi trích xuất các thông tin về thực thể và tổng
hợp thực thể, hệ thống cung cấp các thông tin cần thiết cho người dùng.
Ngoài ra, để đạt hiệu quả tốt hơn trong kết quả tìm kiếm, hệ thống cần
một mô hình xếp hạng hiệu quả.
Một số hệ thống tìm kiếm thực thể tiêu biểu như hệ thống Hệ thống Cazoodle
tại Việt Nam được sự hỗ trợ phát triển của nhóm nghiên cứu của Kevin Chen-Chuan
Chang (http://cazoodle.com). Ngoài ra, còn có các hệ thống như iSearch
(Spock.com) và Zoominfor (Zoominfo.com)
Hình 5. Hệ thống tìm kiếm người iSearch.
9
1.2. Bài toán tìm kiếm người trên Web
1.2.1. Đặt vấn đề
Với các máy tìm kiếm thông dụng hiện nay như Google, Yahoo, MSN, truy
vấn mà người dùng đưa vào là tập các từ khóa và kết quả trả về là danh sách các địa
chỉ tới các trang web. Do vậy để nhận được thông tin mong muốn, người dùng phải
duyệt qua từng địa chỉ web đó, và có thể phải duyệt qua nhiều trang không có thông
tin mong muốn.
Với sự phát triển của các kỹ thuật rút trích thông tin IR (Information
Retrieval ) cụ thể là rút trích các thực thể, kết quả trả về cho người dùng thay vì chỉ
là các địa chỉ web, người dùng còn nhận được các thông tin cụ thể về đối tượng
mình mong muốn tìm kiếm. Tìm kiếm người là một trong những lĩnh vực được tìm
kiếm nhiều nhất [7]: 11% đến 17% trong một truy vấn chứa một tên người, 4% truy
vấn là một tên người. Tuy nhiên, vấn đề tìm kiếm người trên Web sử dụng máy tìm
kiếm gặp phải khó khăn bởi có rất nhiều phép ánh xạ giữa các tên người với những
người riêng biệt, đặc biệt trong trường những người khác nhau có cùng tên mà người
chúng ta muốn tìm chỉ là một trong số những người cùng tên đó. Vấn đề đặt ra là
làm thế nào để phân biệt những người khác nhau có cùng tên. Ngoài ra, các thông
tin nhận được về người cần tìm không chỉ được xét trên một trang độc lập mà có thể
được tổng hợp qua nhiều trang Web. Vì vậy, một vấn đề quan trọng nữa đặt ra trong
quá trình tìm kiếm người là đưa các thực thể phù hợp với truy vấn nhất lên đầu tiên
trong danh sách trả về cho người dùng.
1.2.2. Phát biểu bài toán
Bài toán tìm kiếm người trên Web với mục đích là với mỗi tên người cho
trước, cần phải phân biệt những người khác nhau có cùng tên và đưa ra danh sách
đã được xếp hạng các thực thể người cùng tên đó trên tập các trang Web.
Miền dữ liệu của bài toán là tập các trang Web .edu hoặc .edu.vn
1.2.3. Một số nội dung chính
Trong khóa luận này, bài toán tìm kiếm người trên Web gồm hai nội dung
chính
Nội dung chính thứ nhất: Vấn đề phân biệt nhập nhằng tên người.
10
Với truy vấn của người dùng là một tên người, máy tìm kiếm sẽ trả lại danh
sách các trang Web chứa tên người đó. Tuy nhiên, không phải tất cả các trang Web
nhận được cùng trỏ tới một người mà sẽ trỏ tới nhiều người khác nhau chia sẻ
cùng tên đó. Theo thống kê điều tra dân số của Mỹ và được báo cáo tại hội nghị
WebPS-3, 2010 , tên người có độ nhập nhằng cao[7]: với 90.000 tên người khác
nhau đã được chia sẻ cho hơn 100.000.000 người. Ví dụ, với truy vấn là “Nguyễn
Hữu Đức” thì trong hàng trăm kết quả trả về từ máy tìm kiếm Google, bên cạnh
PGS.TS. Nguyễn Hữu Đức-Giám đốc Đại Học Quốc gia còn có một Nguyễn Hữu
Đức, một cố Hiệu trưởng trường Đại Học Đà Lạt hoặc là một du khách hoặc một
trưởng phòng Giáo Dục và Đào Tạo tỉnh An Giang. Vì vậy, vấn đề đặt ra là gom
cụm những người có cùng tên. Mỗi cụm chứa thông tin về một người, các cụm
khác nhau sẽ trỏ tới những người khác nhau.
Nội dung chính thứ hai: Vấn đề xếp hạng kết quả tìm kiếm người cùng
tên.
Kết quả nhận được sau bước phân biệt nhập nhằng tên người là tập các cụm
trang Web chứa tên người cho trước. Mỗi cụm sẽ trỏ tới một người. Với kỹ thuật
trích rút thực thể, thay vì tập các trang Web chứa tên người, kết quả nhận được sẽ
là danh sách các thực thể người cùng tên từ các cụm. Không chỉ tìm được thực thể
người mà vấn đề trong các máy tìm kiếm là những thực thể phù hợp nhất được đưa
lên từ những kết quả đầu tiên trả về cho người dùng. Cũng như máy tìm kiếm
thông thường xếp hạng là vấn đề quan trọng, xếp hạng thực thể là vấn đề cốt lõi
trong máy tìm kiếm thực thể.
1.2.4. Phương pháp đánh giá
Phương pháp đánh giá kết quả tìm kiếm người dựa trên hai phương pháp
đánh giá phân cụm và phương pháp đánh giá xếp hạng thực thể.
• Phương pháp đánh giá phân cụm thực thể người
Một phương pháp đánh giá điển hình được Javier Artiles và cộng sự [8]
trình bày tại hội nghị WebPS-1 (2007) dựa trên độ tinh khiết (purity), độ nghịch
đảo tinh khiết (inverse purity) và độ đo F.
11
Các ký hiệu chung:
C = {C1, C2, … } là tập các cụm cần đánh giá
L = {L1, L2, … }là tập các mục được đánh giá bằng tay
n là số lượng văn bản được phân cụm
Công thức độ tinh khiết
� Độ tinh khiết được tính bằng phương pháp lấy trung bình có trọng số
độ chính xác của việc phân cụm.
( )∑=i
ji
iLCprecision
n
Cpurity ,max
Trong đó độ chính xác của cụm Ci ứng với mỗi cụm Lj được định nghĩa như
sau
ijiji CLCLCprecison /),( ∩=
� Công thức độ nghịch đảo tinh khiết
( )∑=i
ji
iCLprecision
n
Lpurityinv ,max.
� Công thức độ đo F:
purityinvpurity
F
.
1)1(
11
αα −+
=
Chúng tôi chọn và để đánh giá hệ thống.
• Phương pháp đánh giá vấn đề xếp hạng thực thể
Để đánh giá xếp hạng chất lượng một xếp hạng, các độ đo thông dụng trong
học máy như độ chính xác, độ hồi tưởng, độ đo F không sử dụng. Xếp hạng yêu
cầu các đối tượng phù hợp với tiêu chí cần được xếp ở các vị trí đầu tiên trong kết
quả tìm kiếm[3].
Các độ đo chính xác xếp hạng thường được sử dụng:
� Độ chính xác mức K: P@K
12
Độ chính xác xếp hạng ở mức K (Precisio@K) viết tắt P@K là độ chính
xác của K đối tượng đầu tiên trong bảng xếp hạng. Xác định số đối tượng đúng ở
K vị trí đầu tiên của xếp hạng Match@K. Độ chính xác mức K được tính như sau:
K
KMatchKP
@@ =
� Độ chính xác trung bình MAP
Độ chính xác trung bình là giá trị trung bình của các P@K tại các mức K có
đối tượng đúng.
Độ chính xác trng bình được tính theo công thức:
∑
∑
=
=
×
=n
j
n
K
jI
KIKP
AP
1
1
)(
)(@
Trong đó, I(K) là hàm xác định đối tượng ở vị trí hạng K
nếu đúng I(K)=1 và ngược lại I(K) = 0.
n là số đối tượng được xét.
Giá trị trung bình của AP trên các truy vấn
m
AP
MAP
m
i
i∑== 1
� Trung bình nghịch đảo thứ hạng: MRR
Nghịch đảo hạng RR=1/r với r là vị trí hạng của đối tượng đúng đầu tiên
trong bảng xếp hạng. Trung bình nghịch đảo thứ hạng là giá trị trung bình nghịch
đảo thứ hạng RR cả tất cả các truy vấn/ hay xếp hạng đang xét.
m
RR
MRR
m
i
i∑== 1
Tóm tắt chương một
Trong chương một, khóa luận trình bày khái quát về hệ thống tìm kiếm thực
thể người và bài toán tìm kiếm người trên Web. Đồng thời, khóa luận cũng trình
13
bày một số nội dung chính liên quan tới bài toán và phương pháp đánh giá cho bài
toán tìm kiếm người trên Web.
Trong chương tiếp theo, khóa luận nêu ra một số phương pháp giải quyết
được áp dụng thành công đối với các vấn đề chính trong bài toán tìm kiếm người
trên Web.
14
Chương 2. Vấn đề phân biệt nhập nhằng tên người và xếp hạng kết quả
tìm kiếm người cùng tên
Trong chương này, khoá luận trình bày hai vấn đề chính trong bài toán tìm
kiếm người trên Web là vấn đề phân biệt nhập nhằng tên người và vấn đề xếp hạng
kết quả tìm kiếm người cùng tên với một số hướng tiếp cận giải quyết các vấn đề
này. Với mỗi miền dữ liệu khác nhau, các nhóm tác giả đề xuất các phương pháp
giải quyết vấn đề khác nhau. Trên thế giới, vấn đề phân biệt nhập nhằng tên người
đã được quan tâm nghiên cứu từ lâu và đã đạt được những kết quả khá tốt, điển hình
là phương pháp phân cụm dữ liệu. Bên cạnh đó, vấn đề xếp hạng thực thể cũng tồn
tại một số hướng giải quyết được đề xuất bởi một số nhóm tác giả. Trong phần này,
khoá luận sẽ trình bày một số hướng tiếp cận tiêu biểu dựa trên phương pháp phân
cụm dữ liệu để giải quyết vấn đề nhập nhằng tên người và các hướng tiếp cận cũng
như mô hình giải quyết tiêu biểu vấn đề xếp hạng thực thể.
2.1. Vấn đề phân biệt nhập nhằng tên người
2.1.1. Phát biểu bài toán phân biệt nhập nhằng tên nguời
Bài toán phân biệt nhập nhằng tên người với mục đích là phân chia các trang
Web chứa tên người cho trước thành các nhóm, sao cho các trang trong cùng một
nhóm cùng chỉ đến một người và các trang thuộc các nhóm khác nhau thì chỉ đến
những người khác nhau.
Đầu vào: tập các trang Web chứa tên người cho trước
Đầu ra: cụm các trang Web chứa trên người đó sao cho các trang Web trong
cùng một cụm sẽ cùng trỏ tới một người, các trang trong các cụm khác nhau trỏ tới
các người khác nhau.
2.1.2. Một số phương pháp tiếp cận giải quyết vấn đề nhập nhằng tên người
trên Web
2.1.2.1. Hướng tiếp cận dựa trên phân cụm bán giám sát
Năm 2007, Kazunari Sugiyama và Manabu Okumura [10] đã trình bày một
phương pháp phân cụm bán giám sát dựa trên trang “seed” để phân cụm các trang
kết quả chưa được gán nhãn.
Bước 1: xác định trang “seed”
15
Trong hệ thống này, nhóm tác giả xác định hai loại trang “seed”.(a) bài báo
trên mỗi thực thể người trong Wikipedia, (b) là trang Web được xếp hạng đầu tiên
trong tập kết quả các trang Web tìm kiếm. Trước hết, nếu một tên người được đề cập
trên Wikipedia thì nhóm tác giả sử dụng trang đó là trang seed. Nếu không, trang
seed được lấy là trang được xếp hạng đầu tiên trong tập kết quả các trang Web.
Bước 2: Biểu diễn trang Web
Với mỗi trang Web p trong tập kết quả tìm kiếm, tiến hành loại bỏ các từ
dừng dựa trên danh sách các từ dừng và các từ gốc sử dụng thuật toán porter[11].
Sau đó, biểu diễn dưới dạng vecto đặc trưng
( )P
t
p
t
p
t
p
mωωωω ,.....,,
21=
Trong đó, m là số lượng các từ khóa duy nhất trong trang Web p
kt (k=1,2,….,m) xác định mỗi từ khóa
Mỗi thành phần pp
t trongk
ωω được tính toán theo công thức sau:
( ) ( ) ( )
−−=
N
tf
K
tf
N
tf kkkp
t k
αααω log1
Trong đó ( )ktfα là tần số tài liệu của từ khóa kt
N là số lượng các trang Web kết quả.
Ngoài ra, hệ thống xác định vecto trọng tâm của một cụm G
( )mttt gggG ,......,,
21=
Với ktg trọng số của vecto trọng tâm của một cụm.
Bước 3: Áp dụng thuật toán phân cụm bán giám sát
Thuật toán phân cụm bán giám sát được mô tả như sau:
Đầu vào: tập các trang Web kết quả tìm kiếm ( )nipi ,.....,2,1= và một trang seed
seedp , { }seedn ppppP ,,.....,, 21=
16
Đầu ra: các cụm chứa các trang Web sao cho các trang trong một cụm cùng trỏ tới
một người.
Thuật toán:
1. khởi tạo mỗi phần tử trong tập P như một cụm riêng biệt
2. Lặp lại các bước sau với tất cả các trang ( )nipi ,.....,2,1= trong P.
2.1 Tính toán độ tương đồng giữa ip và seedp
� Nếu độ tương đồng lớn hơn giá trị ngưỡng thì gom ip vào
seedp và cập nhật lại trọng tâm của cụm sử dụng phương
trình sau:
( )
( ) ( )
1
,
+
+
=
∑∈
n
DG
pGpGmhl
pn
G
Gp
new ωω
ωω
Với ( )Gpω là vecto đặc trưng của pω
n là số lượng các trang Web trong cụm trọng tâm
Khoảng cách giữa vecto trọng tâm cụm G và vecto đặc trưng pω của trang
Web p được xác định theo công thức sau:
( ) ( ) ( )∑−
−−=1
, GGGDpTpp
mhl ωωω
� Ngược lại, ip được lưu vào một cụm khác Oth, { }ipOth =
3. Lặp lại các bước dưới với tất cả ( )( )nmmjp j <= ,....,2,1 trong Oth cho tới
khi tất cả độ đô tương tự giữa hai cụm nhỏ hơn một giá trị ngưỡng nào đó.
3.1 Tính toán độ đo tương tự giữa jp và 1+jp
� Nếu độ đo tương tự này lớn hơn giá trị ngưỡng thì gộp jp và
1+jp vào thành một cụm và tính toán lại trọng tâm của cụm
sử dụng phương tình sau:
17
( )
( )
1+
+
=
∑∈
nG
pn
G
Gp
newGp
ωωω
� Ngược lại, 1+jp được đưa vào một cụm độc lập
3.2. Tính toán tất cả độ đô tương đồng giữa hai cụm.
Nhóm tác giả sử dụng miền dữ liệu là các trang Wikipedia và theo thống kê
điều ra dân số Mỹ.
2.1.2.2. Các tiếp cận dựa trên kỹ thuật phân cụm hai trạng thái
Masaki Ikeda và Shingo Onossei Sato, 2009 [12] đề xuất mô hình phân biệt
nhập nhằng tên người trên Web bằng phương pháp phân cụm hai trạng thái. Mô hình
đề xuất của nhóm tác giả gồm ba bước chính:
Bước 1: Trích chọn đặc trưng
Ở bước này, nhóm tác giả trích chọn một số đặc trưng sau:
� Đặc trưng kích thước cửa sổ
Một tài liệu không chỉ chứa chủ đề về người cần phân biệt mà còn chứa các
chủ đề khác. Vì vậy, để giải quyết vấn đề này, họ chỉ lấy các từ trong cửa sổ độ dài
55 từ xung quanh mỗi tham chiếu đến thực thể nhập nhằng và gộp chúng lại thành
một snippet cho mỗi tài liệu.
� Đặc trưng thực thể tên
Nhóm tác giả đề xuất trích chọn các thực thể tên liên quan tới một người từ
các tài văn bản gồm: tên người, tên tổ chức, tên địa điểm. Đây là những đặc trưng
hữu ích cho việc phân biệt nhập nhằng tên người.
� Đặc trưng từ khóa ghép
Nhóm tác giả chỉ trích chọn đặc trưng danh từ ghép liên quan tới người cần
phân biệt sử dụng sự phân tích hình thái dựa trên phương pháp đề xuất bởi
Nakagawa như sau:
Một danh từ W là một danh từ ghép nếu W={ }Lwww ,......,, 21
Độ quan trọng từ LR(w) được tính toán theo công thức:
)1)().(1)(()( ++= wRFwLFwLR
18
Trong đó, LF(w) và RF(w) là các tần số danh từ đó đứng trước hoặc kế tiếp
một danh từ đơn.
Dựa trên độ quan trọng của từ LR(w), độ quan trọng của danh từ ghép
Score(w) được tính toán theo công thức
Score(W) =L
Ww
wLRWF
1
)().(
∏∈
Ở đây, F(W) là số trường hợp độc lập của danh từ ghép W trong một tài
liệu. “Độc lập” được hiểu là W không là một phần của bất kỳ một danh từ ghép
nào. L là chiều dài của cụm danh từ.
Dựa vào độ quan trọng của danh từ ghép Score(W) để trích chọn. Các danh
từ ghép được trích chọn sẽ có độ quan trọng lớn hơn một ngưỡng nào đó.
� Đặc trưng liên kết
Các liên kết được trích chọn từ thẻ <a href=”URL”> chứa trong văn bản và
URL của chính văn bản đó.
Bước 2: Tính toán độ tương đồng
Để tính toán độ tương đồng giữa các đặc trưng, hệ thống sử dụng một hệ số
nạp chồng. Giá trị của hệ số này được xác định theo công thức sau
( )( )Tff
ffddOverlap
yx
yx
yx,,minmax
),(∩
=
Với yx ff , là các tập đặc trưng chứa trong dx và dy
yx ff ∩ là số lượng các hệ số có trong cả dx và dy
T là giá trị nhỏ nhất giới hạn mẫu số(T=4)
� Độ tương đồng của đặc trưng thực thể tên
Độ tương đồng thực thể tên NEsim được xác định bởi phương trình:
( ) ( ) ( ) ( )yxOOyxLLyxPpyxNE ddsimddsimddsimddsim ,,,, ααα ++=
Độ tương đồng của các thực thể tên được tính toán bằng tổng độ tương
đồng của đặc trưng tên người(P), địa điểm(L) và tổ chức(O). Trong đó,
OLP ααα ,, là các trọng số tương ứng ( 1=++ OLP ααα ).
19
Mỗi độ tương đồng OLP simsimsim ,, được tính toán theo hệ số nạp chồng.
Trong hệ hống này, nhóm tác giả sử dụng 06.0,16.0,78.0 === OLP ααα
� Độ tương đồng danh từ ghép
Độ tương đồng danh từ ghép được tính toán bằng hệ số nạp chồng
( ) ( )yxyxCKW ddOverlapddsim ,, =
� Độ tương đồng đặc trưng liên kết
Nếu văn bản dx có URL trỏ tới văn bản dy thì độ tương đồng
URLsim được gán giá trị 1, ngược lại độ tương đồng liên kết được tính
bằng hệ số nạp chồng
Độ tương đồng giữa hai tài liệu được gán bằng giá trị lớn nhất trong các độ
tương đồng
( ) ( ) ( ) ( )( )yxURLyxCKWyxNEyx ddsimddsimddsimddsim ,,,,,max,max =
Bước 3: Phân cụm dữ liệu
Hệ hống sử dụng phương pháp phân cụm phân cấp HAC (Hierarchical
agglomerative clustering) để phân cụm các văn bản chứa tên xuất hiện. Đây là
phương pháp phân cụm phân cấp từ dưới lên. Ban đầu, mỗi văn bản được coi như
là một cụm. Hai cụm có độ tương đồng cao nhất sẽ được nhóm vào thành một cụm
mới. Độ tương đồng giữa hai cụm được đo theo phương pháp nhóm trung bình
( ) ( )∑ ∑∈ ∈
=ix jyCd Cd
yx
ji
ji ddsimCC
CCsim ,||
1,
Trong đó, ji CC , là cụm thứ i và thứ j.
Kết quả phân cụm trong trạng thái đầu của hệ thống cho độ chính xác cao,
nhưng độ hồi tưởng thấp. Trạng thái thứ hai, nhóm tác giả thực hiện phân cụm
cứng và phân cụm mềm dựa trên kết quả phân cụm ở trạng thái đầu tiên. Phân cụm
được thực hiện dựa trên các cụm danh từ ghép. Mục đích của trạng thái phân cụm
thứ hai nhằm nâng cao giá trị độ hồi tưởng của hệ thống. Hệ thống kiểm thử trên
dữ liệu test của hội nghị WS-1 và WS-2 và cho kết quả độ đo F = 0.78.
2.1.2.3. Các hướng tiếp cận khác
Năm 2009, Juan Martinez-Romo và Lourdes Araujo [9] đã đề xuất một
phương pháp phân biệt nhập nhằng tên người sử dụng kỹ thuật mô hình ngôn ngữ.
20
Hướng tiếp cận này sử dụng mô hình ngôn ngữ để trích chọn ra các thuật ngữ từ
văn bản và dựa trên một phương pháp kinh nghiệm để tìm ra số lượng đặc tính của
một người. Phương pháp này được đề xuất gồm hai pha. Pha thứ nhất, tất cả các
văn bản được đánh chỉ mục bởi quá trình lọc các từ dừng và thực hiện một vài
thống kê như số lượng các văn bản và tổng tần số xuất hiện , sau đó sử dụng thống
kê này để xác định mô hình ngôn ngữ. Từ tập hợp này, nhóm tác giả sẽ trích chọn
ra một từ vựng phù hợp nhất với từ khóa bằng cách sử dụng mô hình ngôn ngữ đã
được xác định. Pha thứ hai sẽ áp dụng một thuật toán phân cụm cổ điển dựa trên
độ tương đồng cosin giữa các đặc trưng.
Một hướng tiếp cận khác nhằm giải quyết vấn đề phân biệt nhập nhằng tên
người trên Web là phương pháp sử dụng cấu trúc đồ thị Web được đề xuất bởi nhóm nghiên cứu Elena Smirnova và cộng sự, 2010 [6]. Ý tưởng của phương pháp
này là sử dụng liên kết giữa các trang Web với giả thiết rằng các trang Web xuất
hiện trong kết quả trả về từ máy tìm kiếm khi đưa một tên người như một truy vấn
là độc lập với nhau. Bước đầu tiên trong ý tưởng là tìm ra các trang liên kết từ các
trang nhận được từ máy tìm kiếm sử dụng phương pháp đồ thị đường đi ngẫu
nhiên và dựa vào các trang liên kết để phân cụm các trang Web nhận được từ máy
tìm kiếm.. Tiếp theo, họ xây dựng một tập hợp tích trọng số cho tất cả các trang
Web, kể cả các liên kết. Sau đó, Họ đánh lại trọng số cho tập hợp tích mỗi trang
nhận được theo tập hợp tích của các trang liên kết của nó. Cuối cùng, họ sử dụng
thuật toán phân cụm phân cấp để phân cụm tập hợp các trang Web.
2.4. Một số hướng tiếp cận giải quyết vấn đề xếp hạng thực thể
2.4.1. Phát biểu bài toán xếp hạng thực thể
Bài toán xếp hạng thực thể được phát biểu như sau [2]:
Với tập các trang Web D { }nddd ,.....,, 21= . Gọi { }neeeE ,.......,, 21= là tập các
thực thể được trích ra từ các trang Web. Mỗi thực thể ie được biểu diễn bởi cặp
(<thuộc tính>,<giá trị>). Định nghĩa { }iii PIDed ,)( = là một mô tả của thực thể i
e , trong đó iID là định danh thực thể. ( ) ( ){ }i
n
i
n
iiivavaP ,,.....,, 11= là tập các cặp
(<thuộc tính>, <giá trị>). Với truy vấn q= ( ) ( ){ }nn vava ,,.....,, 11 là một tập các cặp
21
(<thuộc tính>, <giá trị>) biểu diễn yêu cầu của người dùng tìm kiếm các thực thể có
các giá trị ứng với các thuộc tính naa ,.....1 .
Đầu vào là một tập các mô tả thực thể ( ) ( ){ }ededD ......1= với một truy vấn
q.
Đầu ra của hệ thống là một danh sach các thực thể đã được xếp hạng dựa trên
giá trị của hàm tính điểm scoring_function ( )( )iedq ,θ .
2.4.2. Một số hướng tiếp cận giải quyết bài toán xếp hạng thực thể
2.4.2.1. Hướng tiếp cận dựa trên điểm số tương đồng và liên kết
Năm 2007, Anne-Marie, Vercoustre James A. Thom và Jovan Pehcevski [4]
đã đề xuất một phương pháp xếp hạng thực thể trên Wikipedia dựa trên ý tưởng là
sử dụng độ tương đồng full-text với truy vấn, sử dụng các liên kết phổ biến (từ các
trang có trọng số cao) và sử dụng tương đồng hạng mục với các mẫu thực thể. Nhóm
tác giả sử dụng máy tìm kiếm Zettair được phát triển bởi đại học RMIT. Dưới đây là
mô hình đề xuất bởi nhóm tác giả.
Hình 6. Mô hình hệ thống xếp hạng thực thể [4]
Hệ thống đề xuất gồm một vài module chính như xử lý truy vấn, đNy truy vấn
vào máy tìm kiếm, áp dụng thuật toán xếp hạng thực thể và trả lại danh sách các
thực thể đã được xếp hạng.
� Module chủ đề: đưa ra một chủ đề như một đầu vào, tạo ra một truy vấn
Zettair phù hợp và một danh sách các mẫu thực thể.
22
� Module tìm kiếm: đNy truy vấn tới Zettair và trả lại danh sách các trang
Wikipedia đã được xếp hạng.
� Module trích chọn liên kết: trích chọn các liên kết từ một tập các trang
Web có hạng cao đã được lựa chọn cùng với các đường dẫn liên kết.
� Chức năng tính hạng liên kết: tính toán một trọng số cho một trang dựa
trên số lượng liên kết tới trang này
� Chức năng tính độ tương đồng hạng mục: tính toán một trọng số cho
một trang dựa trên độ phù hợp của các hạng trang với các mẫu thực thể
� Chức năng trích xuất thông tin full-text : tính toán trọng số cho một
trang dựa trên điểm Zettair.
Điểm số hạng liên kết: chức năng hạng liên kết tính toán điểm cho một trang
dựa trên số lượng liên kết tới trang này, từ N trang đầu tiên được trả lại từ máy tìm
kiếm, họ tiến hành thử nghiệp với các giá trị của N khác nhau. Chức năng hạng liên
kết có thể được tiến hành theo nhiều cách khác nhau: bởi việc đánh trọng số các
trang mà có nhiều liên kết tới chúng từ các trang được xếp hạng cao hoặc từ các
trang chứa một lượng lớn các mẫu thực thể hoặc kết hợp cả hai phương pháp. Điểm
hạng liên kết được tính theo công thức
( )( ) ( )( )∑=N
r
rrrL tplinksfpentgpztS1
,#.#).()(
Trong đó, )( rpz là giá trị điểm Zettair
( )rpent# là số lượng mẫu thực thể riêng biệt trong trang liên kết
( )tplinks r ,# là số lượng các liên kết tham chiếu trới các trang đích
g(x) = x+0.5 ( trường hợp không có mẫu thực thể nào trong trang liên kết thì
g(x) =0.5)
Điểm độ tương đồng hạng: điểm độ tương đồng hạng )(tSC được xác định
theo công thức
|)(|
)()()(
Ecat
EcattcattSC
∩=
23
Trong đó, cat(t) là tập các hạng kết hợp với các trang đích
cat(E) là hợp của các hạng liên kết với các mẫu thực thể
Điểm Z : )(tS z
Điểm Z gán điểm Zettair đầu tiên tới một trang đích. Nếu một trang đích
không xuất hiện trong 1500 kết quả đầu tiên trả về bởi Zettair thì điểm Z của nó
được gán bằng 0. ngược lại sẽ được gán bằng z(t).
Điểm tổng S(t) cho một trang thực thể đích được tính dựa trên sự kết hợp tuyến tính
của ba điểm số )(),(),( tStStS zCL
)()1()()()( tStStStS zCL βαβα −−++=
Với βα , là các hệ số.
Các trang Web nhận được sẽ được xếp hạng bởi sự kết hợp ba điểm số khác
nhau: điểm hạng liên kết, điểm độ tương đồng hạng mục và điểm độ tương đồng với
kết quả tìm kiếm đầu tiên.
2.4.2.2. Hướng tiếp cận dựa trên Mô hình Impression
Năm 2007, Tao Cheng, Xifeng Yan, Kevin và Chen-Chuan Chang đề xuất
một phương pháp xếp hạng thực thể dựa vào mô hình Impression [13]. Hệ thống
gồm pha chính:
Pha 1: Tìm kiếm thực thể
Người dùng sẽ đNy vào truy vấn mô tả trực tiếp thông tin họ cần tìm kiếm
gồm hai thành phần là kiểu thực thể và nội dung. Để phân biệt giữa các thực thể tìm
kiếm và các từ khóa trong ngữ cảnh, tác giả sử dụng tiền tố #. Ví dụ một truy vấn
ow(amazon customer service #phone). Nhóm tác giả xây dựng một mô hình dữ liệu
thực thể như sau:
Giả thiết có tập trang Web { }nddD ,.....,1= , tập các kiểu thực thể
{ }nEEE ,.....,1= . ie là thực thể thuộc kiểu iE . Với mỗi truy vấn ( )lm kkEEq ,....,,.... 11α=
với ik là các từ khóa. Bộ thực thể ( )meet ,....,1= . Khi đó độ phù hợp của bộ thực thể t
với truy vấn q trên tài liệu D được xác định bởi hàm Score(q(t))
24
( )( ) ( )( ) ( ) ( )( )∑∈
×==Dd
dtqpdpDtqptqScore ||
Với ( )( )dtqp | là xác suất xảy ra quan hệ α của t trên tài liệu d. Giá trị của
hàm Score(q(t)) được dùng để xếp hạng các kết quả trả về.
Pha 2: xếp hạng thực thể
Qua sự phân tích về máy tìm kiếm thực thế, Tao Cheng và cộng sự đưa ra mô
hình xếp hạng “Impression Model” dựa theo các nguyên tắc sau:
� R-Contextual: xác suất liên kết giữa một thực thể với một từ khóa phụ
thuộc vào các ngữ cảnh khác nhau và bị ảnh hưởng bởi hai yếu tố chính:
� Patten: sự liên kết giữ các từ khóa và một thực thể trình bày rõ ràng
theo một mẫu chính quy
� Proximity: các từ khóa và các thực thể có thể xuất hiện nhiều lần trên
trang Web và không giống nhau. Chúng càng gần nhau thì sự liên kết
càng cao.
� R-Holistic: Một thực thể có thể xuất hiện cùng từ khóa nhiều lần trên một
trang. Do đó, cần ướng lượng liên kết phù hợp nhất.
� R- Uncertainty: Việc trích chọn thực thể là không chính xác tuyệt đối.
Cần phải xác định xác suất tương ứng cho mỗi thực thể.
� R_Associative: Liên kết giữa thực thể và từ khóa có thể là liên kết thực
hoặc chỉ là liên kết ngẫu nhiên. Vì vậy cần phân biệt và 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 sẽ được đánh giá
cao hơn các thực thể trên các trang ít phổ biến.
Mô hình gồm ba tầng chính là tầng truy nhập toàn cục, tầng nhận dạng cục
bộ và tầng đánh giá[2][13]
25
Hình 7. Mô hình Impression [ 13]
Tầng truy cập toàn cục
Nhiệm vụ của module này là xác định trọng số toàn cục p(d) , khả năng một
tài liệu d được quan sát. Thông thường, các thực thể trên các trang phổ biến hơn sẽ
được đánh giá cao hơn các thực thể trên các trên phố biến. Do đó, trong bối cảnh
Web, giá trị này chính là độ quan trọng của trang Web hay chính là hạng trang. Vì
vậy, nhóm tác giả đã lựa chọn phương pháp PageRank [15] để xác đinh p(d).
( ) [ ]dPRdp = . (1)
Tầng nhận dạng cục bộ
Với mỗi tài liệu d đươc quan sát ở tầng truy nhập, xác suất xuất hiện của từng
bộ thực thể ( )meet ,....= với tập các từ khóa { }lkkk ,.....1= trong tài liệu đó được xác
định bởi ( )( )dtqp | .
Gọi ( )goo ,......1=γ là một quan sát của ( ) ( )lm kkeetq ,....,,...., 11α= trên d. Để
đảm bảo tính R_Hoslictic, ( )( )dtqp | phải được ước lượng trên tất cả các quan sát γ
đó. Công thức ướng lượng:
( )( ) ( )( )γαγ
pdtqp max| = (2)
Trong đó, ( )( )yp α là xác suất hay khả năng một chuỗi quan sát γ phù hợp với
ngữ cảnh α .
26
Việc trích rút thực thể không chính xác một cách tuyệt đối, do đó cần một
giá trị tin cậy cho mỗi thực thể. Vì vậy, khi thực hiện trích rút từ tài liệu d, các chuỗi
quan sát io được xác định với một xác suất (tính chất R-Uncertainty) ( )dEep ii |∈ .
Giá trị trên được tính toán ở module trích chọn và lưu lại trong quá trình đánh chỉ
mục, được xác định bằng confei . .
( )( ) ( )( )∏∈
×=γ
γαγαie
contexti pconfep . (3)
Từ (2) và (3) ta có
( )( ) ( )( )
×= ∏
∈λγ
γαie
contexti pconfedtqp .max| (4)
Theo tính chất R-Contextual, ta có
( )( ) ( ) ( )γαγαγα PBcontextp ×= (5)
Bα là hàm logic trả về giá trị 0 hoặc 1, cho biết quan sát γ với các io có thỏa
mãn ràng buộc về mẫu không.
Pα la xác suất quan sát γ phù hợp với bộ thực thể t trong cửa sổ quan sát s.
Thay (5) vào công thức (3) ta được:
( )( ) ( ) ( )
××= ∏
∈λγ
γγαie
Bi spconfedtqp .max|
Vậy công thức Score(q(t)) được xác định:
( )( ) [ ] ( ) ( )
×××= ∏∑
∈∈ λγ
γγαie
Bi
Dd
spconfedPRtqScore .max
Tầng đánh giá
Để đánh giá thông tin nhận được từ D, tầng đánh giá sử dụng hai giả thuyết
không và giả thuyết G-test.
Giả thuyết không (null Hypothesis): giả thiết rằng liên kết giữa các thực thể,
từ khóa trong t xảy ra ngẫu nhiên. Lấy ngẫu nhiên tập D’ từ tập D, xây dựng tập D’
từ tập D bằng cách tạo ra các tài liệu d’ ngẫu nhiên: đưa ngẫu nhiên các thực thể và
27
từ khóa và d’ một cách độ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. Qua các phép biến đối, nhóm tác giả đưa ra công thức sau:
( )( ) ( ) ( )( )( )
∏ ∏∑
∏=
= =
×
×∈∈=
1
1 1
|.'''|
j
m
l
i
sm
j
jijs
stqqconfedkpdepDtqp
|s| là số các giá trị s được xét.
Giả thuyết thống kê G-test so sánh quan sát op với ngẫu nhiên rp để kiểm tra quan
sát op có phải là ngẫu nhiên không
( )( ) ( )
−
−−+=
r
o
o
r
o
op
pp
p
pptqScore
1
1log1log2
Trong đó
( )( ) ( ) ( )
×××== ∏∑
∈∈ γγ γγα
ie
Bi
Dd
ospconfedPRDtqpp .max|
( )( ) ( ) ( )( )( )
∏ ∏∑
∑∏ ∑= =∈∈= ∈∈
××
×
==
l
i
m
j
s
j
Dddk
m
j Ddde
rs
stqpconfedpdpDtqpp
ij 1 1,1 ,
|.'|
Tóm tắt chương hai
Trong chương hai, khóa luận giới thiệu chi tiết các phương pháp tiêu biểu
trên thế giới để giải quyết vấn đề phân biệt nhập nhằng tên người. Phương pháp tập
trung vào việc trích xuất đặc trưng và đo độ tương đồng giữa các đặc trưng và dựa
vào đó để phân cụm dữ liệu. Đồng thời, khóa luận cũng trình bày một số phương
pháp xếp hạng thực thể đã được đề xuất và đạt kết quả tương đối cao. Khóa luận sẽ
sử dụng kỹ thuật trích xuất đặc trưng và thuật toán phân cụm phân cấp HAC để giải
quyết vấn đề phân biệt nhập nhằng tên người và dựa trên hàm tính điểm số để xếp
hạng thực thể.
Trong chương tiếp theo, khóa luận trình bày mô hình đề xuất cho bài toán tìm
kiếm người trên Web, ứng dụng của nó trong hệ thống tìm kiếm thực thể người.
28
Chương 3. Mô hình giải quyết bài toán tìm kiếm người trên Web
3.1. Cơ sở lý thuyết
3.1.1. Thuật toán phân cụm HAC
Phương pháp phân cụm phân cấp HAC xây dựng một cấu trúc cây phân cấp
cho các tài liệu theo hướng từ dưới lên (bottom-up)[1]. Đầu tiên, mỗi phần tử
được coi như một cụm riêng biệt, sau đó tiến hành ghép 2 cụm giống nhau nhiều
nhất hoặc khác nhau ít nhất. Thuật toán dừng lại khi gặp một trong ba điều kiện:
� Đã đạt được số cụm mong muốn
� Chỉ còn một cụm duy nhất chứa tất cả các trang Web
� Thỏa mãn môt điều kiện dừng nào đó.
Sơ đồ minh họa cho ý tưởng thuật toán HAC:
Hình 8. Sơ đồ thuật toán phân cụm HAC [1]
Trong khóa luận này, tôi sử dụng 2 điều kiện dừng là khi đã đạt được số
cụm mong muốn hoặc khi độ tương đồng của tất cả các cụm đều nhỏ hơn một
ngưỡng tương đồng α.
Thuật toán HAC cho phân cụm Web
Các tham số trong thuật toán:
- G = {G1, G2, ... Gn}là tập các cụm
- D = {d1, d2, ... dm} là tập m trang Web cần phân cụm
29
1. G <- {{d} | d thuộc D } (Khởi tạo G là tập các cụm chỉ gồm một trang Web
trong tập D)
2. Nếu |G| < k thì dừng thuật toán ( Đã được số lượng cụm mong muốn ).
3. Tìm 2 cụm Gi và Gj thuộc G sao cho (i,j) = arg max(i,j) sim (Gi,Gj) ( Tìm 2
cụm có độ tương tự lớn nhất ).
4. Nếu sim (Gi,Gj) < q thì dừng thuật toán ( độ tương tự của 2 cụm nhỏ hơn
ngưỡng cho phép )
5. Loại bỏ Gi, Gj khỏi G
6. G = G hợp { Gi , Gj } (ghép 2 cụm Gi, Gj và đưa vào trong tập G )
7. Nhảy đến bước 2
- k là tham số để dừng thuật toán khi số lượng cụm mong muốn đã được tạo
ra
- q là tham số ngưỡng dừng thuật toán khi độ tương tự giữa 2 cụm nhỏ hơn
một ngưỡng nào đó.
Thuật toán
Để ghép 2 cụm giống nhau nhiều nhất hoặc khác nhau ít nhất vào một cụm,
thuật toán HAC dựa trên khoảng cách giữa hai cụm hay chính là độ tương đồng
giữa các cụm.
Một số phương pháp đo khoảng giữa các cụm:
• Độ tương tự giữa trọng tâm của cụm Gi và Gj:
sim (Gi,Gj) = sim (ci, cj)
Với ci, cj lần lượt là trọng tâm của 2 cụm Gi và Gj.
• Độ tương tự cực đại giữa 2 tài liệu thuộc vào 2 cụm (single-link hay single-
linkage):
sim (Gi,Gj) =
Trong đó: di là tài liệu trong cụm Gi, dj là tài liệu trong cụm Gj.
Trong phương pháp này, khoảng cách giữa 2 cụm được định nghĩa là độ
tương tự lớn nhất của 2 tài liệu trọng 2 cụm. Phương pháp này cho độ chính xác
không cao với trường hợp chỉ có duy nhất 2 tài liệu ở trong 2 cụm là tương đồng
cao, còn các tài liệu còn lại trong 2 cụm có độ tương đồng rất thấp.
30
Hình 9. Phân cụm với độ đo single-link [1]
• Độ tương tự cực tiểu giữa 2 tài liệu thuộc 2 cụm (complete-link):
sim (Gi,Gj) =
Hình 10. Phân cụm với độ đo complete-link [1]
Trong phương pháp này, khoảng cách giữa 2 cụm i, j được tính bằng độ
tương đồng của 2 tài liệu nằm trong 2 cụm có giá trị nhỏ nhất. Giải thuật phâm
cụm với complete-link kém chính xác khi 2 tài liệu trong cụm có độ tương đồng
rất thấp, trong khi trọng tâm của 2 cụm này có độ tương đồng cao.
• Độ tương tự trung bình giữa các tài liệu trong cụm (group-average):
sim (Gi,Gj)=
Phương pháp tính toán độ tương tự giữa 2 cụm dựa trên độ tương tự của
toàn bộ các cặp tài liệu trong 2 cụm chứ không phải dựa trên một cặp tài liệu duy
nhất, do đó phương pháp tránh được nhược điểm của độ đo single-link và
complete-link.
31
3.1.2. Độ tương đồng cosin
Phương pháp đô tương đồng cosin[1] được dùng để đo mức độ tương tự
giữa hai trang Web hoặc giữa trang Web và truy vấn. Độ tương đồng cosin để xác
định mức độ tương đồng giữa 2 xâu phục vụ cho bài toán phân cụm trang Web.
Ý tưởng của độ tương đồng cosin xuất phát từ phương pháp tính toán
vector: Hai vector d1 và d2 càng gần nhau khi góc giữa 2 vector càng nhỏ, hay
cosin của góc đó càng lớn.
Công thức đo độ tương đồng cosin như sau:
( )21
2121 .
.cos,
dd
ddddsim == θ
3.1.3. Phương pháp PageRank
PageRank [15] là một thuật toán phân tích liên kết (link) được Lary Page và
Sergey Brin trình bày tại WWW7 vào tháng 4 năm 1998. Thuật toán pagerank dựa
trên ý tưởng chính là trang quan trọng là trang có nhiều liên kết tới nó. Giá trị
pagerank của trang i được định hướng bằng tổng giá trị pagerank của các trang trỏ
tới trang i. Tuy nhiên trong một số trường hợp việc đánh giá này là không chính
xác, đặc biệt là trong các trường hợp bị nhiễu, người ta có thể dễ dàng tạo ra
những trang web có liên kết đến trang cần tính. Chính vì vậy, PageRank phát triển
thêm vào ý tưởng cũ đó là chú trọng thêm vào mức độ quan trọng của trang liên
kết đến trang mà ta đang xét. Như vậy, một trang được đánh giá là quan trọng nếu
nó được trỏ bởi nhiều trang quan trọng khác.
PageRank đơn giản (PageRank thô)
Liên kết trong của trang i là liên kết trỏ tới trang i bởi các trang khác.thường
thì các liên kết từ trang giống nhau thì không được xem xét.
Liên kết ngòai của trang i là những liên kết từ trang i trỏ tới các trang khác.
Thông thường, các liên kết từ các trang giống nhau sẽ không được xét.
Giả sử các trang web tạo thành đồ thị G = (V, E) với V là tập các đỉnh (các
nút) hay chính là tập tất cả các trang web cần tính hạng (các trang được đánh số từ
1 đến n). còn E là tập cặp trang trong V, E = {(i, j) / nếu có siêu liên kết từ trang i
tới trang j}. Thuật toán giả thiết rằng đồ thị web G là liên thông theo nghĩa với cặp
hai trang Web (i, j) bất kì luôn có đường đi từ i tới j và ngược lại
32
Giá trị pagerank thô của trang i được xác định như sau:
∑∈
=)(
)(/)()(iBj
jOjPiP
Trong đó, O(j) là số liên kết ra ngoài của trang thứ i.
B(i) là số các trang web liên kết đến trang i.
Việc chia cho O(j) cho thấy rằng những trang có liên kết tới trang j sẽ phân
phối hạng của chúng cho các trang Web mà chúng liên kết tới.
3.1.4. Phương pháp xếp hạng cặp thứ tự (Pairwise)
Với cặp S ( ){ }ji xx , là tập các cặp thực thể được sắp thứ tự . Với mỗi
cặp ( ){ }ji xx , ji xx > tức là hạng của ix lớn hơn hạng của jx ( hay ix phù hợp hơn jx ).
Với mỗi ( ) Sxx ji ∈, có ji xx > thì ( )ji xhxh >)(
Hàm ( ) ( )ji xhxh , là các hàm tính hạng tương ứng của ix và jx
3.2. Mô hình giải quyết bài toán tìm kiếm người trên Web
Xiaojun Wan, Jianfeng Gao, Mu Li Binggong Ding đã trình bày hệ thống
Webhark nhằm giải quyết các vấn đề liên quan tới thực thể người trong kết quả tìm
kiếm người[14]. Qua sự tìm hiểu và phân tích, khóa luận xin đưa ra mô hình giải
quyết bài toán người theo tên trên Web.
Đầu vào: Tên thực thể người
Đầu ra: Danh sách các thực thể người theo tên đã được xếp hạng
Phương pháp giải quyết và mô hình
33
Hình 11. Mô hình giải quyết bài toán
Bước 1: Thu thập dữ liệu
Với mỗi tên người cho trước, đNy vào máy tìm kiếm Google với truy vấn
theo cú pháp [<dấu cách> <câu hỏi người dùng> <dấu cách> {[<dấu cách>
site:.edu OR site:.edu.vn <dấu cách> để lấy ra kết quả phù hợp cho mỗi truy vấn
Ví dụ:
Đưa vào google với truy vấn [ Nguyễn Thị Lan { site:.edu OR site:.edu.vn }
]
Tiến hành lọc lấy các trang dạng html, bỏ qua các văn bản đính kèm chứa
“jobs” hoặc văn bản đính kèm đuôi .doc, .docx, .xls, .XLS, .pdf, .pdf,.axps.
Loại bỏ các trang không chứa tên người đó hoặc các trang chứa tên không
đúng tên người đưa vào google làm truy vấn. Ví dụ như Nguyễn Thị Phương Lan
hoặc Nguyễn Thị Lan Anh.
Giả thiết rằng một trang chỉ trỏ tới một người cùng tên. Do đó, tiến hành
loại bỏ các trang chứa hai hoặc nhiều người có cùng tên với tên cho trước.
Bước 2: Tiền xử lý dữ liệu
Trong bước này, tiến hành:
� Loại bỏ các thẻ html
� lấy urls và nội dung chính của trang
Tên thực thể người
Thu thập d� li�u
Tập các trang Web chứa tên ng��i
Tiền xử lý
Văn bản
Phân cụm văn bản
Tập các văn bản đã phân
cụm Trích chọn
thực thể
Tập các thực thể
Xếp hạng thực thể
Danh sách các thực thể được sắp xếp
34
� Thực hiện tách câu, tách từ trên miền dữ liệu đã thu được
Bước 3: Phân cụm văn bản
Trong bước này, khóa luận tiến hành thực hiện một số xử lý chính sau:
� Trích chọn đặc trưng
Nhiêm vụ trích chọn thuộc tính về người được trình bày tại hội nghị
WebPS-3 tại (Italy), tổ chức vào hai ngày 22 và 23 tháng 9 năm 2010, với 16
đặc trưng/thuộc tính[7].
Bảng 1. Danh sách các thuộc tính được đề xuất trong hội nghị WebPS-3[7].
STT Attribute Class Examples of Attribute Value
1 Date of birth 4 February 1888
2 Birth place Brookline, Massachusetts
3 Other name JFK
4 Occupation Politician
5 Affiliation University of California, Los Angeles
6 Award Pulitzer Prize
7 School Stanford University
8 Major Mathematics
9 Degree Ph.D.
10 Mentor Tony Visconti
11 Nationality American
12 Relatives Jacqueline Bouvier
13 Phone +1 (111) 111-1111
14 FAX (111) 111-1111
15 Email [email protected]
16 Web site http://nlp.cs.nyu.edu
Trong khóa luận này, tôi trích trọn 12 thuộc tính của người, địa chỉ URL
của trang và gán nhãn tương ứng với các thuộc tính như sau:
35
Bảng 2. Các thuộc tính được sử dụng trong khóa luận
Đặc trưng Nhãn Ví Dụ
<Tên người> Name Nguyễn Thị Kim Chi
<Ngày sinh> BornTime 29/10/1989
<Quê quán, quốc tịch > HomeLoc Lạng Giang, Bắc Giang
<Nghề nghiệp> Job Giáo viên
<Tên Cơ quan> JobOrg Trường THCS Tân Dĩnh
<Chức vụ, học vị> Degree Hiệu trưởng
<Email> Email [email protected]
<Số điện thoại> Tel 0989342245
<Website> Website http://www.kimchiwordpress.com
<Fax> Fax (111)11-111
<Chuyên ngành> Major Công nghệ thông tin
<Thành tích> Award Giáo viên giỏi cấp tỉnh
Dựa vào dữ liệu đã được gán nhãn, và một số đặc trưng để trích trọn các
thuộc tính của người trong văn bản.
Một số đặc trưng sử dụng để trích chọn
36
Bảng 3. Một số đặc trưng sử dụng để trích chọn
Đặc trưng Ý nghĩa Ví dụ
Đặc trưng viết hoa Viết hoa chữ cái đầu, viết hoa toàn bộ?
Nguyễn, NGUYỄN…
Đặc trưng của các từ xung quanh
Các từ đứng trước, đứng sau từ đang xét với biên độ là 2 từ
Đặc trưng từ điển Từ đang xét có thuộc một mục nào trong từ điển tên người, từ điển họ…không?
Đặc trưng tiền tố Đứng phía trước từ đang xét có từ nào nằm trong từ điển tiền tố không?
Ông, bà,anh, …..
Đặc trưng về từ loại Nhãn từ loại của từ đang xét
Nguyễn Văn Nam:Np (danh từ riêng)
� Tính độ tương đồng giữa các đặc trưng
Khóa luận sử dụng phương pháp độ đo cosin để tính độ tương đồng giữa hai
xâu. Dựa trên độ tương đồng này, tính độ tương đồng giữa các đặc trưng được
trích chọn. Dựa trên khảo sát dữ liệu và suy diễn từ thực tế, tôi thấy rằng: Mỗi đặc
trưng có một độ quan trọng khác nhau. Nếu hai người có cùng ngày tháng năm
sinh hoặc cùng số điện thoại, đặc biệt là cùng Email thì khả năng hai người đó là
một người rất lớn.. Vì vậy, các đặc trưng như Email, ngày tháng năm sinh, số điện
thoại sẽ được gán trọng số cao. Vì vậy, tôi đánh trọng số cho mỗi đặc trưng như
sau:
<BornTime>:3 , <Email>:4 , <Tel>:4 , <Website>:4 , <Fax>:4 , <HomeLoc>:2 ,
<Job>:1 , <JobOrg>:2 , <Major>: 1, <Degree>:1 , <Award> : 2.
Độ tương đồng giữa hai văn bản được tính bằng tổng độ tương đồng giữa
các đặc trưng
� Áp dụng thuật toán phân cụm dữ liệu
37
Trong khóa luận, tôi sử dụng thuật toán phân cụm phân cấp HAC dựa trên
độ tương đồng giữa các văn bản để gom cụm dữ liệu và sử dụng ngưỡng tương
đồng α để cắt cây phân cụm phân cấp HAC.
Bước 4: Trích chọn thực thể từ cụm văn bản
Sau bước phân cụm, kết quả nhận được sẽ là các cụm văn bản sao cho các
văn bản trong một cụm cùng trỏ tới một người. Các văn bản trong các cụm khác
nhau sẽ trỏ tới các người khác nhau. Vì vậy, thay vì trích chọn tập thực thể từ các
văn bản, tôi tiến hành trích chọn thực thể từ các cụm bằng cách gộp tất cả các văn
bản trong cụm thành một văn bản đơn và thực hiện trích rút thực thể người từ văn
bản đó. Mỗi thực thể người được biểu diễn dưới dạng tập các cặp (<thuộc
tính><giá trị>). Ví dụ với thực thể người có tên là Nguyễn Tuấn Anh và các cặp
đặc tính như (<Name><Nguyễn Tuấn Anh>),(<Tel><01238562899>)…. Việc
trích chọn này có thể dựa vào pha trích chọn đặc trưng tai bước phân cụm.
Bước 5: Xếp hạng thực thể
Việc xếp hạng thực thể tương đương với việc xếp hạng các cụm theo từng
tên người. Tại bước này, tôi sử dụng phương pháp học xếp hạng cặp thứ tự để xếp
hạng thực thể dựa trên điểm số của các thực thể
Điểm số cho thực thể được tính dựa trên hai ý tưởng sau:
� Dựa trên ý tưởng của thuật toán Pagerank thô
Ý tưởng của Pagerank là hạng của một trang được tính dựa trên hạng của
các trang trỏ tới nó. Trong bước này, khóa luận dựa trên ý tưởng Pagerank như
sau: Thông tin về một người có thể được tổng hợp từ nhiều trang Web chứa thông
tin về người đó. Vì vậy, một thực thể mà có nhiều trang cùng trỏ tới thực thể đó thì
điểm của thực thể bằng tổng điểm của các thực thể trong các trang trong cùng cụm
thực thể người đó.
� Dựa trên điểm số của các trường thông tin
Các trường thuộc tính sẽ được gán các trọng số khác nhau. Các trường thông
tin có đô tin cậy cao như Email, Tel, ngày sinh được gán điểm số là 2. Các trường
còn lại được gán với điểm số là 1. Tuy nhiên , với trường ngày sinh, nếu đầy đủ
thông tin về ngày tháng năm sinh thì điểm số là 2. Nếu thiếu một trong ba trường
thì điểm số sẽ hạ xuống 0.25.
38
Điểm số cuối cùng cho mỗi thực thể người là điểm số kết hợp dựa trên mỗi
ý tưởng. Dựa vào giá trị của hàm điểm số và thông tin trong các trường, tiến hành
sắp xếp tập các thực thể người cùng tên.
3.3. Áp dụng bài toán tìm kiếm người theo tên trên Web vào hệ thống tìm
kiếm thực thể người
Hình 12. Mô hình đề xuất xây dựng hệ thống tìm kiếm
Hệ thống gồm hai bước chính:
Bước 1: Từ tập tên người qua module thu thập và phân biệt nhập nhằng tên
người sẽ thu được tập các trang Web ứng với từng người riêng biệt.
Bước 2: Tập các trang Web thu được từ module thu thập và phân biệt nhập
nhằng tên người, qua module xếp hạng thực thể sẽ thu được tập danh sách các
thông tin về thực thể người của từng cụm đã được xếp hạng. Danh sách này sẽ
được lưu vào cơ sở dữ liệu để tạo điều kiện thuận lợi cho quá trình tìm kiếm sau
này.
Tóm tắt chương ba
Trong chương ba, khoá luận đã trình bày mô hình đề xuất tìm kiếm người
trên Web cùng các kiến thức liên quan và ứng dụng bài toán đó trong việc đề xuất
mô hình hệ thống tìm kiếm thực thể người.
Trong chương tiếp theo, khóa luận tiến hành thực nghiệm trên mô hình đã
xây dựng và đánh giá những kết quả đạt được của mô hình đề xuất.
Tên thực thể người
Tập các cụm trang Web ứng với một người
Module thu thập và phân biệt nhập nhằng tên người
Module xếp hạng thực thể
Danh sách các thực thể đã được
xệp hạng
Cơ sở dữ liệu về người
39
Chương 4. Thực nghiệm và đánh giá
4.1. Mô tả thực nghiệm
Để thực nghiệm mô hình, khóa luận đưa ra 10 tên người tiếng Việt được coi
phổ biến trong miền trang web về giáo dục. Với mỗi tên người, tiến hành thu thập
các trang Web từ máy tìm kiếm Google. Sau đó, thực hiện quá trình tiền xử lý dữ
liệu để thu được các văn bản. Từ các văn bản có được, tiến hành trích rút các thông
tin về thực thể người và xử lý phân cụm. Sau khi phân cụm dữ liệu, chúng ta thu
được số lượng các cụm và các thông tin về người trong từng cụm ứng mỗi tên
người cho trước. Sau đó, khóa luận tiến hành xếp hạng các thực thể người cùng tên
dựa vào giá trị của hàm tính hạng cho các thực thể. Kết quả cuối cùng là danh sách
các thực thể người cùng các thông tin liên quan ứng với các cụm đã được sắp xếp
theo hạng của thực thể.
4.2. Môi trường và công cụ sử dụng thực nghiệm
Cấu hình phần cứng
Thành phần Chỉ số
CPU Intel pentium D 3.0 GHz
RAM 1 GB
OS WindowsXP Service Pack 2
Bộ nhớ ngoài 160GB
40
Các phần mềm sử dụng
Ngoài các công cụ trên, tôi tiến hành cài đặt một số module xử lý chính trên
ngôn ngữ Java như sau:
Stt Tên môđun Chức năng
1 QueryGoogle.java Thu thập các trang Web từ google, thực hiện
chuNn hóa, xử lý dữ liệu.
2 FileProcessing.java Thực hiện đọc và ghi ra file
3 Similar.java Tính toán độ tương đồng giữa các file, cài
đặt thuật toán phân cụm HAC
4 Ranking.java Tính toán điểm số và xếp hạng các file chứa
thực thể người
4.3. Xây dựng tập dữ liệu thực nghiệm
Để tiến hành thực nghiệm, tôi xin đưa ra 10 tên người được coi là phổ biến
trên Web để đánh giá phương pháp đề xuất. Tập dữ liệu mà trên đó chúng tôi thực
hiện công việc
STT Tên phần mềm Tác giả Nguồn
1 eclipse-SDK-
3.4.1-win32
http://www.eclipse.org/downl
oads
2
JvntextPro-v2
Phan Xuân Hiếu,
Nguyễn C9m Tú,
Nguyễn Thu Trang
http://sourceforge.net/project
s/jvntextpro/
41
Bảng 3. Tập tên người thực nghiệm
STT Tên Người Số văn bản
1 Nguyễn Hữu Đức 35
2 Nguyễn Mạnh Hùng 25
3 Nguyễn Thị Hạnh 27
4 Nguyễn Thành Trung 27
5 Nguyễn Tuấn Anh 27
6 Nguyễn Thị Thu Hà 18
7 Nguyễn Thị Lan Anh 30
8 Nguyễn Thị Minh Ngọc 20
9 Nguyễn Trung Dũng 19
10 Nguyễn Tiến Đạt 27
4.5. Thực nghiệm và Kết quả
Quá trình thực nghiệm
• Quá trình thu thập
� Sử dung truy vấn với cú pháp [<dấu cách> <câu hỏi người dùng> <dấu
cách> {[<dấu cách> site:.edu OR site:.edu.vn <dấu cách>]}, lấy 100
trang Web đầu tiên trả về từ máy tìm kiếm Google.
� Với mỗi tập trang Web thu thập tiến hành kiểm tra và loại bỏ các trang
Web không phù hợp
• Quá trình tiền xử lý
� Tiến hành lọc bỏ thẻ html
� Lấy nội dung chính của trang
� Tách câu, tách từ trên miền dữ liệu thu được
42
Dựa vào danh sách các nhãn và một số đặc trưng, trích chọn 12 thuộc tính
cho mỗi thực thể người. Trong khóa luận này, tôi thực hiện công việc trích rút các
thuộc tính về thực thể người bằng tay để đạt độ chính xác cao nhất có thể được.
Các trường thông tin thuộc tính cho mỗi thực thể người được lưu dưới một file.txt
như sau:
Hình 13. Ví dụ các thuộc tính sau khi trích chọn
• Quá trình phân cụm
Cài đặt thuật toán phân cụm phân cấp HAC. Trong khóa luận này, chúng tôi
sử dụng hai ngưỡng tương đồng để cắt cây phân cấp là ngưỡng tương đồng alpha
và số lượng cụm mong muốn k với α = 0.48 và k = 3
Thuật toán phân cụm HAC
43
Bảng 4. Kết quả phân cụm
STT
Tên Người
Số lượng cụm
thực thể người
mong muốn
Số lượng cụm
thực thể người
nhận được
1 Nguyễn Hữu Đức 15 20
2 Nguyễn Mạnh Hùng 17 20
3 Nguyễn Thị Hạnh 26 24
4 Nguyễn Thành Trung 24 21
5 Nguyễn Tuấn Anh 25 27
6 Nguyễn Thị Thu Hà 17 18
7 Nguyễn Thị Lan Anh 29 30
8 Nguyễn Thị Minh Ngọc 20 19
9 Nguyễn Trung Dũng 18 17
10 Nguyễn Tiến Đạt 20 23
Xếp hạng thực thể
Một số kết quả xếp hạng thực thể .
Kết quả xếp hạng ứng với hai tên người: Nguyễn Tuấn Anh, Nguyễn Thị Lan Anh,
và điểm số tương ứng với mỗi thực thể
44
Bảng 5. Một số kết quả xếp hạng
Nguyễn Tuấn Anh
Nguyễn Thị Lan Anh
Nguyễn Tuấn Anh_clus1.txt 9.0 Nguyễn Tuấn Anh_clus2.txt 8.0 Nguyễn Tuấn Anh_clus3.txt 8.0 Nguyễn Tuấn Anh_clus4.txt 8.0 Nguyễn Tuấn Anh_clus5.txt 7.0 Nguyễn Tuấn Anh_clus6.txt 6.0 Nguyễn Tuấn Anh_clus7.txt 6.0 Nguyễn Tuấn Anh_clus8.txt 6.0 Nguyễn Tuấn Anh_clus9.txt 5.0 Nguyễn Tuấn Anh_clus10.txt 5.0 Nguyễn Tuấn Anh_clus11.txt 5.0 Nguyễn Tuấn Anh_clus12.txt 5.0 Nguyễn Tuấn Anh_clus13.txt 5.0 Nguyễn Tuấn Anh_clus14.txt 5.0 Nguyễn Tuấn Anh_clus15.txt 5.0 Nguyễn Tuấn Anh_clus16.txt 5.0 Nguyễn Tuấn Anh_clus17.txt 4.0 Nguyễn Tuấn Anh_clus18.txt 4.0 Nguyễn Tuấn Anh_clus19.txt 4.0 Nguyễn Tuấn Anh_clus20.txt 4.0 Nguyễn Tuấn Anh_clus21.txt 4.0 Nguyễn Tuấn Anh_clus22.txt 4.0 Nguyễn Tuấn Anh_clus23.txt 4.0 Nguyễn Tuấn Anh_clus24.txt 3.0 Nguyễn Tuấn Anh_clus25.txt 2.0
Nguyễn Thị Lan Anh_clus1.txt 13.0 Nguyễn Thị Lan Anh_clus2.txt 9.0 Nguyễn Thị Lan Anh_clus3.txt 8.0 Nguyễn Thị Lan Anh_clus4.txt 7.0 Nguyễn Thị Lan Anh_clus5.txt 7.0 Nguyễn Thị Lan Anh_clus6.txt 7.0 Nguyễn Thị Lan Anh_clus7.txt 7.0 Nguyễn Thị Lan Anh_clus8.txt 7.0 Nguyễn Thị Lan Anh_clus9.txt 6.0 Nguyễn Thị Lan Anh_clus10.txt 6.0 Nguyễn Thị Lan Anh_clus11.txt 6.0 Nguyễn Thị Lan Anh_clus12.txt 5.0 Nguyễn Thị Lan Anh_clus13.txt 5.0 Nguyễn Thị Lan Anh_clus14.txt 5.0 Nguyễn Thị Lan Anh_clus15.txt 5.0 Nguyễn Thị Lan Anh_clus16.txt 5.0 Nguyễn Thị Lan Anh_clus17.txt 5.0 Nguyễn Thị Lan Anh_clus18.txt 5.0 Nguyễn Thị Lan Anh_clus19.txt 5.0 Nguyễn Thị Lan Anh_clus20.txt 5.0 Nguyễn Thị Lan Anh_clus21.txt 4.0 Nguyễn Thị Lan Anh_clus22.txt 4.0 Nguyễn Thị Lan Anh_clus23.txt 4.0 Nguyễn Thị Lan Anh_clus24.txt 4.0 Nguyễn Thị Lan Anh_clus25.txt 4.0 Nguyễn Thị Lan Anh_clus26.txt 4.0 Nguyễn Thị Lan Anh_clus27.txt 4.0 Nguyễn Thị Lan Anh_clus28.txt 4.0 Nguyễn Thị Lan Anh_clus29.txt 3.0 Nguyễn Thị Lan Anh_clus30.txt 3.0
45
Đánh giá kết quả thực nghiệm
Bảng 6. Đánh giá kết quả phân cụm
STT
Tên Người Purity
Inverse
Purity F (0,2) F(0,5)
1 Nguyễn Hữu Đức 0.55 0.48 0.49 0.51
2 Nguyễn Mạnh Hùng 0.78 0.89 0.86 0.83
3 Nguyễn Thị Hạnh 0.81 0.92 0.89 0.86
4 Nguyễn Thành Trung 0.78 0.83 0.81 0.8
5 Nguyễn Tuấn Anh 1 1 1 1
6 Nguyễn Thị Thu Hà 0.94 0.91 0.91 0.92
7 Nguyễn Thị Lan Anh 0.96 0.93 0.93 0.94
8 Nguyễn Thị Minh Ngọc 0.9 0.95 0.94 0.92
9 Nguyễn Trung Dũng 0.89 0.94 0.93 0.91
10 Nguyễn Tiến Đạt 0.74 0.89 0.85 0.8
Trung bình 0.83 0.87 0.86 0.84
46
Xếp hạng thực thể người
Bảng 7. Đánh giá kết quả xếp hạng
Nhận Xét
Phương pháp phân cụm dữ liệu: Việc tính toán độ đo tương đồng giữa các
đặc trưng vẫn còn một vài hạn chế. Một vài trường hợp ảnh hưởng tới kết quả như:
Vấn đề tách câu tách từ vẫn chưa thật chính xác. Các thông tin trong các
trường thuộc tính về người được trích chọn từ các trang Web lấy về chưa thật đầy
đủ. Do đó, ảnh hưởng tới kết quả phân cụm.
Các đặc trưng sau khi trích chọn chưa chuNn hóa. Việc sử dụng các từ viết
tắt cho cùng một tên làm sai lệch kết quả. Ví dụ, cùng một tên”Đại Học Quốc Gia
STT
Tên Người
P@5
P@10
MAP
1 Nguyễn Hữu Đức 0.4 0.8 0.7
2 Nguyễn Mạnh Hùng 0.6 0.7 0.73
3 Nguyễn Thị Hạnh 0.8 0.7 0..85
4 Nguyễn Thành Trung 0.4 0.9 0.71
5 Nguyễn Tuấn Anh 0.8 0.7 0.87
6 Nguyễn Thị Thu Hà 0.8 0.9 0.86
7 Nguyễn Thị Lan Anh 0.8 0.9 0.85
8 Nguyễn Thị Minh Ngọc 0.8 1 1
9 Nguyễn Trung Dũng 0.8 0.6 0.68
10 Nguyễn Tiến Đạt 0.6 0.7 0.73
Trung bình 0.68 0.79 0.8
47
Hà Nội” tồn tại một số cách viết tắt như “Đại Học Quốc Gia HN”, “ĐHQGHN”
hay cùng tên “Thành Phố Hồ Chí Minh” có các từ viết tắt như “TP.HCM”, “TP.Hồ
Chí Minh”,”Thành Phố HCM”,….
Trong rất nhiều trường hợp, một người tham gia các lĩnh vực khác nhau với
các nơi làm việc khác nhau nhưng những đặc trưng ở mỗi trang để giúp nhận ra đó
chỉ là một người là quá ít. Rõ ràng điều này khó có thể khắc phục được bằng các
thuật toán không giám sát vì không có một tri thức đầy đủ và toàn diện về người
đó để phân biệt và ghép nối các thông tin.
Ngoài ra, tên người thực nghiệm là những tên người phổ biến, ít hoặc
không nổi tiếng. Số lượng các trang cùng trỏ tới một thực thể người là không
nhiều. Chẳng hạn, với tên “Nguyễn Thị Thu Hà” thì số lượng cụm thực thể thu
được là 17 trên tổng số 18 trang Web thu thập được. Như vậy, chỉ có hai trang
Web cùng trỏ tới một người. Thêm vào đó, số lượng trang Web nhận được ứng với
một tên người sau khi đã lọc bỏ các trang không phù hợp là không nhiều. Vì vậy
kết quả phân cụm chỉ là trên tập dữ liệu nhỏ.
Phương pháp xếp hạng thực thể người cùng tên
Việc thực thi phân cụm không chính xác tuyệt đối. Do đó, còn tồn tại
trường hợp những người khác nhau được gom vào thành một cụm hoặc hai văn
bản cùng trỏ tới một thực thể người lại gom vào hai cụm khác nhau, làm sai lệch
kết quả tính hạng cho các thực thể.
Với truy vấn đầu vào chỉ chứa tên người mà không chứa thông tin ngữ cảnh
cho người nên việc xếp hạng thực thể không tập trung vào độ phù hợp với ngữ
cảnh mà chỉ tập trung xếp hạng dựa trên số lượng trường thông tin có được về thực
thể người đó.
48
Kết luận
Kết quả đạt được của khóa luận
Trong khóa luận này, chúng tôi đã khảo sát miền dữ liệu giáo dục tiếng Việt
để đề xuất phương pháp tìm kiếm người trên Web. Phương pháp này có ưu điểm là
xử lý hai vấn đề quan trọng trong tìm kiếm người, tận dụng được các đặc trưng tốt
nhất về người và dễ cài đặt. Tuy nhiên vấp phải hạn chế là việc so khớp từ vẫn còn
nhiều vấn đề như: các từ viết tắt, các từ nghề nghiệp. Ngoài ra, các thông tin về
người chưa thật đầy đủ làm ảnh hưởng tới kết quả tính toán, đặc biệt là vấn đề tính
toán độ tương đồng giữa các đặc trưng.
Chúng tôi cũng đã cài đặt, thử nghiệm ban đầu trên một tập nhỏ tên người
được coi là phố biến trên Web và cho kết quả khá tốt. Dựa trên kết quả của bài
toán tìm kiếm người trên Web, chúng tôi đề xuất mô hình hệ thống tìm kiếm thực
thể người dựa trên bài toán tìm kiếm người. Tuy nhiên hệ thống tìm kiếm là một
bài toán lớn gồm nhiều thành phần phức tạp, do thời gian có hạn nên khóa luận
chưa thực hiện được một hệ thống hoàn chỉnh.
Định hướng tương lai
Thử nghiệm bổ sung các từ điển về từ viết tắt và danh từ nghề nghiệp, thực
hiện chuNn hóa các đặc trưng trích chọn để tăng chất lượng cho việc phân biệt
nhập nhằng. Đồng thời thực hiện khai thác miền dữ liệu chứa đầy đủ thông tin liên
quan tới người. Xây dựng được một hệ thống tìm kiếm thực thể với quy mô nhỏ.
a
Tài liệu tham khảo Tiếng Việt
[1] Hà Quang Thụy, Phan Xuân Hiếu, Đoàn Sơn, Nguyễn Trí Thành, Nguyễn Thu Trang, Nguyễn C9m Tú. Giáo trình khai phá dữ liệu Web. Nhà xuất bản giáo dục Việt Nam, 2009.
[2] Nguyễn Thu Trang. Học xếp hạng trong tịnh hạng đối tượng và phân cụm tài
liệu. Luận văn Thạc sỹ, Trường ĐHCN, ĐHQGHN, 2009, tr. 16-27.
[3] Nguyễn Đạo Thái. Phân biệt nhập nhằng tên người trong hệ thống tìm kiếm
thực thể người. Khóa luận đại học. Trường Đại Học Công Nghệ, ĐHQGHN, 2010, tr. 5-6.
Tiếng Anh
[4] Anne-Marie, Vercoustre James and A. Thom Jovan Pehcevski. Entity
Ranking in Wikipedia. INRIA Rocquencourt, France, RMIT University Melbourne, Australia, 2007, pp. 1-4.
[5] Cheng, T., Yan, X., and Chang, K. C.-C. Supporting entity search: a large-
scale prototype search engine. In SIGMOD '07: Proceedings of the 2007 ACM SIGMOD international conference on Management of data (New York, NY, USA, 2007), ACM, pp. 1144-1146.
[6] Elena Smirnova1, Konstantin Avrachenkov, and Brigitte Trousse. Using
Web Graph Structure for Person Name Disambiguation. 2004 route des Lucioles, 06902 Sophia Antipolis Cedex, France.
[7] Javier Artiles, Andrew Borthwick, Julio Gonzalo, Satoshi Sekine and Enrique Amigo. WePS-3 Evaluation Campaign: Overview of the Web People
Search Clustering and Attribute Extraction Tasks, WePS-3, 2010, pp. 2-5
[8] Javier Artiles, Julio Gonzalo and Satoshi Sekine. The SemEval-2007 WePS Evaluation: Establishing a benchmark for the Web People Search Task, 1st Web People SearchEvaluation Workshop (WePS 2007), 2007, pp. 67- 68.
[9] Juan Martinez-Romo and Lourdes Araujo. Web People Search
Disambiguation using Language Model Techniques. April 21st - Madrid, Spain Colocated with the WWW2009 conference,.
[10] Kazunari Sugiyama and Manabu Okumura, Web People Search Task Using
Semi-Supervised Clustering Approach, Tokyo Institute of Technology, 1st Web People SearchEvaluation Workshop (WePS 2007), 2007, pp. 318 -320
[11] Martin F. Porter. 1980. An algorithm for suffix stripping.Program, 14(3):130–137, July.
b
[12] Masaki Ikeda and Shingo Onossei Sato. Person Name Disambiguation on the
Web by Two-Stage Clustering. In 2nd Web People SearchEvaluation Workshop (WePS 2009), 2009, pp. 1-6.
[13] Tao Cheng, Xifeng Yan, Kevin Chen-Chuan Chang. EntityRank: Searching
Entities Directly and Holistically. In VLDB: Proceedings of the 33rd international conference on very large data bases, 2007, pp. 4-9.
[14] Xiaojun Wan, Jianfeng Gao, Mu Li and Binggong Ding. Person Resolution
in Person Search Results: WebHawk. Proceedings of the 14th ACM international conference on Information and knowledge management, 2005, pp. 1-8.
[15] Xindong Wu, Vipin Kumar, J. Ross Quinlan, Joydeep Ghosh, Qiang Yang, Hiroshi Motoda, Geoffrey J. McLachlan, Angus Ng, Bing Liu, Philip S. Yu, Zhi-Hua Zhou, Michael Steinbach, David J. Hand, Dan Steinberg. Top
10 algorithms in data mining, pages 17-19, 4 December 2007, pp.17-19.
[16] http://nlp.uned.es/weps/
[17] WISDM. http://wisdm.cs.uiuc.edu/