60
ĐẠI HC QUC GIA HÀ NI TRƯỜNG ĐẠI HC CÔNG NGHNguyn ThKim Chi GII PHÁP TÌM KIM NGƯỜI THEO TÊN TRÊN WEB DA TRÊN PHÂN CM PHÂN CP VÀ XP HNG CP THTVÀ THNGHIM VÀO HTHNG TÌM KIM THC THNGƯỜI TING VIT KHOÁ LUN TT NGHIP ĐẠI HC HCHÍNH QUY Ngành: Công NghThông Tin HÀ NI - 2011

ĐẠI H ỌC QU Ố ỘI TR ƯỜNG ĐẠ I H ỌC CÔNG NGH Ệthuyhq/Student_Thesis/K52_Nguyen_Thi_Kim_Chi...ĐẠi h Ọc qu Ốc gia hÀ n Ội tr ƯỜng ĐẠ i h Ọc cÔng

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: ĐẠI H ỌC QU Ố ỘI TR ƯỜNG ĐẠ I H ỌC CÔNG NGH Ệthuyhq/Student_Thesis/K52_Nguyen_Thi_Kim_Chi...ĐẠi h Ọc qu Ốc gia hÀ n Ội tr ƯỜng ĐẠ i h Ọc cÔng

ĐẠ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

Page 2: ĐẠI H ỌC QU Ố ỘI TR ƯỜNG ĐẠ I H ỌC CÔNG NGH Ệthuyhq/Student_Thesis/K52_Nguyen_Thi_Kim_Chi...ĐẠi h Ọc qu Ốc gia hÀ n Ội tr ƯỜng ĐẠ i h Ọc cÔng

ĐẠ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

Page 3: ĐẠI H ỌC QU Ố ỘI TR ƯỜNG ĐẠ I H ỌC CÔNG NGH Ệthuyhq/Student_Thesis/K52_Nguyen_Thi_Kim_Chi...ĐẠi h Ọc qu Ốc gia hÀ n Ội tr ƯỜng ĐẠ i h Ọc cÔng

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

Page 4: ĐẠI H ỌC QU Ố ỘI TR ƯỜNG ĐẠ I H ỌC CÔNG NGH Ệthuyhq/Student_Thesis/K52_Nguyen_Thi_Kim_Chi...ĐẠi h Ọc qu Ốc gia hÀ n Ội tr ƯỜng ĐẠ i h Ọc cÔng

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.

Page 5: ĐẠI H ỌC QU Ố ỘI TR ƯỜNG ĐẠ I H ỌC CÔNG NGH Ệthuyhq/Student_Thesis/K52_Nguyen_Thi_Kim_Chi...ĐẠi h Ọc qu Ốc gia hÀ n Ội tr ƯỜng ĐẠ i h Ọc cÔng

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.

Page 6: ĐẠI H ỌC QU Ố ỘI TR ƯỜNG ĐẠ I H ỌC CÔNG NGH Ệthuyhq/Student_Thesis/K52_Nguyen_Thi_Kim_Chi...ĐẠi h Ọc qu Ốc gia hÀ n Ội tr ƯỜng ĐẠ i h Ọc cÔng

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

Page 7: ĐẠI H ỌC QU Ố ỘI TR ƯỜNG ĐẠ I H ỌC CÔNG NGH Ệthuyhq/Student_Thesis/K52_Nguyen_Thi_Kim_Chi...ĐẠi h Ọc qu Ốc gia hÀ n Ội tr ƯỜng ĐẠ i h Ọc cÔng

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

Page 8: ĐẠI H ỌC QU Ố ỘI TR ƯỜNG ĐẠ I H ỌC CÔNG NGH Ệthuyhq/Student_Thesis/K52_Nguyen_Thi_Kim_Chi...ĐẠi h Ọc qu Ốc gia hÀ n Ội tr ƯỜng ĐẠ i h Ọc cÔng

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

Page 9: ĐẠI H ỌC QU Ố ỘI TR ƯỜNG ĐẠ I H ỌC CÔNG NGH Ệthuyhq/Student_Thesis/K52_Nguyen_Thi_Kim_Chi...ĐẠi h Ọc qu Ốc gia hÀ n Ội tr ƯỜng ĐẠ i h Ọc cÔng

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

Page 10: ĐẠI H ỌC QU Ố ỘI TR ƯỜNG ĐẠ I H ỌC CÔNG NGH Ệthuyhq/Student_Thesis/K52_Nguyen_Thi_Kim_Chi...ĐẠi h Ọc qu Ốc gia hÀ n Ội tr ƯỜng ĐẠ i h Ọc cÔng

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

Page 11: ĐẠI H ỌC QU Ố ỘI TR ƯỜNG ĐẠ I H ỌC CÔNG NGH Ệthuyhq/Student_Thesis/K52_Nguyen_Thi_Kim_Chi...ĐẠi h Ọc qu Ốc gia hÀ n Ội tr ƯỜng ĐẠ i h Ọc cÔng

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.

Page 12: ĐẠI H ỌC QU Ố ỘI TR ƯỜNG ĐẠ I H ỌC CÔNG NGH Ệthuyhq/Student_Thesis/K52_Nguyen_Thi_Kim_Chi...ĐẠi h Ọc qu Ốc gia hÀ n Ội tr ƯỜng ĐẠ i h Ọc cÔng

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.

Page 13: ĐẠI H ỌC QU Ố ỘI TR ƯỜNG ĐẠ I H ỌC CÔNG NGH Ệthuyhq/Student_Thesis/K52_Nguyen_Thi_Kim_Chi...ĐẠi h Ọc qu Ốc gia hÀ n Ội tr ƯỜng ĐẠ i h Ọc cÔng

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.

Page 14: ĐẠI H ỌC QU Ố ỘI TR ƯỜNG ĐẠ I H ỌC CÔNG NGH Ệthuyhq/Student_Thesis/K52_Nguyen_Thi_Kim_Chi...ĐẠi h Ọc qu Ốc gia hÀ n Ội tr ƯỜng ĐẠ i h Ọc cÔng

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:

Page 15: ĐẠI H ỌC QU Ố ỘI TR ƯỜNG ĐẠ I H ỌC CÔNG NGH Ệthuyhq/Student_Thesis/K52_Nguyen_Thi_Kim_Chi...ĐẠi h Ọc qu Ốc gia hÀ n Ội tr ƯỜng ĐẠ i h Ọc cÔng

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ả

Page 16: ĐẠI H ỌC QU Ố ỘI TR ƯỜNG ĐẠ I H ỌC CÔNG NGH Ệthuyhq/Student_Thesis/K52_Nguyen_Thi_Kim_Chi...ĐẠi h Ọc qu Ốc gia hÀ n Ội tr ƯỜng ĐẠ i h Ọc cÔng

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

Page 17: ĐẠI H ỌC QU Ố ỘI TR ƯỜNG ĐẠ I H ỌC CÔNG NGH Ệthuyhq/Student_Thesis/K52_Nguyen_Thi_Kim_Chi...ĐẠi h Ọc qu Ốc gia hÀ n Ội tr ƯỜng ĐẠ i h Ọc cÔng

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]:

Page 18: ĐẠI H ỌC QU Ố ỘI TR ƯỜNG ĐẠ I H ỌC CÔNG NGH Ệthuyhq/Student_Thesis/K52_Nguyen_Thi_Kim_Chi...ĐẠi h Ọc qu Ốc gia hÀ n Ội tr ƯỜng ĐẠ i h Ọc cÔng

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.

Page 19: ĐẠI H ỌC QU Ố ỘI TR ƯỜNG ĐẠ I H ỌC CÔNG NGH Ệthuyhq/Student_Thesis/K52_Nguyen_Thi_Kim_Chi...ĐẠi h Ọc qu Ốc gia hÀ n Ội tr ƯỜng ĐẠ i h Ọc cÔng

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.

Page 20: ĐẠI H ỌC QU Ố ỘI TR ƯỜNG ĐẠ I H ỌC CÔNG NGH Ệthuyhq/Student_Thesis/K52_Nguyen_Thi_Kim_Chi...ĐẠi h Ọc qu Ốc gia hÀ n Ội tr ƯỜng ĐẠ i h Ọc cÔng

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.

Page 21: ĐẠI H ỌC QU Ố ỘI TR ƯỜNG ĐẠ I H ỌC CÔNG NGH Ệthuyhq/Student_Thesis/K52_Nguyen_Thi_Kim_Chi...ĐẠi h Ọc qu Ốc gia hÀ n Ội tr ƯỜng ĐẠ i h Ọc cÔng

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

Page 22: ĐẠI H ỌC QU Ố ỘI TR ƯỜNG ĐẠ I H ỌC CÔNG NGH Ệthuyhq/Student_Thesis/K52_Nguyen_Thi_Kim_Chi...ĐẠi h Ọc qu Ốc gia hÀ n Ội tr ƯỜng ĐẠ i h Ọc cÔng

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

Page 23: ĐẠI H ỌC QU Ố ỘI TR ƯỜNG ĐẠ I H ỌC CÔNG NGH Ệthuyhq/Student_Thesis/K52_Nguyen_Thi_Kim_Chi...ĐẠi h Ọc qu Ốc gia hÀ n Ội tr ƯỜng ĐẠ i h Ọc cÔng

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.

Page 24: ĐẠI H ỌC QU Ố ỘI TR ƯỜNG ĐẠ I H ỌC CÔNG NGH Ệthuyhq/Student_Thesis/K52_Nguyen_Thi_Kim_Chi...ĐẠi h Ọc qu Ốc gia hÀ n Ội tr ƯỜng ĐẠ i h Ọc cÔng

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”

Page 25: ĐẠI H ỌC QU Ố ỘI TR ƯỜNG ĐẠ I H ỌC CÔNG NGH Ệthuyhq/Student_Thesis/K52_Nguyen_Thi_Kim_Chi...ĐẠi h Ọc qu Ốc gia hÀ n Ội tr ƯỜng ĐẠ i h Ọc cÔng

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=

Page 26: ĐẠI H ỌC QU Ố ỘI TR ƯỜNG ĐẠ I H ỌC CÔNG NGH Ệthuyhq/Student_Thesis/K52_Nguyen_Thi_Kim_Chi...ĐẠi h Ọc qu Ốc gia hÀ n Ội tr ƯỜng ĐẠ i h Ọc cÔng

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:

Page 27: ĐẠI H ỌC QU Ố ỘI TR ƯỜNG ĐẠ I H ỌC CÔNG NGH Ệthuyhq/Student_Thesis/K52_Nguyen_Thi_Kim_Chi...ĐẠi h Ọc qu Ốc gia hÀ n Ội tr ƯỜng ĐẠ i h Ọc cÔng

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

Page 28: ĐẠI H ỌC QU Ố ỘI TR ƯỜNG ĐẠ I H ỌC CÔNG NGH Ệthuyhq/Student_Thesis/K52_Nguyen_Thi_Kim_Chi...ĐẠi h Ọc qu Ốc gia hÀ n Ội tr ƯỜng ĐẠ i h Ọc cÔng

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 ααα ).

Page 29: ĐẠI H ỌC QU Ố ỘI TR ƯỜNG ĐẠ I H ỌC CÔNG NGH Ệthuyhq/Student_Thesis/K52_Nguyen_Thi_Kim_Chi...ĐẠi h Ọc qu Ốc gia hÀ n Ội tr ƯỜng ĐẠ i h Ọc cÔng

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ữ.

Page 30: ĐẠI H ỌC QU Ố ỘI TR ƯỜNG ĐẠ I H ỌC CÔNG NGH Ệthuyhq/Student_Thesis/K52_Nguyen_Thi_Kim_Chi...ĐẠi h Ọc qu Ốc gia hÀ n Ội tr ƯỜng ĐẠ i h Ọc cÔ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

Page 31: ĐẠI H ỌC QU Ố ỘI TR ƯỜNG ĐẠ I H ỌC CÔNG NGH Ệthuyhq/Student_Thesis/K52_Nguyen_Thi_Kim_Chi...ĐẠi h Ọc qu Ốc gia hÀ n Ội tr ƯỜng ĐẠ i h Ọc cÔng

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ể.

Page 32: ĐẠI H ỌC QU Ố ỘI TR ƯỜNG ĐẠ I H ỌC CÔNG NGH Ệthuyhq/Student_Thesis/K52_Nguyen_Thi_Kim_Chi...ĐẠi h Ọc qu Ốc gia hÀ n Ội tr ƯỜng ĐẠ i h Ọc cÔng

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

∩=

Page 33: ĐẠI H ỌC QU Ố ỘI TR ƯỜNG ĐẠ I H ỌC CÔNG NGH Ệthuyhq/Student_Thesis/K52_Nguyen_Thi_Kim_Chi...ĐẠi h Ọc qu Ốc gia hÀ n Ội tr ƯỜng ĐẠ i h Ọc cÔng

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))

Page 34: ĐẠI H ỌC QU Ố ỘI TR ƯỜNG ĐẠ I H ỌC CÔNG NGH Ệthuyhq/Student_Thesis/K52_Nguyen_Thi_Kim_Chi...ĐẠi h Ọc qu Ốc gia hÀ n Ội tr ƯỜng ĐẠ i h Ọc cÔng

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]

Page 35: ĐẠI H ỌC QU Ố ỘI TR ƯỜNG ĐẠ I H ỌC CÔNG NGH Ệthuyhq/Student_Thesis/K52_Nguyen_Thi_Kim_Chi...ĐẠi h Ọc qu Ốc gia hÀ n Ội tr ƯỜng ĐẠ i h Ọc cÔng

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 α .

Page 36: ĐẠI H ỌC QU Ố ỘI TR ƯỜNG ĐẠ I H ỌC CÔNG NGH Ệthuyhq/Student_Thesis/K52_Nguyen_Thi_Kim_Chi...ĐẠi h Ọc qu Ốc gia hÀ n Ội tr ƯỜng ĐẠ i h Ọc cÔng

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à

Page 37: ĐẠI H ỌC QU Ố ỘI TR ƯỜNG ĐẠ I H ỌC CÔNG NGH Ệthuyhq/Student_Thesis/K52_Nguyen_Thi_Kim_Chi...ĐẠi h Ọc qu Ốc gia hÀ n Ội tr ƯỜng ĐẠ i h Ọc cÔng

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.

Page 38: ĐẠI H ỌC QU Ố ỘI TR ƯỜNG ĐẠ I H ỌC CÔNG NGH Ệthuyhq/Student_Thesis/K52_Nguyen_Thi_Kim_Chi...ĐẠi h Ọc qu Ốc gia hÀ n Ội tr ƯỜng ĐẠ i h Ọc cÔng

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

Page 39: ĐẠI H ỌC QU Ố ỘI TR ƯỜNG ĐẠ I H ỌC CÔNG NGH Ệthuyhq/Student_Thesis/K52_Nguyen_Thi_Kim_Chi...ĐẠi h Ọc qu Ốc gia hÀ n Ội tr ƯỜng ĐẠ i h Ọc cÔng

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.

Page 40: ĐẠI H ỌC QU Ố ỘI TR ƯỜNG ĐẠ I H ỌC CÔNG NGH Ệthuyhq/Student_Thesis/K52_Nguyen_Thi_Kim_Chi...ĐẠi h Ọc qu Ốc gia hÀ n Ội tr ƯỜng ĐẠ i h Ọc cÔng

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.

Page 41: ĐẠI H ỌC QU Ố ỘI TR ƯỜNG ĐẠ I H ỌC CÔNG NGH Ệthuyhq/Student_Thesis/K52_Nguyen_Thi_Kim_Chi...ĐẠi h Ọc qu Ốc gia hÀ n Ội tr ƯỜng ĐẠ i h Ọc cÔng

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

Page 42: ĐẠI H ỌC QU Ố ỘI TR ƯỜNG ĐẠ I H ỌC CÔNG NGH Ệthuyhq/Student_Thesis/K52_Nguyen_Thi_Kim_Chi...ĐẠi h Ọc qu Ốc gia hÀ n Ội tr ƯỜng ĐẠ i h Ọc cÔng

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

Page 43: ĐẠI H ỌC QU Ố ỘI TR ƯỜNG ĐẠ I H ỌC CÔNG NGH Ệthuyhq/Student_Thesis/K52_Nguyen_Thi_Kim_Chi...ĐẠi h Ọc qu Ốc gia hÀ n Ội tr ƯỜng ĐẠ i h Ọc cÔng

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

Page 44: ĐẠI H ỌC QU Ố ỘI TR ƯỜNG ĐẠ I H ỌC CÔNG NGH Ệthuyhq/Student_Thesis/K52_Nguyen_Thi_Kim_Chi...ĐẠi h Ọc qu Ốc gia hÀ n Ội tr ƯỜng ĐẠ i h Ọc cÔng

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:

Page 45: ĐẠI H ỌC QU Ố ỘI TR ƯỜNG ĐẠ I H ỌC CÔNG NGH Ệthuyhq/Student_Thesis/K52_Nguyen_Thi_Kim_Chi...ĐẠi h Ọc qu Ốc gia hÀ n Ội tr ƯỜng ĐẠ i h Ọc cÔng

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

Page 46: ĐẠI H ỌC QU Ố ỘI TR ƯỜNG ĐẠ I H ỌC CÔNG NGH Ệthuyhq/Student_Thesis/K52_Nguyen_Thi_Kim_Chi...ĐẠi h Ọc qu Ốc gia hÀ n Ội tr ƯỜng ĐẠ i h Ọc cÔng

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

Page 47: ĐẠI H ỌC QU Ố ỘI TR ƯỜNG ĐẠ I H ỌC CÔNG NGH Ệthuyhq/Student_Thesis/K52_Nguyen_Thi_Kim_Chi...ĐẠi h Ọc qu Ốc gia hÀ n Ội tr ƯỜng ĐẠ i h Ọc cÔng

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.

Page 48: ĐẠI H ỌC QU Ố ỘI TR ƯỜNG ĐẠ I H ỌC CÔNG NGH Ệthuyhq/Student_Thesis/K52_Nguyen_Thi_Kim_Chi...ĐẠi h Ọc qu Ốc gia hÀ n Ội tr ƯỜng ĐẠ i h Ọc cÔng

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

Page 49: ĐẠI H ỌC QU Ố ỘI TR ƯỜNG ĐẠ I H ỌC CÔNG NGH Ệthuyhq/Student_Thesis/K52_Nguyen_Thi_Kim_Chi...ĐẠi h Ọc qu Ốc gia hÀ n Ội tr ƯỜng ĐẠ i h Ọc cÔng

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

Page 50: ĐẠI H ỌC QU Ố ỘI TR ƯỜNG ĐẠ I H ỌC CÔNG NGH Ệthuyhq/Student_Thesis/K52_Nguyen_Thi_Kim_Chi...ĐẠi h Ọc qu Ốc gia hÀ n Ội tr ƯỜng ĐẠ i h Ọc cÔng

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/

Page 51: ĐẠI H ỌC QU Ố ỘI TR ƯỜNG ĐẠ I H ỌC CÔNG NGH Ệthuyhq/Student_Thesis/K52_Nguyen_Thi_Kim_Chi...ĐẠi h Ọc qu Ốc gia hÀ n Ội tr ƯỜng ĐẠ i h Ọc cÔng

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

Page 52: ĐẠI H ỌC QU Ố ỘI TR ƯỜNG ĐẠ I H ỌC CÔNG NGH Ệthuyhq/Student_Thesis/K52_Nguyen_Thi_Kim_Chi...ĐẠi h Ọc qu Ốc gia hÀ n Ội tr ƯỜng ĐẠ i h Ọc cÔng

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

Page 53: ĐẠI H ỌC QU Ố ỘI TR ƯỜNG ĐẠ I H ỌC CÔNG NGH Ệthuyhq/Student_Thesis/K52_Nguyen_Thi_Kim_Chi...ĐẠi h Ọc qu Ốc gia hÀ n Ội tr ƯỜng ĐẠ i h Ọc cÔng

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ể

Page 54: ĐẠI H ỌC QU Ố ỘI TR ƯỜNG ĐẠ I H ỌC CÔNG NGH Ệthuyhq/Student_Thesis/K52_Nguyen_Thi_Kim_Chi...ĐẠi h Ọc qu Ốc gia hÀ n Ội tr ƯỜng ĐẠ i h Ọc cÔng

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

Page 55: ĐẠI H ỌC QU Ố ỘI TR ƯỜNG ĐẠ I H ỌC CÔNG NGH Ệthuyhq/Student_Thesis/K52_Nguyen_Thi_Kim_Chi...ĐẠi h Ọc qu Ốc gia hÀ n Ội tr ƯỜng ĐẠ i h Ọc cÔng

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

Page 56: ĐẠI H ỌC QU Ố ỘI TR ƯỜNG ĐẠ I H ỌC CÔNG NGH Ệthuyhq/Student_Thesis/K52_Nguyen_Thi_Kim_Chi...ĐẠi h Ọc qu Ốc gia hÀ n Ội tr ƯỜng ĐẠ i h Ọc cÔng

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

Page 57: ĐẠI H ỌC QU Ố ỘI TR ƯỜNG ĐẠ I H ỌC CÔNG NGH Ệthuyhq/Student_Thesis/K52_Nguyen_Thi_Kim_Chi...ĐẠi h Ọc qu Ốc gia hÀ n Ội tr ƯỜng ĐẠ i h Ọc cÔng

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 đó.

Page 58: ĐẠI H ỌC QU Ố ỘI TR ƯỜNG ĐẠ I H ỌC CÔNG NGH Ệthuyhq/Student_Thesis/K52_Nguyen_Thi_Kim_Chi...ĐẠi h Ọc qu Ốc gia hÀ n Ội tr ƯỜng ĐẠ i h Ọc cÔng

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ỏ.

Page 59: ĐẠI H ỌC QU Ố ỘI TR ƯỜNG ĐẠ I H ỌC CÔNG NGH Ệthuyhq/Student_Thesis/K52_Nguyen_Thi_Kim_Chi...ĐẠi h Ọc qu Ốc gia hÀ n Ội tr ƯỜng ĐẠ i h Ọc cÔng

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.

Page 60: ĐẠI H ỌC QU Ố ỘI TR ƯỜNG ĐẠ I H ỌC CÔNG NGH Ệthuyhq/Student_Thesis/K52_Nguyen_Thi_Kim_Chi...ĐẠi h Ọc qu Ốc gia hÀ n Ội tr ƯỜng ĐẠ i h Ọc cÔng

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/