Việc kết hợp giải thuật PageRank và ngữ nghĩa của các thực thể có tên ñược nhận diện trên các trang web ñể cải thiện chất lượng xếp hạng là một hướng ñi hợp lý.. Trong ñề tài này, dựa tr
Trang 2CÔNG TRÌNH ðƯỢC HOÀN THÀNH TẠI TRƯỜNG ðẠI HỌC BÁCH KHOA ðẠI HỌC QUỐC GIA TP HỒ CHÍ MINH
Cán bộ hướng dẫn khoa học : TS Quản Thành Thơ
Cán bộ chấm nhận xét 1 : PGS TS Cao Hoàng Trụ
Cán bộ chấm nhận xét 2 : TS Nguyễn ðức Cường
Luận văn thạc sĩ ñược bảo vệ tại
HỘI ðỒNG CHẤM BẢO VỆ LUẬN VĂN THẠC SĨ
TRƯỜNG ðẠI HỌC BÁCH KHOA, ngày 5 tháng 9 năm 2008
Trang 3
NHIỆM VỤ LUẬN VĂN THẠC SĨ Họ và tên học viên : Ngô Thi Giới tính : Nam / Nữ Ngày, tháng, năm sinh : 9/7/1983 Nơi sinh : Khánh Hoà
Chuyên ngành : Khoa học máy tính
Khoá : 2006
1- TÊN ðỀ TÀI :
PHÁT TRIỂN MỘT GIẢI THUẬT XẾP HẠNG CÁC THÔNG TIN TRUY HỒI TRÊN MÔI TRƯỜNG WEB DỰA TRÊN CÁC THỰC THỂ CÓ TÊN
2- NHIỆM VỤ LUẬN VĂN :
3- NGÀY GIAO NHIỆM VỤ : 21/1/2008
4- NGÀY HOÀN THÀNH NHIỆM VỤ : 30/6/2008
5- HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN : TS Quản Thành Thơ
Nội dung và ñề cương Luận văn thạc sĩ ñã ñược Hội ðồng Chuyên Ngành thông qua
(Họ tên và chữ ký)
Trang 4Tôi cam ñoan rằng, ngoại trừ các kết quả tham khảo từ các công trình khác như ñã ghi rõ trong luận văn, các công việc trình bày trong luận văn này là do chính tôi thực hiện và chưa có phần nội dung nào của luận văn này ñược nộp ñể lấy một bằng cấp ở trường này hoặc trường khác
Ngày 20 tháng 6 năm 2008
Ngô Thi
Trang 5LỜI CẢM ƠN
ðầu tiên, xin ñược gởi lời cảm ơn sâu sắc nhất ñến Thầy TS Quản Thành Thơ, người Thầy ñã tận tình hướng dẫn tôi bắt ñầu từ môn chuyên ñề cho ñến khi hoàn thành luận văn, xin cảm ơn Thầy vì ñề tài thật hay này
Em xin cảm ơn Thầy PGS.TS Cao Hoàng Trụ, chủ nhiệm ñề tài VN-KIM, ñã tạo mọi ñiều kiện thuận lợi ñể em có thể hoàn thành luận văn
Xin cảm ơn thạc sĩ Huỳnh Tấn ðạt, kỹ sư Nguyễn Minh Luân, kỹ sư Hồng Trung Dũng, kỹ sư Hoàng Minh Sơn trong nhóm dự án VN-KIM ñã tận tình giúp
ñỡ ñể luận văn ñược hoàn thành như hôm nay
Cuối cùng, con cảm ơn Ba, Má và những người thân ñã khích lệ, ñộng viên con trong thời gian học tập, nghiên cứu ñể có ñược thành quả như ngày nay
Tháng 6 năm 2008 Học viên Ngô Thi
Trang 6TÓM TẮT
Ngày nay thông tin ñóng vai trò hết sức quan trọng trong mọi lĩnh vực ñời sống, kinh tế, xã hội Cùng với sự bùng nổ dữ liệu web, vai trò của công cụ truy hồi
và sắp hạng thông tin ñã ñược khẳng ñịnh
Giải thuật xếp hạng thông tin truy hồi theo từ khóa PageRank là giải thuật cho chất lượng xếp hạng khá tốt Mặt khác việc chú thích ngữ nghĩa cho tài liệu web truyền thống ñã ñạt ñược những kết quả rất khả quan Việc kết hợp giải thuật PageRank và ngữ nghĩa của các thực thể có tên ñược nhận diện trên các trang web
ñể cải thiện chất lượng xếp hạng là một hướng ñi hợp lý
Trong luận văn này, chúng tôi ñã ñề ra hướng áp dụng giải thuật PageRank
ñể xây dựng 4 vector PageRank cho các không gian name, class, name+class và id của thực thể có tên cho mỗi trang web (NE PageRank) Kết quả ñạt ñược là cơ sở cho hai phương pháp sắp hạng dựa trên việc kết hợp hai ñộ ño NE PageRank và Sim (ñộ tương tự giữa truy vấn với trang web)
Kết quả ñạt ñược cho thấy, các kết quả trên cùng theo sắp hạng của giải thuật
NE PageRank có chất lượng rất tốt Hai phương pháp sắp hạng dựa trên sự kết hợp hai ñộ ño NE PageRank và Sim kế thừa ñược ưu ñiểm của cả hai hệ thống ðộ chính xác của các kết quả ñược truy hồi tốt hơn các hệ thống dựa trên từ khóa truyền thống nhờ dựa trên thực thể có tên
Kết luận, web ngữ nghĩa là hướng phát triển tất yếu của thế hệ web kế tiếp Tiếp tục phát triển các giải thuật xếp hạng cho thông tin truy hồi trên môi trường web nói chung và web có ngữ nghĩa nói riêng là một hướng ñi ñúng, sẽ ñem lại nhiều lợi ích to lớn và cần ñược duy trì
Trang 7LỜI CAM ðOAN 4
LỜI CẢM ƠN 5
TÓM TẮT 6
Danh mục các hình 9
Danh mục các bảng 11
Chương 1 Phát biểu vấn ñề 12
1.1 Thực thể có tên 12
1.2 Bộ máy tìm kiếm 13
1.3 Kết hợp giải thuật PageRank và NE 15
Chương 2 Tổng thuật về các công trình liên quan ñến ñề tài 16
2.1 Giải thuật HITS 16
2.2 Giải thuật PageRank 17
2.3 Giải thuật Topic-Sensitive PageRank 18
2.4 Truy hồi thông tin theo thực thể có tên 18
Chương 3 Cơ sở lý thuyết 21
3.1 Hệ thống chú thích thực thể có tên của VN-KIM 21
3.1.1 Tổng quan 21
3.1.2 VN-KIM Ontology (VN-KIMO) 23
3.1.3 Cơ sở tri thức của VN-KIM 26
3.1.4 Sự rút trích thông tin của VN-KIM 26
3.1.5 Ứng dụng chú thích các NE trên các trang web với plug-in cho trình duyệt Internet Explorer 28
3.2 Chi tiết giải thuật PageRank 29
3.2.1 Tổng quan 29
3.2.2 Giải thuật PageRank 30
3.2.2.1 Một minh họa ñơn giản cho giải thuật PageRank 31
3.2.2.2 Giải thuật PageRank tổng quát 32
3.2.2.3 Mã giả giải thuật PageRank 36
3.3 Mô hình không gian vector và ñộ tương tự Sim 37
Trang 83.3.1 Mô hình không gian vector (VSM) cho truy hồi thông tin theo từ khóa 37
3.3.2 ðộ tương tự giữa tài liệu và truy vấn Sim 37
3.3.3 Mô hình áp dụng cho NE 38
Chương 4 Các giải thuật sắp hạng thông tin truy hồi trên môi trường web dựa trên thực thể có tên 39
4.1 Giải thuật NE PageRank 39
4.2 Kết hợp giá trị NE PageRank và ñộ tương tự giữa truy vấn và tài liệu Sim 44
4.2.1 Giải thuật sắp hạng theo Sim có hỗ trợ của NE PageRank 44
4.2.2 Giải thuật sắp hạng theo NE PageRank có hỗ trợ của Sim 45
Chương 5 Hiện thực và các kết quả thực nghiệm 47
5.1 Hiện thực 47
5.2 Thời gian tính toán NE PageRank và kích thước dữ liệu lưu trữ 50
5.3 Các kết quả thực nghiệm 52
5.3.1 Khác biệt giữa sắp hạng theo NE PageRank và theo Sim 52
5.3.2 Chất lượng sắp hạng theo Sim có hỗ trợ của NE PageRank tốt hơn so với chỉ dựa trên Sim 58
5.3.3 Sắp hạng theo NE PageRank có hỗ trợ của Sim tốt hơn chỉ dựa trên NE PageRank 61
5.3.4 Ưu ñiểm về ñộ chính xác nhờ sắp hạng dựa trên thực thể có tên 66
5.3.5 So sánh giữa sắp hạng theo Sim có hỗ trợ của NE PageRank với Google Desktop 70
5.3.6 So sánh giữa sắp hạng theo NE PageRank có hỗ trợ của Sim với Google Desktop 74
5.3.7 So sánh truy vấn theo class và sắp hạng theo NE PageRank có hỗ trợ của Sim với Google Desktop 77
5.3.8 So sánh truy vấn theo class và sắp hạng theo Sim có hỗ trợ của NE PageRank với Google Desktop 80
Chương 6 Kết luận và hướng mở rộng 83
6.1 Các ñóng góp mới của công trình 83
6.2 Kiến nghị những nghiên cứu tiếp theo 83
Tài liệu tham khảo 85
Trang 9Hình 2-1 Sơ ñồ mô hình truy hồi thông tin dựa trên thực thể có tên 20
Hình 3-1 Ontology và cơ sở tri thức 22
Hình 3-2 Kiến trúc của VN-KIM 23
Hình 3-3 Ontology của VN-KIM [26] 25
Hình 3-4 Thành phần rút trích thông tin của VN-KIM [10] 27
Hình 3-5 Plug-in cho Internet Explorer 29
Hình 3-6 Các liên kết giữa các site ñược dùng cho sự tính toán của PageRank [24] .30
Hình 3-7 Vùng sink 33
Hình 4-1 Tính giá trị PageRank cho thành phần thứ nhất của các vector PRN 40
Hình 4-2 Mô hình ñề nghị 43
Hình 4-3 Sắp hạng trong nội bộ khoảng Sim bị thay ñổi dựa trên NE PageRank 45
Hình 4-4 Sắp hạng trong nội bộ khoảng NE PageRank bị thay ñổi dựa trên Sim 46
Hình 5-1 Kiến trúc hệ thống truy hồi thông tin hiện thời 47
Hình 5-2 Kiến trúc hệ thống truy hồi thông tin 49
Hình 5-3 Truy vấn về Nha Trang và sắp hạng theo NE PageRank 54
Hình 5-4 Truy vấn về Nha Trang và sắp hạng theo Sim (trang 1) 55
Hình 5-5 Truy vấn về Nha Trang và sắp hạng theo Sim (trang 2) 56
Hình 5-6 Kết quả sắp hạng bởi Google Desktop khi truy vấn từ khóa "Nha Trang" .57
Hình 5-7 Truy vấn về Nha Trang và sắp hạng theo Sim với hỗ trợ của NE PageRank (trang 1) 59
Hình 5-8 Truy vấn về Nha Trang và sắp hạng theo Sim với hỗ trợ của NE PageRank (trang 2) .60
Hình 5-9 Truy vấn về Bình Nhưỡng và sắp hạng theo NE PageRank (trang 1) 62
Hình 5-10 Truy vấn về Bình Nhưỡng và sắp hạng theo NE PageRank (trang 2) 63
Trang 10Hình 5-11 Truy vấn về Bình Nhưỡng và sắp hạng theo NE PageRank có hỗ trợ của
Trang 11Danh mục các bảng
Bảng 5-1 Thời gian tính toán và khối lượng lưu trữ NE PageRank 51
Trang 12Chương 1
Phát biểu vấn ñề
Vấn ñề xếp hạng các thông tin truy hồi sao cho hợp lý, nêu bật các kết quả tìm kiếm quan trọng và có ý nghĩa là một vấn ñề quan trọng trên các hệ thống truy hồi thông tin ðối với các thông tin ñược truy hồi trên môi trường Web, giải thuật PageRank và các cải tiến của nó ñã ñược ứng dụng hiệu quả khi tìm kiếm thông tin dựa trên từ khóa, ñặc biệt trên máy tìm kiếm Google Trong ñề tài này, dựa trên các kết quả nghiên cứu ñã có dựa trên từ khóa, sinh viên sẽ nghiên cứu và phát triển một giải thuật xếp hạng các thông tin truy hồi trên môi trường web dựa trên thực thể có tên (Named Entity)
1.1 Thực thể có tên
Khái niệm “Named Entity” (NE) hiện nay ñược dùng rộng rãi trong rút trích thông tin (Information Extraction hay IE), hỏi ñáp (Question Answering hay QA)
và các ứng dụng xử lý ngôn ngữ tự nhiên khác (Natural Language Processing hay
NLP), ra ñời từ Message Understanding Conferences (MUC-6) 1995 [31] Trong xử
lý ngôn ngữ tự nhiên và IE truyền thống, thực thể có tên gồm: con người, tổ chức, ñịa danh, và những ñối tượng khác ñược tham khảo bằng tên Một cách rộng hơn thực thể có tên cũng có thể bao gồm các giá trị vô hướng như (số lượng, ngày, số lượng tiền), ñịa chỉ…(ban ñầu thực thể có tên ñược ñịnh nghĩa với bảy loại: person, organization, location, date, time, money và percent [31]) Cũng qua hệ thống phân loại, ta có thể thấy NE ñóng vai trò quan trọng trong việc hình thành nên ngữ nghĩa của tài liệu
Sự phát triển các hệ thống hỏi ñáp ñã tạo sự thúc ñẩy mạnh mẽ ñối với việc
mở rộng hệ thống phân loại cho NE, chẳng hạn trong ngữ cảnh tổng quát thì hệ
Trang 13thống phân loại gồm bảy loại ở trên có thể là ñủ, tuy nhiên khi ngữ cảnh là “dịch bệnh”, “phóng tên lửa” chúng ta cần biết “tên của dịch bệnh”, “tên của tên lửa” Tác
vụ IE càng rộng thì hệ thống NE càng cần ñược mở rộng Việc mở rộng trên cũng cho thấy, không có một ñịnh nghĩa hay hệ thống phân loại tuyệt ñối cho NE, mà tùy vào ứng dụng
Các tài liệu ñã ñược chú thích NE có thể ñược tìm kiếm chính xác hơn văn bản thô, chưa ñược chú thích Chẳng hạn, sự chú thích cho phép chúng ta tìm tất cả tài liệu ñề cập ñến thành phố “Sài Gòn”, bỏ qua các tài liệu không liên quan nhưng cùng có chữ “Sài Gòn” như sông “Sài Gòn”, nhà máy bia “Sài Gòn”…
Trong một báo cáo của Microsoft [32] dựa trên thống kê về công cụ tìm kiếm SIS, là công cụ giúp người dùng tìm kiếm thông tin ñã thấy trước ñó, cho thấy, các loại truy vấn phổ biến nhất ñó là các truy vấn về Người/ðịa ñiểm/Vật (People/Places/Things), Máy tính/Internet (Computers/Internet) và Sức khoẻ /Khoa học (Health/Science) Trong danh mục People/Places, thì các truy vấn về tên (names) ñặc biệt phổ biến Nổi bật với 25% của các truy vấn có bao gồm tên người Ngược lại, các truy vấn về thông tin chung ít phổ biến hơn Thống kê trên phần nào khẳng ñịnh thêm tầm quan trọng của thực thể có tên trong các truy vấn
Một NE ñược biểu diễn thông qua bộ ba [tên, kiểu, id] Trong ñó id là danh hiệu dùng ñể phân biệt giữa các NE với nhau Cùng một tên có thể thuộc về vài kiểu khác nhau, do ñó cũng có thể có các id khác nhau Một kiểu có thể có nhiều tên
khác nhau Việc rút trích thực thể có tên ñã ñạt ñộ hiệu quả chung về chú thích ngữ nghĩa tự ñộng vào khoảng 80% so với con người chú thích bằng tay [10]
1.2 Bộ máy tìm kiếm
Nhờ khả năng chứa ñựng dữ liệu ngày càng lớn của phần cứng, sự hỗ trợ của các hệ cơ sở dữ liệu quan hệ, việc xây dựng web site ngày càng dễ dàng Dữ liệu từ báo chí ñiện tử, công ty, tổ chức, mạng xã hội, cá nhân …là nguồn cung cấp thông tin vô cùng lớn, nhưng cũng ñặt ra những thách thức không nhỏ ñể có thể khai thác
Trang 14hiệu quả nguồn thông tin giá trị này đó là, làm sao ựể truy xuất ựược thông tin quan tâm từ một nguồn dữ liệu vô cùng lớn và gần như không hề ựược tổ chức như vậy, hơn nữa quá trình truy xuất ựòi hỏi phải nhanh và chắnh xác Từ những yêu cầu bức thiết ựó ựã dẫn ựến sự ra ựời của mảng truy hồi thông tin cho web mà nổi bật với các tên tuổi như Google, Yahoo, Live Search (MSN Search)
Yahoo Search khởi ựầu chỉ là một công ty thực hiện xây dựng hệ thống phân loại các trang web (directory), hệ thống ựược xây dựng thủ công do con người thực hiện Tuy nhiên những năm gần ựây sự phát triển nhanh chóng của các trang web mới ựã buộc Yahoo phải xây dựng công cụ tìm kiếm tự ựộng Ban ựầu Yahoo sử dụng công nghệ tìm kiếm của Inktomi, rồi công nghệ của Google, sau ựó quay lại với Inktomi
MSN Search (Live Search) là dịch vụ tìm kiếm của công ty Microsoft Mặc
dù chậm chân trong thị trường tìm kiếm, chỉ mới ựược tập trung phát triển từ năm
2005, nhưng MSN Search cũng ựã chiếm ựược thị phần tìm kiếm khá lớn Kết quả sắp hạng của MSN Search một phần lớn dựa vào công nghệ của Inktomi
Google là công cụ tìm kiếm ựược nhiều người sử dụng nhất hiện nay Năm
2000 Google thay thế Inktomi cung cấp dịch vụ tìm kiếm cho Yahoo, tiếp ựó là AOL, Netscape, FreeserveẦgiúp Google khẳng ựịnh là một trong những công cụ tìm kiếm ựáng tin cậy và chắnh xác nhất Người dùng thực hiện tìm kiếm thông tin mong muốn thông qua từ khóa và các phép toán Tại thời ựiểm tháng 8/2007, thị phần tìm kiếm của Google là 53.6%, của Yahoo là 19.9% và của MSN Search là 12.9% [24] Giải thuật xếp hạng ựược Google sử dụng, và ựược khẳng ựịnh trên web site của hãng rằng cho ựến tận bây giờ vẫn là trái tim của Google ựó là giải thuật PageRank
Chất lượng xếp hạng các kết quả truy vấn chắnh là nguyên nhân trọng yếu dẫn ựến thành công của các công cụ tìm kiếm này, mà cơ sở chắnh là một giải thuật xếp hạng tốt Giải thuật xếp hạng tốt giúp cho người dùng nhanh chóng xác ựịnh
Trang 15ñược các trang web có nội dung quan trọng, phù hợp với mong ñợi khi thực hiện truy vấn.
1.3 Kết hợp giải thuật PageRank và NE
Mặc dù giải thuật PageRank ñã ñược Google sử dụng rất thành công, nhưng bản chất của Google vẫn là dựa trên từ khóa (keyword) ñể tìm kiếm và sắp hạng Do
ñó, nếu có thể kết hợp ñược giải thuật PageRank với những ưu ñiểm của các NE ñã ñược nhận diện, nhiều khả năng sẽ có ñược các kết quả tìm kiếm và xếp hạng tốt hơn
Thấy ñược tầm quan trọng của một giải thuật sắp hạng, dựa trên các kết quả
ñã ñạt ñược trong việc chú thích ngữ nghĩa cho các tài liệu web, giải thuật tính ñộ quan trọng tương quan PageRank cùng với việc lập chỉ mục, ñề tài hướng ñến việc xây dựng một giải thuật sắp hạng có chất lượng cao cho thông tin truy hồi trên môi trường web dựa trên các thực thể có tên
Trang 162.1 Giải thuật HITS
Giải thuật HITS [16] ñược phát triển vào năm 1997 bởi Jon Kleinberg Với một truy vấn, HITS dùng một công cụ tìm kiếm truyền thống ñể có tập các trang phù hợp, mở rộng tập này thông qua các liên kết vào (inlinks) và ra (outlinks), sau
ñó thực hiện xác ñịnh hai loại trang, hub (trang trỏ ñến nhiều trang có chất lượng cao) và authority (trang có chất lượng cao, có nhiều liên kết trỏ tới), ñây là các ñịnh nghĩa có tính ñệ qui
Một cách tương ứng HITS dùng hai ñiểm số cho mỗi trang, ñiểm authority
và ñiểm hub Các ñiểm số ñược tính một cách ñệ qui và thông qua các lần lặp cho ñến khi hội tụ ðiểm số authority ñược tính bằng tổng ñiểm hub của các trang trỏ ñến trang này, và ñiểm số hub của trang bằng tổng ñiểm authority của các trang mà trang này trỏ tới
Trang 17Bởi vì quá trình tính toán này ñược thực hiện tại thời ñiểm truy vấn, nên không khả thi cho các máy tìm kiếm ngày nay, là những hệ thống phải ñáp ứng lượng truy vấn rất lớn mỗi ngày và thời gian ñáp ứng nhanh Việc sử dụng các liên kết ra (outlinks) khiến giải thuật dễ bị làm cho sai lệch (spam) bởi những nhà quản trị web, bằng cách chủ ñộng thêm liên kết trên trang web của mình
2.2 Giải thuật PageRank
PageRank [30] ñược phát triển tại ñại học Stanford bởi Larry Page và sau ñó bởi Sergey Brin như một phần của dự án nghiên cứu về một loại máy tìm kiếm mới
Dự án ñã bắt ñầu từ 1995 và cho kết quả là một nguyên mẫu chức năng, gọi là Google vào năm 1998 Không lâu sau ñó, Page và Brin thành lập công ty Google
Trọng số PageRank của mỗi trang web ñược xác ñịnh thông qua phiếu bầu dưới hình thức một liên kết từ một trang khác trên web Ý tưởng là những phiếu bầu (liên kết) từ những trang web quan trọng sẽ có trọng lớn hơn từ những trang ít quan trọng, và khi một trang web thực hiện bầu (có liên kết ñến) nhiều trang web khác, thì trọng số của mỗi phiếu bầu sẽ bị chia nhỏ ðây là một ñịnh nghĩa ñệ qui, nên việc tính toán cần quá trình lặp
PageRank thực hiện việc tính toán tại thời ñiểm lập chỉ mục, ñây là ưu ñiểm nổi bật của PageRank, giúp hệ thống có thể ñáp ứng nhanh với số lượng truy vấn lớn, ñồng thời chỉ sử dụng liên kết vào (inlinks) ñể phân tích nên hạn chế ñược nhược ñiểm của HITS, bởi việc thêm liên kết từ các trang quan trọng khó hơn rất nhiều
Nhưng nhược ñiểm chung của hai giải thuật trên (HITS và PageRank) ñó là không quan tâm ñến nội dung, chủ ñề của truy vấn cũng như các trang web, bởi vì mỗi trang ñược gán một trọng số duy nhất chỉ dựa vào cấu trúc của liên kết (không
hề dựa trên nội dung) Một trang nếu nằm trong kết quả trả về của các truy vấn khác nhau sẽ luôn có trọng số giống nhau
Trang 182.3 Giải thuật Topic-Sensitive PageRank
ðể khắc phục nhược ñiểm không quan tâm ñến nội dung, chủ ñề của truy vấn cũng như của các trang web ở các giải thuật Hit và PageRank, tác giả Haveliwala ñã
ñề xuất giải thuật PageRank nhạy cảm với chủ ñề TSPR (Topic-Sensitive
PageRank) [33] Dựa vào hệ thống phân loại gồm 16 chủ ñề (là mức phân loại trên cùng của Open Directory Project), TSPR thực hiện tính 16 giá trị PageRank khác nhau cho mỗi trang web (mỗi giá trị tương ứng với một chủ ñề) Khi tính giá trị PageRank theo từng chủ ñề, giải thuật PageRank gốc ñược sử dụng và chỉ xem xét các liên kết từ các trang thuộc chủ ñề ñang xem xét Tại thời ñiểm truy vấn, 16 giá trị PageRank này ñược kết hợp dựa trên chủ ñề (mức ñộ thuộc về từng chủ ñề) của truy vấn ñể hình thành giá trị PageRank tổng hợp cho mỗi trang
Nhược ñiểm của phương pháp này là phụ thuộc vào hệ thống phân loại chủ
ñề, hệ thống phân loại càng chi tiết tác dụng của phương pháp càng ñược thể hiện Tác giả cũng ñề xuất hướng nghiên cứu mở rộng hệ thống phân loại chủ ñề bằng cách sử dụng tần thứ hai hoặc thứ ba của Open Directory Project thay cho việc dùng tần thứ nhất (với 16 chủ ñề), tuy nhiên tác giả cũng nhận ñịnh việc gia tăng số lượng chủ ñề sẽ gặp phải trở ngại về chi phí tính toán
2.4 Truy hồi thông tin theo thực thể có tên
Công trình ñược thực hiện bởi tác giả Ngô Minh Vương, trong luận văn thạc
sĩ của mình, hoàn thành vào tháng 7 năm 2007, tại ñại học Bách Khoa, TP.HCM Luận văn hướng ñến việc xây dựng các mô hình truy hồi thông tin dựa trên thực thể
có tên
Trong công trình của mình [23], tác giả ñã ñề xuất mô hình biểu diễn tài liệu
và ñánh chỉ mục trên bốn không gian thuật ngữ (Tên, Kiểu, Tên-Kiểu, Danh hiệu) hay (Name, Class, Name-Class, ID) (ký hiệu tương ứng (N, C, N-C, ID)) cho các
Trang 19thực thể có tên, ñồng thời mở rộng mô hình VSM (Vector Space Model) và SSM (Semantic Similarity Model) truyền thống thành NE-VSM (Named Entity-VSM) và NE-SSM áp dụng cho việc truy hồi thông tin dựa trên thực thể có tên (xác ñịnh ñộ
tương tự giữa truy vấn và tài liệu Sim)
Hình 2-1 thể hiện mô hình truy hồi thông tin theo thực thể có tên Quá trình
nhận diện các thực thể có tên (quá trình chú thích) ñược ñề cập cụ thể ở mục 3.1 Các vector biểu diễn cho tài liệu và truy vấn ñược ñề cập ở mục 3.3 Việc lập chỉ mục cho các vector và truy hồi danh sách các tài liệu thỏa mãn truy vấn ñược thực
hiện nhờ hỗ trợ của chương trình Lucene
Trong mô hình trên, tác giả cũng ñề nghị sự mở rộng vector biểu diễn tài liệu
và truy vấn theo quan hệ alias và kiểu cha giúp tăng lượng thông tin biểu diễn nhưng không làm thay ñổi nghĩa gốc của tài liệu hoặc truy vấn, cũng như phân bổ lại trọng số của vector biểu diễn truy vấn ñể nhấn mạnh vào vùng quan tâm ñặc biệt của truy vấn dựa vào ñộ tương ñồng ngữ nghĩa giữa các NE trong truy vấn Mô hình NE-SSM có sự bổ sung việc sử dụng ngữ nghĩa ñộ tương tự giữa hai thuật ngữ so với mô hình NE-VSM
Dữ liệu dùng ñể thực nghiệm là 2.402 trang web ñã ñược chú thích, gồm 1.505 trang của Reuters, 805 trang của CNN, 92 trang của KIM Các thống kê, so sánh của tác giả cho thấy mô hình có những ưu ñiểm về ñộ triệu hồi và ñộ chính xác
so với các mô hình dựa trên từ khóa truyền thống
Nhược ñiểm của công trình là chưa sử dụng ñược thông tin ẩn chứa trong cấu trúc liên kết giữa các trang trong việc xếp hạng các trang kết quả
Trang 20Hình 2-1 Sơ ñồ mô hình truy hồi thông tin dựa trên thực thể có tên
Trang 21VN-KIM phân tích văn bản và nhận diện các thực thể (người, tổ chức, nơi chốn, ngày), và cố gắng liên kết các thực thể nhận diện ñược với phân loại (class) chi tiết nhất trong ontology, và liên kết với một thực thể ñã biết (có các mô tả của mình) trong cơ sở tri thức ñược xác ñịnh thông qua URI duy nhất Quá trình này (cũng như kết quả) ñược gọi là chú thích ngữ nghĩa (semantic annotation) hay chú thích thực thể có tên (NE annotation)
Trang 22Hình 3-1 Ontology và cơ sở tri thức
Kiến trúc của VN-KIM ñược thể hiện ở Hình 3-2, bao gồm VN-KIM
Ontology (VN-KIMO), cơ sở tri thức, KIM Server (với các API cho việc truy xuất
từ xa), và các chương trình ñầu cuối như plug-in cho trình duyệt Internet Explorer, chương trình duyệt cơ sở tri thức
Trang 23Hình 3-2 Kiến trúc của VN-KIM
3.1.2 VN-KIM Ontology (VN-KIMO)
Ontology là một tập các khái niệm và quan hệ giữa các khái niệm ựược ựịnh nghĩa cho một lĩnh vực nào ựó nhằm vào việc biểu diễn và trao ựổi thông tin Ontology của VN-KIM ựược thiết kế sao cho chứa ựựng ựược các thực thể ở cả Việt Nam và trên thế giới [10]
Khối đánh Chỉ Mục, Lưu Trữ, Truy Vấn Tài Liệu
Ứng Dụng Truy Vấn
Cơ Sở Tri Thức
Ứng Dụng Truy Vấn Tài Liệu
Các Ứng Dụng Khai Thác VN-KIM
VN-KIM Ontology
và Cơ Sở Tri Thức Seasame
Trình Duyệt Web
Plugin vào Trình Duyệt
Ứng Dụng Sinh Chú Thắch Cho Tài Liệu
Ứng Dụng Thu Thập Tài Liệu
Các tài liệu Web
ựã chú thắch
Trang 25Hình 3-3 Ontology của VN-KIM [26]
VN-KIM ñược tổ chức với ba lớp trên cùng là Thực_thể, Nguồn_thông_tin, Ngữ_liệu Lớp Thực_thể lại ñược chia làm ba lớp nhỏ hơn là Trừu_tượng, Biến_cố,
và ðối_tượng Lớp Object chứa các thực thể như ñịa danh, nhân vật ñang tồn tại Lớp Biến_cố chứa các sự kiện và trạng thái Lớp Trừu_tượng chứa những thực thể không thuộc lớp Biến_cố cũng như ðối_tượng Và các lớp trên lại tiếp tục ñược chia nhỏ cho ñến khi ñạt yêu cầu của hệ thống Với cách tổ chức như trên, ontology
Trang 26có thể ñược mở rộng, bổ sung dễ dàng ñể ñáp ứng việc chú thích ngữ nghĩa cho ứng dụng cụ thể
Ontology chứa ñịnh nghĩa của các lớp thực thể, các thuộc tính, và các quan
hệ Các mô tả ngữ nghĩa và quan hệ giữa các thực thể ñược giữ trong cơ sở tri thức
3.1.3 Cơ sở tri thức của VN-KIM
Phân biệt với ontology, cơ sở tri thức (KnowledgeBase-KB) chứa ñựng những thông tin cụ thể nhất về thực thể Mỗi thực thể trong cơ sở tri thức có thông tin chi tiết về loại, các alias, các thuộc tính, và các quan hệ
Cơ sở tri thức của VN-KIM cần ñược xây dựng ñủ lớn ñể quá trình rút trích thông tin thực thể có tên ñạt ñược hiệu quả cao Tại thời ñiểm tháng 9 năm 2006, cơ
sở tri thức của VN-KIM ñã xây dựng ñược khoảng hơn 120.000 thực thể, tập trung vào các lớp thực thể phổ biến và quan trọng như lớp nhân vật, tổ chức, công ty, thành phố, tỉnh, núi non, sông ngòi, con ñường, ñịa ñiểm ñặc biệt, và tên khác của các thực thể [10] Những thực thể này cũng chính là những thực thể thường gặp trên báo chí
3.1.4 Sự rút trích thông tin của VN-KIM
Cốt lõi của sự rút trích thông tin của VN-KIM (VN-KIM Information Extraction hay VN-KIM IE) là nhận diện các thực thể có tên phù hợp với VN-KIMO ontology Các thực thể ñược nhận diện sẽ có thông tin URI cho phép tham chiếu ñến chính xác loại của thực thể và thông tin của thực thể trong cơ sở tri thức
VN-KIM IE ñược dựa trên nền GATE, ñã ñược khẳng ñịnh về tính chính xác, khả năng mở rộng và sự ñộc lập giữa tác vụ IE và các ứng dụng xử lý ngôn ngữ
tự nhiên khác
Trang 27Hình 3-4 Thành phần rút trích thông tin của VN-KIM [10]
Hình 3-4 mô tả thành phần rút trích thông tin của VN-KIM Quá trình sử lý
ñi qua một số bước, bắt ñầu bằng việc phân ñoạn từ ñơn giản Các thành phần xử lý ngôn ngữ tự nhiên, bao gồm thành phần tách câu và thành phần gán nhãn từ loại giúp cung cấp thêm thông tin ñể giải quyết một số mập mờ và nhận biết thêm một
số thực thể mới nhằm nâng cao hiệu quả của hệ thống [10] Thành phần so trùng cụm từ thực hiện so trùng các chuỗi token ñã ñược gán nhãn là tên riêng với các tên khác nhau của các thực thể trong cơ sở tri thức, kết quả ñạt ñược là một số chú thích
Phân ñoạn từ ñơn giản
Trang 28tạm thời cho thấy thực thể có thể thuộc về một số loại khác nhau và có các thể hiện khác nhau trong cơ sở tri thức
Bước so trùng mẫu, sử dụng tập luật ñược mô tả bởi văn phạm JAPE ñể so trùng các mẫu, xác ñịnh loại chính xác của thực thể, loại bỏ các chú thích tạm không phù hợp Bước phân giải mập mờ giúp giải quyết các trường hợp một tên thực thể chỉ ñến nhiều thực thể khác nhau
3.1.5 Ứng dụng chú thích các NE trên các trang web với plug-in cho trình duyệt Internet Explorer
VN-KIM plug-in là một plug-in cho trình duyệt web Internet Explorer, thực hiện chú thích ngữ nghĩa cho các NE xuất hiện trên các trang web Sau khi tải về và cài ñặt, VN-KIM plug-in sẽ ñược gắn vào trình duyệt Internet Explorer
Plug-in thực hiện tách phần văn bản của trang web ñang hiển thị và gởi về máy chủ chú thích Máy chủ thực hiện việc chú thích và trả về văn bản ñã ñược chú thích, các chú thích ñược tô sáng với màu tương ứng với loại thực thể, và ñược liên kết với cơ sở tri thức của VN-KIM Khi nhấp chọn vào một thực thể ñã ñược chú thích, một cửa sổ sẽ xuất hiện, cung cấp cho người dùng thông tin về loại, các alias
và các thuộc tính của thực thể tương ứng, ñây là các nội dung ñã ñược lưu trữ trong
cơ sở tri thức của VN-KIM
Trang 29Hình 3-5 Plug-in cho Internet Explorer
Tại thời ñiểm tháng 9 năm 2006, VN-KIM ñã ñạt ñộ hiệu quả chung về chú thích ngữ nghĩa tự ñộng vào khoảng 80% so với con người chú thích bằng tay [10]
3.2 Chi tiết giải thuật PageRank
3.2.1 Tổng quan
PageRank là một giải thuật phân tích các cấu trúc liên kết (link analysis) thực hiện gán một trọng số cho mỗi yếu tố của tập hợp gồm các tài liệu ñược liên kết bởi các siêu liên kết, chẳng hạn như World Wide Web, với mục ñích ño lường mức ñộ quan trọng tương quan với tập hợp Giải thuật có thể ñược áp dụng cho tập hợp tùy
ý của các thực thể với các trích dẫn và tham khảo lẫn nhau Trọng số gán cho yếu tố
E ñược gọi là PageRank của E và ñược biểu diễn bởi PR(E).
Trang 30Hình 3-6 Các liên kết giữa các site ñược dùng cho sự tính toán của PageRank [24]
Nói cách khác, một kết quả của PageRank ñược tính toán dựa trên sự bỏ phiếu của tất cả các trang khác trên World Wide Web về mức ñộ quan trọng của trang cần ñược tính Một liên kết ñược tính như một lá phiếu PageRank của một trang ñược ñịnh nghĩa một cách ñệ qui dựa trên số lượng và giá trị PageRank của tất
cả các trang liên kết ñến trang ñó Một trang ñược liên kết ñến bởi nhiều trang với PageRank cao sẽ có PageRank cao
3.2.2 Giải thuật PageRank
PageRank là một sự phân bố xác suất ñược dùng ñể biểu diễn khả năng một người nhấp chọn một cách ngẫu nhiên vào các liên kết và ñến ñược một trang cụ thể nào ñó PageRank có thể ñược tính cho tập tài liệu có kích thước tùy ý
Sự phân bố ñược giả ñịnh chia ñều giữa tất cả các tài liệu trong tập hợp tại thời ñiểm bắt ñầu tiến trình tính toán Sự tính toán của PageRank cần quá trình lặp
ñể ñiều chỉnh các giá trị PageRank ước lượng ñể gần hơn với giá trị lý thuyết PageRank có giá trị 0.5 nghĩa là có 50% cơ hội ñể một người nhấp chọn vào một liên kết ngẫu nhiên sẽ ñến ñược tài liệu với PageRank là 0.5 ðể ñơn giản, phần
Trang 31trình bày giải thuật dưới ñây ñược thực hiện bắt ñầu cho một bước lặp của giải thuật
3.2.2.1 Một minh họa ñơn giản cho giải thuật PageRank
Giả sử không gian gồm bốn trang web: A, B, C và D Ước lượng PageRank ban ñầu ñược chia ñều giữa bốn trang web Do ñó, mỗi trang bắt ñầu với PageRank 0.25
Nếu các trang B, C và D chỉ có liên kết ñến A, thì mỗi trang này trao 0.25
PageRank cho A Tất cả PageRank (PR) trong hệ thống ñơn giản này hội tụ về A
bởi vì tất cả các liên kết ñược trỏ vào A
( ) ( ) ( ) ( )
PR A = PR B + PR C + PR D ( BT 3-1)
Bây giờ giả sử thêm, trang B cũng có liên kết ñến trang C, và trang D có các
liên kết ñến tất cả ba trang Giá trị của link-votes (phiếu bầu dựa vào liên kết) ñược
chia ñều cho các liên kết ñi ra từ một trang Vì vậy, trang B trao một phiếu bầu giá trị 0.125 cho trang A và một phiếu bầu trị giá 0.125 cho trang C Chỉ có 1/3 PageRank của D ñược tính cho PageRank của A (khoảng 0.083)
Nói cách khác, PageRank nhận ñược từ một liên kết L( ) bằng PageRank của tài liệu
sở hữu liên kết chia cho số ñường liên kết ñi ra từ tài liệu sở hữu liên kết ñó
Trang 32( ) ( )
• PR(v) là PageRank của trang v
• L(v) là số liên kết ñi ra từ trang v
• Bu là tập hợp các trang có liên kết ñến trang u
3.2.2.2 Giải thuật PageRank tổng quát
Lý thuyết PageRank bao gồm giả ñịnh một người lướt web tưởng tượng thực hiện nhấp chọn ngẫu nhiên trên các liên kết, cuối cùng (dần dần) sẽ dừng lại Xác
suất tại mỗi bước ñể người ñó tiếp tục là một yếu tố suy giảm (damping factor) d
Các nghiên cứu khác nhau ñã kiểm tra với các giá trị khác nhau của yếu tố suy giảm, nhưng thông thường ñược giả ñịnh xung quanh giá trị 0.85
Kết quả của (1- d ) ñược chia cho số tài liệu trong tập hợp N:
Nếu một trang không có liên kết ñến các trang khác sẽ trở thành một vũng lầy (sink), do ñó làm kết thúc tiến trình duyệt ngẫu nhiên (random surfing process) Tuy nhiên giải pháp khá ñơn giản, bằng cách lấy ngẫu nhiên một URL khác và tiếp tục tiến trình
Trang 33Khi tính toán PageRank, những trang không có liên kết ñi ra ñược giả ñịnh là
có liên kết ñến tất cả các trang khác trong tập hợp PageRank của mỗi trang này ñược chia ñều cho tất cả các trang khác mà nó ñược giả ñịnh liên kết ñến Nói một cách khác, ñược công bằng với các trang có ñường liên kết ñi ra (not sink), sự dịch chuyển ngẫu nhiên ñược thêm cho tất cả các trang web
Một cách tương tự là trường hợp vùng sink như Hình 3-7, quá trình duyệt
không thể thoát ra ngoài ñược, vùng sink luôn nhận, tích lũy PageRank nhưng không chuyển ra ngoài qua các liên kết ñi ra, khi ñó ñại lượng (1-d)/N trong biểu
thức BT 3-5 ở trên ñảm bảo cho giá trị PageRank của một trang nhận ñược không hoàn toàn phụ thuộc vào PageRank từ các trang trỏ ñến nó, và giúp quá trình duyệt thoát ra khỏi vùng sink
Hình 3-7 Vùng sink
Do ñó, ta có ñẳng thức như sau:
( )
( ) 1
( )
( )
j i
j
p M p
PR p d
Trang 342
( )( )
PR p
PR P R
Trang 35tính toán của giải thuật PageRank ở mỗi lần lặp là O(nnz(P)) ~ O(n), với n là số trang web
Tốc ñộ hội tụ của giải thuật phụ thuộc vào hệ số d ñược chọn, d càng nhỏ tốc
ñộ hội tụ càng nhanh, nhưng sẽ làm giảm ñộ chính xác của giải thuật Giá trị d = 0.85 ñáp ứng ñược yêu cầu về ñộ chính xác và chi phí tính toán
Theo [2], Gọi τ là ñộ chính xác cần ñạt ñược:
với Rk,i là thành phần thứ i của vector PageRank ở lần lặp k
Thì số lần lặp tối ña của giải thuật là:
Trang 363.2.2.3 Mã giả giải thuật PageRank
Với:
• N: Số trang cần tính PageRank
• Γ+(p): tập hợp các trang mà trang p liên kết ñến
• Auxp: PageRank mà trang p nhận ñược nhờ liên kết từ các trang khác
• q: dampening factor, thông thường q ≈ 0.15
Input: ðồ thị liên kết G của các trang web
Trang 373.3 Mô hình không gian vector và ñộ tương tự Sim
3.3.1 Mô hình không gian vector (VSM) cho truy hồi thông tin theo từ khóa
Với mô hình này, mỗi tài liệu ñược mô tả bởi một tập hợp các từ khóa Với
mỗi từ khóa i trong tài liệu d có một trọng số w i,d, xác ñịnh mức ñộ quan trọng của
từ khóa trong việc mô tả ngữ nghĩa của tài liệu, nếu từ khóa i không xuất hiện trong tài liệu d thì w i,d = 0 Khi ñó mỗi tài liệu d ñược ñại diện bởi vector:
d=(w 1,d , w 2,d , ,w t,d ),
Với t là số lượng từ khóa của tập dữ liệu
3.3.2 ðộ tương tự giữa tài liệu và truy vấn Sim
ðộ tương tự giữa tài liệu d và truy vấn q dùng ñể ño mức ñộ phù hợp của
một tài liệu ñối với một truy vấn ðộ tương tự giữa một tài liệu và truy vấn càng cao thì tài liệu ñó càng phù hợp với yêu cầu tìm kiếm của người dùng Khi thực hiện câu truy vấn, chương trình tìm kiếm sẽ chỉ trả về những tài liệu ñạt ñược ñộ tương
tự nào ñó với câu truy vấn
ðộ tương tự giữa tài liệu và truy vấn ñược tính theo mô hình VSM truyền thống:
i i d
q i t
i i d
w w
w w q
d
q d q d
sim
1
2 , 1
2 ,
,
) ,
r r
Trang 38• idf là nghịch ñảo tần số tài liệu có chứa từ khóa
Ý tưởng chính của mô hình không gian vector là khi từ khóa xuất hiện càng nhiều lần trong một tài liệu thì tài liệu ñó càng phù hợp với câu truy vấn
3.3.3 Mô hình áp dụng cho NE
Mô hình ở mục 3.3.2 ñược tác giả Ngô Minh Vương áp dụng cho NE, với 4 không gian vector của thực thể có tên: không gian name, class, name+class và id Chẳng hạn với trường hợp không gian name, không gian các name có vai trò tương
tự không gian các từ khóa, mỗi name sẽ thay thế cho một từ khóa thông thường với trọng số tương ứng Tương tự cho các không gian class, name+class, id
Khi áp dụng cho các truy vấn sử dụng NE công thức ñộ tương tự như sau:
c c
c c c n n
n n n c c
c c c id id
id id id
q d
q d b q d
q d b q d
q d b q d
q d b q d
rrr
r
rrr
r
rrr
r
rr
×
•
×+
×
•
×+
×
•
×+
, , ,
),
lần lượt là vector tài liệu theo id, name + class, name, class
• qrid, qr ,c, qrn, qrclần lượt là vector truy vấn theo id, name + class, name, class
• bid, bn,c, bn , bc là các trọng số quy ñịnh ñộ quan trọng của việc tìm kiếm theo
id, name + class, name, class Các thông số này có thể ñược ñiều chỉnh bởi người dùng và có giá trị mặc ñịnh lần lượt là 0.5, 0.25, 0.125, 0.125 Khi có một trường vắng mặt, tổng các trọng số này ñược chuẩn hóa bằng 1, sao cho
tỉ lệ giữa các trọng số của các trường hiện diện ñược giữ nguyên
Trang 39số ñộ quan trọng của các trang web (NE PageRank) Giải thuật thứ hai và ba ñược trình bày trong hai mục con của mục 4.2, hai giải thuật này sử dụng kết hợp trọng số
NE PageRank và ñộ tương tự Sim trong việc sắp hạng các trang web
4.1 Giải thuật NE PageRank
Với một truy vấn có chứa từ “Sài Gòn” thì những trang trả về có chứa từ
“Sài Gòn” và ñược trỏ tới bởi nhiều trang khác cũng chứa từ “Sài Gòn” sẽ là trang
có thứ hạng cao hơn những trang khác cũng chứa từ này nhưng không ñược những trang khác cùng có chứa từ “Sài Gòn” trỏ tới, ñiều này càng chính xác với trường hợp từ “Sài gòn” ở trên lại là một thực thể có tên, chẳng hạn cùng là “thành phố Sài Gòn”
Học viên ñề xuất sử dụng mô hình bốn vector PageRank cho mỗi trang web bao gồm PRN, PRC, PRN-C, PRID Các thành phần của vector PRN chứa giá trị PageRank tương ứng với các thành phần trong không gian tên (Name) của thực thể
có tên cho từng trang web, và tương tự với các vector PRC, PRN-C, PRID cho các không gian Class, Name-Class, ID
ðể tính giá trị PageRank cho thành phần thứ nhất của các vector PRN (Hình 4-1), ta tập hợp các trang web có chứa thành phần thứ nhất trong không gian Name,
thực hiện rút trích các liên kết trên tập này, và áp dụng giải thuật PageRank trên tập
Trang 40liên kết rút trích ñược Tập trọng số kết quả khi chạy giải thuật PageRank ñược gán cho thành phần thứ nhất của các vector PRN của các trang trong tập hợp một cách tương ứng, các trang ngoài tập hợp (không chứa thành phần thứ nhất trong không gian Name) lấy giá trị 0 ðể xác ñịnh giá trị PageRank cho các thành phần tiếp sau của vector PRN quá trình tính toán ñược thực hiện tương tự Ta cũng thực hiện tương tự trên 3 không gian Class, Name-Class, ID cho 3 vector PRC, PRN-C, PRID Xin tạm gọi giải thuật này là NE PageRank
Cách làm này giúp khắc phục nhược ñiểm không quan tâm ñến nội dung, chủ
ñề của truy vấn cũng như các trang web của giải thuật PageRank truyền thống khi
áp dụng trên không gian toàn cục (bao gồm tất cả các trang web cùng một lúc cho việc rút trích các liên kết) Như vậy giá trị NE PageRank của mỗi trang là ñộng, tùy vào truy vấn (thực thể có tên trong truy vấn)