Luận văn Một số thuật toán phân hạng ảnh phổ biến và áp dụng trong hệ thống tìm kiếm ảnh lớp trên thử nghiệm - Lê Thị Kim Dung

Tài liệu Luận văn Một số thuật toán phân hạng ảnh phổ biến và áp dụng trong hệ thống tìm kiếm ảnh lớp trên thử nghiệm - Lê Thị Kim Dung: ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Lê Thị Kim Dung MỘT SỐ THUẬT TOÁN PHÂN HẠNG ẢNH PHỔ BIẾN VÀ ÁP DỤNG TRONG HỆ THỐNG TÌM KIẾM ẢNH LỚP TRÊN THỬ NGHIỆM 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 - 2010 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Lê Thị Kim Dung MỘT SỐ THUẬT TOÁN PHÂN HẠNG ẢNH PHỔ BIẾN VÀ ÁP DỤNG TRONG HỆ THỐNG TÌM KIẾM ẢNH LỚP TRÊN THỬ NGHIỆM 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: PGS.TS Hà Quang Thụy Cán bộ đồng hướng dẫn: Th.s Nguyễn Cẩm Tú HÀ NỘI - 2010 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 Cẩm Tú, 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ũn...

pdf75 trang | Chia sẻ: haohao | Lượt xem: 1268 | Lượt tải: 0download
Bạn đang xem trước 20 trang mẫu tài liệu Luận văn Một số thuật toán phân hạng ảnh phổ biến và áp dụng trong hệ thống tìm kiếm ảnh lớp trên thử nghiệm - Lê Thị Kim Dung, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Lê Thị Kim Dung MỘT SỐ THUẬT TOÁN PHÂN HẠNG ẢNH PHỔ BIẾN VÀ ÁP DỤNG TRONG HỆ THỐNG TÌM KIẾM ẢNH LỚP TRÊN THỬ NGHIỆM 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 - 2010 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Lê Thị Kim Dung MỘT SỐ THUẬT TOÁN PHÂN HẠNG ẢNH PHỔ BIẾN VÀ ÁP DỤNG TRONG HỆ THỐNG TÌM KIẾM ẢNH LỚP TRÊN THỬ NGHIỆM 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: PGS.TS Hà Quang Thụy Cán bộ đồng hướng dẫn: Th.s Nguyễn Cẩm Tú HÀ NỘI - 2010 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 Cẩm Tú, 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ị và các bạn sinh viên trong nhóm “Khai phá dữ liệu” đã 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. 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 Lê Thị Kim Dung Tóm tắt Sự tăng không ngừng về lượng ảnh trên Web tạo nguồn ảnh phong phú đáp ứng được nguồn cung ảnh cho nhu cầu của con người. Mặc dù một số máy tìm kiếm ảnh đã ra đời đáp ứng phần nào nhu cầu tìm kiếm ảnh, song nâng cao chất lượng tìm kiếm luôn là vấn đề được đặt ra. Bài toán xếp hạng ảnh là bài toán cốt lõi của các máy tìm kiếm ảnh và nâng cao chất lượng xếp hạng ảnh đã và đang nhận được sự quan tâm đặc biệt. Đầu tiên, khóa luận khảo sát các thuật toán tính hạng ảnh, đặc biệt là VisualRank [39] theo độ đo tương đồng giữa các ảnh được tính theo các đặc trưng nội dung văn bản và nội dung hiển thị. Sau đó, khóa luận đề xuất một mô hình hệ thống tìm kiếm ảnh lớp trên (image meta-search engine [18] [11]), trong đó sử dụng thuật toán nói trên làm thành phần xếp hạng ảnh. Hệ thống tìm kiếm ảnh này sử dụng một cơ sở dữ liệu lưu trữ các câu truy vấn và các ảnh tương ứng với chúng như một giải pháp nhằm rút ngắn thời gian đáp ứng yêu cầu truy vấn. Đồng thời, hệ thống sử dụng một bộ từ điển dùng trong việc hỗ trợ các truy vấn dạng tiếng Việt. Thực nghiệm do khóa luận tiến hành bước đầu đã thu được những kết quả tương đối khả quan, độ chính xác của hệ thống khi áp dụng thuật toán với đặc trưng văn bản và đặc trưng hiển thị đạt 81.2%. Trong phạm vi các thử nghiệm của khóa luận, kết quả này là tốt hơn so với hai máy tìm kiếm ảnh lớn là Google và Yahoo và đã khẳng định được tính khả thi của mô hình. Mục lục Mở đầu ....................................................................................................................... 1 Chương 1. Khái quát về các thuật toán tính hạng.................................................... 3 1.1. Giới thiệu về bài toán tính hạng ...................................................................... 3 1.2. Tính hạng trang Web ...................................................................................... 4 1.2.1. Tính hạng theo liên kết ............................................................................. 4 1.2.2. Tính hạng định hướng ngữ cảnh ............................................................. 15 1.3. Tính hạng thực thể ........................................................................................ 17 1.4. Sơ bộ về tính hạng ảnh.................................................................................. 18 1.5. Một số công trình nghiên cứu liên quan ........................................................ 20 Tóm tắt chương một ................................................................................................. 22 Chương 2. Một số thuật toán tính hạng ảnh phổ biến ........................................... 23 2.1. Giới thiệu ..................................................................................................... 23 2.2. VisualRank ................................................................................................... 23 2.3. Multiclass VisualRank .................................................................................. 26 2.4. Visual contextRank....................................................................................... 28 2.5. Nhận xét ....................................................................................................... 32 Tóm tắt chương hai .................................................................................................. 32 Chương 3. Mô hình máy tìm kiếm ảnh lớp trên ..................................................... 34 3.1. Kiến trúc chung của máy tìm kiếm lớp trên .................................................. 34 3.1.1. Giao diện người dùng ............................................................................. 35 3.1.2. Bộ điều vận ............................................................................................ 35 3.1.3. Bộ xử lý kết quả ..................................................................................... 36 3.1.4. Mô đun tính hạng ................................................................................... 36 3.2. Mô hình máy tìm kiếm ảnh lớp trên MetaSEEk ............................................ 37 3.2.1. Truy vấn trực quan dựa trên nội dung ..................................................... 38 3.2.2. Giao diện truy vấn .................................................................................. 38 3.2.3. Bộ điều vận ............................................................................................ 40 3.2.4. Thành phần hiển thị................................................................................ 42 3.2.5. Đánh giá................................................................................................. 43 3.3. Xếp hạng ảnh trong máy tìm kiếm ảnh lớp trên............................................. 43 Tóm tắt chương ba ................................................................................................... 45 Chương 4. Thử nghiệm ............................................................................................ 46 4.1. Mô hình thử nghiệm ..................................................................................... 46 4.1.1. Cách tiếp cận.......................................................................................... 46 4.1.2. Mô hình đề xuất và các thành phần trong mô hình ................................. 47 4.2. Môi trường và các thành phần trong hệ thống phần mềm .............................. 50 4.2.1. Cấu hình phần cứng ............................................................................... 50 4.2.2. Các thành phần trong hệ thống phần mềm .............................................. 50 4.3. Xây dựng tập dữ liệu .................................................................................... 52 4.3.1. Tập truy vấn ........................................................................................... 52 4.3.2. Tập máy tìm kiếm nguồn ....................................................................... 53 4.3.3. Từ điển................................................................................................... 53 4.4. Quy trình, các phương án thử nghiệm ........................................................... 53 4.5. Kết quả thử nghiệm và đánh giá .................................................................... 54 Kết luận .................................................................................................................... 60 Tài liệu tham khảo ................................................................................................... 62 Danh sách các bảng Bảng 1. Ví dụ về bản ghi của một ảnh trong cơ sở dữ liệu ......................................... 42 Bảng 2. Cấu hình phần cứng sử dụng trong thực nghiệm ........................................... 50 Bảng 3. Một số phần mềm sử dụng ............................................................................ 50 Bảng 4. Một số thư viện sử dụng ............................................................................... 50 Bảng 5. Độ chính xác trung bình trên 35 truy vấn ...................................................... 56 Danh sách hình vẽ Hình 1. Mô tả tính chất authority và hub .................................................................... 13 Hình 2. Mở rộng tập cơ sở T từ tập nhân S ................................................................ 14 Hình 3. Một mô hình học xếp hạng trong máy tìm kiếm thực thể ............................... 18 Hình 4. Một minh họa về đồ thị độ tương đồng của ảnh ............................................. 24 Hình 5. Biến đổi ma trận kề ....................................................................................... 27 Hình 6. Kết quả xếp hạng của 3 phương pháp với truy vấn “Notre Dame” ................. 28 Hình 7. Mô hình xếp hạng ảnh sử dụng thuật toán ContextRank ................................ 29 Hình 8. Một ví dụ về biểu diễn visual words .............................................................. 32 Hình 9. Kiến trúc của một máy tìm kiếm lớp trên điển hình ...................................... 34 Hình 10. Một thiết kế của bộ điều vận ....................................................................... 35 Hình 11. Kiến trúc tổng thể của MetaSEEk ............................................................... 37 Hình 12. Giao diện hiển thị của MetaSEEk ................................................................ 39 Hình 13. Cấu trúc phân cấp của cơ sở dữ liệu ............................................................ 42 Hình 14. Mô hình đề xuất .......................................................................................... 48 Hình 15. Giao diện của chương trình ......................................................................... 52 Hình 16. Biểu đồ so sánh độ chính xác trung bình giữa các hệ thống ......................... 57 Hình 17. Biểu đồ độ chính xác mức K của một số truy vấn tiếng Việt ........................ 58 Hình 18. 10 kết quả đầu tiên của truy vấn “sun” trong các máy tìm kiếm ................... 59 Danh sách các từ viết tắt CSDL Cơ sở dữ liệu AP Average Precision Google CSE Google Custom Search Engine HIST Hypertext Induced Topic Search MAP Mean Average Precision SIFT Scale Invariant Feature Transform Danh sách các thuật ngữ STT Thuật ngữ tiếng Anh Nghĩa tiếng Việt 1 Content-based Image Ranking Xếp hạng ảnh dựa trên nội dung hiển thị 2 Content-based visual query Truy vấn trực quan dựa trên nội dung hiển thị 3 Display interface Thành phần hiển thị 4 Edge Cạnh 5 Image tag Thẻ ảnh 6 Inter-image Context Modeling Mô hình ngữ cảnh ngoại ảnh 7 Intra-mage Context Modeling Mô hình ngữ cảnh nội ảnh 8 Local features Các thuộc tính cục bộ 9 Offline Ngoại tuyến 10 Online Trực tuyến 11 Performance database Cơ sở dữ liệu hiệu suất 12 Performance score Điểm số hiệu suất 13 Query dispatcher Bộ điều vận truy vấn 14 Query translator Bộ dịch truy vấn 15 Random surfer model Mô hình duyệt ngẫu nhiên 16 Re-rank Xếp hạng lại 17 Scoring module Mô đun tính hạng 18 Text-based Image Ranking Xếp hạng ảnh dựa trên văn bản 19 Texture Kết cấu 20 Title Tiêu đề 21 Topic Sensitive PageRank PageRank theo chủ đề 22 Visual hyperlink Siêu liên kết trực quan 23 Visual vocabulary Tập từ vựng trực quan 1 Mở đầu Tính hạng các đối tượng trên Web (trang Web, thực thể... nói chung và tính hạng ảnh nói riêng) là bài toán có ý nghĩa quan trọng trong lĩnh vực tìm kiếm. Sự hình thành và phát triển không ngừng của máy tìm kiếm gần hai thập kỷ qua đã kéo theo một số lượng không nhỏ các công trình nghiên cứu về tính hạng trang Web được công bố, trong đó thuật toán PageRank đã trở thành một trong mười thuật toán khai phá dữ liệu điển hình nhất. Thời gian gần đây, các công bố công trình nghiên cứu về tính hạng thực thể cũng như tính hạng ảnh có xu thế tăng nhanh. Thuật toán tính hạng ảnh thường được phát triển trên cơ sở các thuật toán tính hạng trang Web, bao gồm cả các giải pháp hướng ngữ cảnh, hướng người dùng hoặc chỉ dựa trên đồ thị liên kết. Chúng tôi cũng đã tiến hành một số nghiên cứu liên quan trong công trình nghiên cứu khoa học sinh viên. Khóa luận tốt nghiệp với đề tài Một số thuật toán phân hạng ảnh phổ biến và áp dụng trong hệ thống tìm kiếm ảnh lớp trên thử nghiệm nhằm khảo sát, phân tích các giải pháp phân hạng ảnh, đồng thời trình bày một mô hình máy tìm kiếm ảnh lớp trên và thi hành giải pháp phân hạng ảnh trong máy tìm kiếm ảnh lớp trên thử nghiệm. Khóa luận gồm những nội dung chính cơ bản như sau: Chương 1: Khái quát về các thuật toán tính hạng trình bày một số thuật toán tính hạng trang điển hình đã và đang được sử dụng rộng rãi trong các máy tìm kiếm. Cùng với đó, chương này cũng nêu lên một số nét cơ bản về bài toán xếp hạng thực thể và xếp hạng ảnh. Đồng thời, chương 1 cũng đề cập đến một số công trình nghiên cứu liên quan ở trong nước và trên thế giới. Chương 2: Giới thiệu một số thuật toán tính hạng ảnh điển hình chương này tập trung trình bày một số thuật toán tính hạng ảnh dựa trên nội dung hiển thị của ảnh. Mỗi thuật toán đều được phân tích, đánh giá, đưa ra các ưu nhược điểm. Từ đó, đưa ra thuật toán tính hạng ảnh áp dụng VisualRank cho các đặc trưng hiển thị và đặc trưng văn bản của ảnh. Chương 3: Mô hình máy tìm kiếm ảnh lớp trên trình bày mô hình tổng quan của một máy tìm kiếm lớp trên. Đồng thời, chương 3 đi chi tiết vào một mô hình tìm kiếm ảnh lớp trên MetaSEEk để tìm hiểu các thành phần cần thiết trong hệ thống máy tìm kiếm ảnh 2 lớp trên. Từ đó, định hình ra những thành phần cần phải xây dựng mô hình máy tìm kiếm ảnh lớp trên định xây dựng. Chương 4: Thực nghiệm đưa ra mô hình máy tìm kiếm ảnh lớp trên áp dụng thử nghiệm thuật toán đã được đề xuất ở chương 2. Chương này trình bày các thành phần của mô hình và các công việc thực nghiệm mà khóa luận đã tiến hành. Từ những kết quả đạt được, tiến hành đánh giá, so sánh với các hệ thống khác. Phần kết luận tóm lược các kết quả đã đạt được và nêu rõ đóng góp của khóa luận, đồng thời định hướng một số hướng nghiên cứu tiếp theo trong thời gian sắp tới. 3 Chương 1. Khái quát về các thuật toán tính hạng Xếp hạng là một bài toán phổ biến, có ý nghĩa quan trọng và có nhiều ứng dụng trong thực tế. Chương này tập trung làm rõ khái niệm về bài toán tính hạng tổng quát, đồng thời trình bày một số thuật toán tính hạng trang điển hình và giới thiệu sơ bộ về bài toán tính hạng ảnh. 1.1. Giới thiệu về bài toán tính hạng Xếp hạng các đối tượng theo tiêu chí nào đó (đơn giản như xếp hạng các học sinh trong một lớp theo điểm trung bình, xếp hạng các trường đại học…) là công việc hết sức cần thiết trong nhiều ứng dụng, đặc biệt là việc xếp hạng các kết quả trả về của máy tìm kiếm. Xếp hạng các đối tượng là sắp xếp các đối tượng theo độ phù hợp với tiêu chí tùy vào từng ứng dụng cụ thể. Do đó cần phải xác định phép đo về độ phù hợp của một đối tượng tìm được với yêu cầu của người dùng theo các tiêu chí đã đặt ra [1] [2] [3] [4]. Một điển hình của bài toán xếp hạng đối tượng là việc xếp hạng các đối tượng trả về của máy tìm kiếm. Trong các máy tìm kiếm thông thường (như Google, Yahoo) độ quan trọng hay còn gọi hạng trang (PageRank) là đại lượng cơ sở để xếp hạng. Giá trị cơ sở của hạng trang được tính toán dựa trên việc phân tích mối liên kết giữa các trang Web. Xếp hạng là công việc cuối cùng trong một máy tìm kiếm nhưng cũng không kém phần quan trọng. Với tập các tài liệu ܦ = ݀ଵ, … ݀௡ và truy vấn ݍ của người dùng, máy tìm kiếm cần tìm những tài liệu trong ܦ phù hợp với ݍ. Quá trình xếp hạng là quá trình sắp xếp các tài liệu mà máy tìm kiếm đã tìm được theo độ phù hợp với truy vấn và độ quan trọng giảm dần. Việc xác định hàm tính hạng đóng vai trò quan trọng và quyết định đối với chất lượng của máy tìm kiếm. Liên quan tới việc xác định hàm tính hạng, người ta quan tâm tới hai hướng giải quyết:  Hướng thứ nhất sử dụng hạng trang của trang Web làm độ phù hợp với yêu cầu người dùng. Hầu hết các nghiên cứu đều thừa nhận một giả thiết là nếu một trang Web mà có nhiều trang Web khác liên kết tới thì trang Web đó là trang Web quan trọng. Trong trường hợp này, hạng trang được tính toán chỉ dựa trên mối liên kết giữa các trang Web với nhau. Một số thuật toán điển hình theo hướng này là PageRank, Modified Adaptive PageRank.  Hướng thứ hai coi độ phù hợp của trang Web với câu truy vấn của người dùng không chỉ dựa trên giá trị hạng trang Web mà còn phải tính đến mối liên quan 4 giữa nội dung trang Web đó với nội dung truy vấn theo yêu cầu của người dùng. Khi đó hàm tính hạng là hàm kết hợp của giá trị độ tương tự giữa tài liệu với truy vấn ݏ݈݅݉݅ܽݎ݅ݐݕ(ݍ,݀௜) và hạng trang. Các thuật toán xếp hạng theo hướng này được gọi là các thuật toán xếp hạng định hướng ngữ cảnh. Một thuật toán xếp hạng định hướng ngữ cảnh điển hình là Topic Sensitive PageRank. Với các ứng dụng mà kết quả trả về là một danh sách các đối tượng cần được sắp xếp, xếp hạng giúp người dùng nhanh chóng tiếp cận với kết quả gần với yêu cầu của mình nhất có thể. Điều đó cho thấy, xếp hạng là một bài toán quan trọng và có ý nghĩa. Sau đây chúng ta sẽ nghiên cứu một số phương pháp tính hạng trang Web, các phương pháp này hoặc là phương pháp cơ bản đầu tiên, hoặc là đang được áp dụng trên một số máy tìm kiếm điển hình trên Internet như Google, Yahoo! 1.2. Tính hạng trang Web Như đã nói ở trên, liên quan tới vấn đề xác định độ đo quan trọng của một trang Web với yêu cầu người dùng người ta quan tâm tới hai hướng giải quyết: hướng giải quyết thứ nhất không quan tâm tới vai trò của câu hỏi trong xếp hạng, ngược lại hướng giải quyết thứ hai liên quan trực tiếp với câu hỏi của người dùng. Tương ứng với hai hướng giải quyết trên là các thuật toán xếp hạng dựa theo liên kết giữa các trang Web và các thuật toán xếp hạng định hướng ngữ cảnh. Phần này sẽ trình bày một số thuật toán điển hình của cả hai hướng trên. 1.2.1. Tính hạng theo liên kết 1.2.1.1. PageRank PageRank [30] là một thuật toán phân tích liên kết (link) được Lary Page và Sergey Brin phát triển tại trường đại học Stanford (Mỹ) và được sử dụng cho máy tìm kiếm Google. Một cách trực giác, chúng ta có thể thấy rằng trang chủ của Yahoo! thì quan trọng hơn trang chủ của một cá nhân A nào đó. Điều này được phản ánh qua số lượng các trang có liên kết đến trang chủ của Yahoo! nhiều hơn số trang có liên kết tới trang chủ của cá nhân A. Do đó, ta có thể dùng số lượng các liên kết đến một trang để tính độ quan trọng của trang đó. Tuy nhiên cách này sẽ không hoạt động tốt khi người ta có thể dễ dàng tạo ra các trang Web có liên kết đến một trang Web nào đó và như vậy hạng của trang này sẽ trở nên cao hơn. PageRank phát triển thêm vào ý tưởng cũ bằng cách chú ý đến độ quan trọng của các trang Web liên kết đến trang Web mà ta đang xét. Phương pháp này thừa nhận nếu 5 có liên kết từ trang A tới trang B thì độ quan trọng của trang A cũng ảnh hưởng (được san sẻ) tới độ quan trọng của trang B. PageRank đơn giản Gọi ܩ là một đồ thị các trang Web. Đặt ܩ = (ܸ,ܧ) với ܸ = {1, 2, … ݊} là tập n đỉnh của đồ thị ܩ (mỗi đỉnh là một trang Web cần tính hạng trang) còn ܧ là tập các cạnh, E = {(i, j) / nếu có siêu liên kết từ trang i tới trang j}. Chúng ta giả thiết rằng đồ thị trang Web là liên thông, nghĩa là từ một trang bất kì có thể có đường liên kết tới một trang Web khác trong đồ thị đó. Cho một đồ thị trang Web ܩ như trên. Với mỗi trang Web ݅, ký hiệu ܰ(݅) là số liên kết đi ra từ trang Web thứ ݅ và ܤ(݅) là số các trang Web có liên kết đến trang ݅. Khi đó hạng trang ݎ(݅) của trang Web ݅ được định nghĩa như sau: ݎ(݅) = ෍ ݎ(݆) ܰ(݆) ௝∈஻(௜) (1.1) Việc ta chia cho ܰ(݆) cho thấy rằng những trang có liên kết tới trang ݅ 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. Các phương trình này được viết lại dưới dạng ma trận ݎ = ݎܲ trong đó:  ݎ = [ݎଵ, ݎଶ, … , ݎ௡] là vector PageRank, với ݎ௜ là hạng của trang Web ݅ trong đồ thị trang Web.  ܲ là ma trận chuyển ݊ × ݊ với giá trị các phần tử được xác định: ܽ௜௝ = ൜1/ ௜ܰ ݊ếݑ ܿó ݈݅ê݊ ݇ếݐ ݐừ ݅ đế݊ ݆0 ݊݃ượܿ ݈ạ݅ Từ đó công thức PageRank được viết lại: ݎ = ݎܲ (1.2) Phương trình trên cho thấy vector PageRank ݎ chính là vector riêng của ma trận chuyển P tương ứng với giá trị riêng ߣ = 1. Trong đại số tuyến tính có một số phương pháp tính vector riêng của ma trận, tuy nhiên do kích thước quá lớn của ma trận đang xét, khi thi hành các tác giả [30] đã sử dụng phương pháp lặp để tính toán vector PageRank Tính toán PageRank Như đã nói ở trên, một trong những cách thức đơn giản nhất để tính vector riêng của ma trận có thể được thực hiện thông qua việc lặp phép nhân một vector bất kỳ với ma trận đã cho đến khi nào vector đó hội tụ. Đầu tiên chúng ta sẽ gán cho vector PageRank một 6 giá trị khởi tạo bất kỳ. Sau đó, ta thực hiện phép nhân vector này với ma trận đã cho một cách liên tục cho tới khi nó đạt tới điều kiện hội tụ thì dừng lại. Vector thu được chính là vector PageRank cần tính. Quy trình tính toán được diễn tả như sau: 1. ݏ ← vector bất kì 2. ݎ ← ݏܲ 3. nếu ‖ݎ − ݏ‖ < ߝ thì kết thúc(ߝ là số dương rất bé, được gọi là sai số lặp). ݎ là vector PageRank nếu không ݏ ← ݎ, quay lại bước 2. Giá trị hội tụ của ma trận đối với vòng lặp tùy thuộc vào “khoảng cách” của hai giá trị riêng có giá trị lớn nhất (nói cách khác là hiệu của hai giá trị riêng lớn nhất). Page và Brin đã khẳng định rằng vòng lặp hội tụ khá nhanh, trong khoảng 100 vòng lặp. Mô hình duyệt ngẫu nhiên (Random sufer model) Quá trình tính toán PageRank có thể được xem như hành động của một người đang duyệt Web. Ta tưởng tượng rằng có một người dùng duyệt Web bằng cách đi theo các liên kết trên các trang Web mà họ viếng thăm một cách ngẫu nhiên. Cách duyệt ngẫu nhiên này tương đương với việc di chuyển ngẫu nhiên trên một đồ thị có hướng. Nó thể hiện rằng vector PageRank tỉ lệ với phân phối xác suất dừng của một quá trình ngẫu nhiên. PageRank của một trang Web chính là xác suất để một người ngẫu nhiên duyệt trang Web đó. PageRank trong thực tế Trên thực tế có nhiều trang Web không có liên kết đến hoặc không có liên kết ra. Các trang Web này có thể là các trang chỉ chứa một bức ảnh, một file pdf, một bảng dữ liệu … hay có thể là một trang mà các trang liên kết của nó chưa được máy tìm kiếm kéo về. Các trang độc lập như vậy được gọi là các “dangling nodes” [9]. Trong trường hợp đó, khi giải phương trình (1.2) các “dangling nodes” sẽ phải chịu một hạng bằng 0, và ta không thể tính được độ quan trọng của trang Web đó. Điều này là không phù hợp với thực tế, vì bất kỳ trang Web nào được xây dựng cũng mang một ngữ nghĩa nào đó, tức là có độ quan trọng dương. 7 Vì đồ thị Web trên thực tế là không liên thông nên trong ma trận P vẫn tồn tại hàng chỉ toàn số 0, do đó không tồn tại một phân phối xác suất dừng ổn định của P hay chính là vector hạng trang. Page và Brin [30] đề xuất xử lý các vấn đề này bằng cách thay thế các hàng chỉ toàn số 0 trong P bởi một vector xác định xác suất phân phối ݒ, với ݒ௜ là xác suất trang Web i được gọi đến ở lần duyệt đầu tiên. Khi không xét đến ngữ cảnh, ݒ có thể được chọn giá trị ݒ = ቂଵ ௡ ቃ ௡×ଵ. Gọi a là vector ݊ × 1 với: ܽ௜ = ൜1 ݊êሖ ݑ ܰ(݅) = 00 ݊݃ượ݈̣ܿܽ݅ Ma trận P được biến đổi thành ma trận ܲ ᇱ: ܲᇱ = ܲ + ܽݒ (1.3) Để đảm bảo phân phối dừng ổn định (duy nhất), công thức tính PageRank được điều chỉnh bằng việc thêm vào một hệ số hãm ݀ cho phù hợp, ݀ sẽ nhận giá trị trong khoảng [0,1]. Với định nghĩa mới này, chỉ một phần nhỏ là ݀ trong giá trị hạng của trang Web được phân phối giữa các nút có liên kết tới nó. Giá trị còn lại trong hạng trang sẽ được phân bố đều giữa các trang trên Web. Công thức PageRank được sửa đổi có dạng: ݎ(݅) = ݀ ∗෍ ݎ(݆) ܰ(݆) + 1 − ݀݊ ௝ఢ஻೔ (1.4) Ma trận Markov được xác định lại như sau: ܲᇱᇱ = ݀ܲᇱ + (1− ݀)ݒ (1.5) Việc thêm “hệ số hãm” ݀ (theo thực nghiệm thường được chọn ݀ = 0.85) có ý nghĩa như việc bổ sung thêm giá trị hạng trang cho nhóm các trang không có liên kết ra ngoài. Công thức PageRank nguyên thủy chính là trường hợp đặc biệt của giá trị PageRank vừa nêu khi ݀ = 1. Reodering PageRank Langville và Meyer [9] chỉ ra rằng, việc bỏ đi các “dangling nodes” trong quá trình tính hạng có thể làm cho kết quả tính hạng không còn chính xác nữa. Bởi vì một số “dangling nodes” có thể có PageRank cao. Ví dụ như một file pdf có nội dung tốt có thể có nhiều liên kết trỏ tới từ các nguồn và do đó nó có thể nhận được thứ hạng cao. 8 Langville và Meyer đã đề xuất một giải pháp khác giải pháp của Page và Brin [30] để giải quyết vấn đề trên gọi là thuật toán Reodering PageRank [8] [9]. Phương pháp của Langville và Meyer đưa ra là sử dụng một hệ thống tuyến tính trong việc khai thác các “dangling nodes” để giảm sự tính toán và do đó tạo ra một ma trận có các phần tử được sắp xếp lại một cách thích hợp. Theo [9], vector PageRank được tính theo công thức sau: ݎ(ܫ − ݀ܲ) = ݒ (1.6) Trong đó I là ma trận đơn vị, (ܫ − ݀ܲ) là một ma trận hệ số, các tính chất của (ܫ − ݀ܲ) được trình bày chi tiết trong [8]. Chúng ta cần chú ý tính chất cuối cùng được phát biểu như sau: - Một hàng của ma trận nghịch đảo (ܫ − ݀ܲ)ିଵ ứng với “dangling node” i là một vector chuyển vị ௜்݁, với ௜݁ là cột thứ i của ma trận đơn vị I. Tính chất này làm cho các tính toán của vector PageRank đặc biệt hiệu quả. Chúng ta giả sử rằng các hàng và cột của ma trận P được biến đổi sao cho các hàng ứng với các “dangling nodes” nằm ở đáy của ma trận. Khi đó ma trận P có dạng: ܲ = ܰܦ ܦܰܦ ܦ ቀ ଵܲଵ ଵܲଶ0 0 ቁ Với ND là tập các nút không phải là “dangling nodes” và D là tập các “dangling nodes”. Từ đó, vector hạng trang PageRank có thể được tính bởi công thức: ݎ = (ݒଵ(ܫ − ݀ ଵܲଵ)ିଵ |݀ݒଵ(ܫ − ݀ ଵܲଵ)ିଵ ଵܲଶ + ݒଶ) (1.7) Với vector ݒ được tách thành hai phần: vector “nondangling” ݒଵ và vector “dangling” ݒଶ. Chúng ta tiếp tục thực hiện việc biến đổi để đưa các hàng bằng 0 về đáy của ma trận đối với các ma trận con ଵܲଵ và ଵܲଶ và tiếp tục chia nhỏ các ma trận này giống như đã làm với ma trận P. Việc biến đổi này được thực hiện lặp đi lặp lại đối với các ma trận con nhỏ hơn cho đến khi gặp các ma trận con không có hàng bằng 0. Khi việc biến đổi các ma trận đã kết thúc, vector hạng trang PageRank được tính một cách đệ quy như sau: 1. Tính ݎଵ trong phương trình ݎଵ(ܫ − ݀ ଵܲଵ) = ݒଵ 2. Tính ݎଶ = ݀ݎଵ ଵܲଶ + ݒଶ. 3. Tính ݎଷ = ݀ݎଵ ଵܲଷ + ݀ݎଶ ଶܲଷ + ݒଷ. ⋮ 9 4. Tính ݎ௕ = ݀ݎଵ ଵܲ௕ + ݀ݎଶ ଶܲ௕ +⋯+ ݀ݎ௕ିଵ ௕ܲିଵ,௕ + ݒ௕. 5. Tổng hợp ݎ = [ݎଵݎଶ… ݎ௕] ‖ݎଵݎଶ… ݎ௕‖ଵ⁄ . Phương pháp sắp xếp lại ma trận PageRank do Langville và Meyer đề xuất sử dụng các phép biến đổi đại số để chia ma trận P thành các ma trận con nhỏ hơn và sau đó tính vector hạng trang cho từng ma trận con nên có thời gian tính toán khá nhanh và do đó có thể áp dụng tốt cho một đồ thị Web rất lớn. Qua thực nghiệm cho thấy, phương pháp này có tốc độ hội tụ nhanh hơn hoặc bằng so với tốc độ hội tụ của phương pháp PageRank nguyên thủy. Đánh giá PageRank Theo [9] PageRank là một phương pháp tính hạng khá tốt và có quá trình tính toán độc lập với người dùng nên có thể thực hiện độc lập và không ảnh hưởng đến tốc độ tìm kiếm. Phương pháp PageRank được cài đặt trên máy tìm kiếm Google và đã mang lại kết quả rất khả quan. Tuy nhiên, vì thuật toán chỉ quan tâm đến các liên kết giữa các trang Web mà không quan tâm đến nội dung trang Web nên có thể dễ bị đánh lừa bởi các công nghệ spam. Do vậy, yêu cầu đặt ra là cần phải cải tiến tốc độ tính toán PageRank và quan tâm hơn nữa tới nội dung của các trang Web đối với truy vấn của người dùng. 1.2.1.2. Modify Adaptive PageRank PageRank là một phương pháp tốt và hiệu quả nhằm đánh giá hạng các trang thông qua việc phân tích các liên kết giữa các trang Web. Việc tính toán giá trị PageRank cho toàn bộ các trang Web được thực hiện thông qua việc tính vector riêng của ma trận kề biểu diễn cho liên kết giữa các trang Web. Tuy nhiên, với kích cỡ khổng lồ của WWW, công việc tính toán này có thể tốn thời gian nhiều ngày. Vì vậy yêu cầu đặt ra là cần phải tăng tốc độ tính toán hạng trang. Yêu cầu này là vì hai lí do:  Cần sớm có được kết quả tính toán để đưa những thông tin hạng trang sang các thành phần khác của máy tìm kiếm, việc tính toán nhanh vector PageRank có thể giúp tận dụng được thời gian rỗi của những bộ phận đó.  Hiện nay, các phương pháp nghiên cứu mới đều tập trung vào việc đánh giá dựa trên những tiêu chí có tính đến sự quan tâm của người dùng, do vậy cần phải tính toán nhiều vector PageRank, mỗi vector hướng tới một tiêu đề khác nhau. Việc tính toán nhiều vector này cũng đòi hỏi mỗi vector thành phần cần được tính toán nhanh chóng. Một số phương pháp tăng hiệu năng tính toán của thuật toán PageRank đã được đề xuất. Một trong các phương pháp tăng tốc độ tính toán phổ biến hiện nay là Modified 10 Adaptive PageRank đã được giới thiệu bởi Sepandar Kamvar và các đồng nghiệp [29]. Ý tưởng của đề xuất này dựa trên nhận xét: trong quá trình chạy chương trình, độ quan trọng các trang Web có tốc độ hội tụ không giống nhau, có những trang Web có tốc độ hội tụ nhanh, có trang lại có tốc độ hội tụ chậm. Vì vậy ta có thể tận dụng những trang hội tụ sớm và kết quả độ quan trọng của những trang đã hội tụ đó có thể không cần phải tính tiếp nữa. Điều này cho phép giảm được những tính toán dư thừa và do đó làm tăng được hiệu suất tính toán của hệ thống. Như vậy, phương pháp này thực chất là một cải tiến của phương pháp PageRank, phương pháp này có thể làm tăng tốc độ tính toán bằng cách giảm đi những tính toán dư thừa. Phương pháp Adaptive PageRank Như đã giới thiệu ở trên, việc tính toán vector toàn cục PageRank cho các trang Web được thực hiện bằng phương pháp lặp. Ta giả sử rằng việc tính toán vector PageRank đã được thực hiện đến vòng lặp thứ k và bước tính toán tiếp theo: ݔ(௞ାଵ) = ܣݔ(௞) (1.8) Gọi C là tập hợp các trang Web có giá trị hạng trang đã hội tụ đến mức ߝ nào đó và ܰ là tập hợp các trang Web có giá trị hạng trang chưa hội tụ. Khi đó, ta chia ma trận ܣ ra làm hai ma trận con, ܣே cỡ ݉ × ݊ là ma trận kề đại diện cho những liên kết của m trang chưa hội tụ, còn ܣ஼ cỡ (݊ −݉) × ݊ là ma trận kề đại diện cho những liên kết của (݊ −݉) trang đã hội tụ. Tương tự, ta cũng chia vector ݔ(௞) tại vòng lặp thứ k ra thành 2 vector: ܺே(௞) tương ứng với những thành phần của ݔ(௞) đã hội tụ, còn ܺ஼(௞) tương ứng với những thành phần của ݔ(௞) chưa hội tụ. Ma trận ܣ và vector ݔ(௞) được viết lại dưới dạng sau: ܺ(௞) = ቆܺே(௞) ܺ஼ (௞)ቇ và ܣ = ൬ܣேܣ஼൰ Và phương trình (1.8) được viết lại như sau: ቆ ܺே (௞ାଵ) ܺ஼ (௞ାଵ)ቇ = ൬ܣேܣ஼൰ • ൭ܺே(௞)ܺ஼(௞)൱ (1.9) Do những thành phần của ܺ஼ (௞) đã hội tụ, do vậy ta không cần tính ܺ஼(௞ାଵ) nữa và như vậy việc tính toán sẽ được giảm đi đáng kể do không phải tính toán ܣ஼ܺ(௞) nữa mà chỉ cần tính: ܺே (௞ାଵ) = ܣே • ܺ(௞) (1.10) ܺ஼ (௞ାଵ) = ܺ஼(௞) (1.11) 11 Cải tiến Adaptive PageRank Vì kích thước của WWW rất lớn nên việc sắp xếp lại ma trận A để tạo ma trận con ܣே sẽ khó có thể thực hiện được trong mỗi vòng lặp. Hơn nữa, không có cách hiệu quả để phớt lờ đi những đầu vào không cần thiết (chính là những liên kết tới các trang đã hội tụ) do vậy trong thực tế việc cài đặt thuật toán có thể được thực hiện như sau: Định nghĩa ma trận ܣ′ như sau: ܣ′ = ൜0 ݊ếݑ ݅ ∈ ܥ ܣ௜௝ ݊݃ượܿ ݈ạ݅ (ܺ′஼(௞))௜ = ቊܺ௜(௞) ݊ếݑ ݅ ∈ ܥ0 ݊݃ượܿ ݈ạ݅ Nghĩa là ta sẽ nhận được ma trận ܣ′ khi thay hàng thứ i của ma trận ܣ bởi 0 nếu ݅ ∈ ܥ. Điều này có ý nghĩa như chúng ta sẽ lọc đi những phần tử của ܣ஼ vì chúng không còn cần thiết cho công việc tính toán nữa. Phương trình (1.8) được viết lại như sau: ܺ(௞ାଵ) = ܣ′ܺ(௞) + ܺᇱ஼(௞) (1.12) Ma trận ܣ′ mà chúng ta nhận được có số chiều giống như ma trận ܣ, tuy nhiên ma trận ܣ′ thưa hơn rất nhiều so với ma trận A (có nhiều phần tử 0 hơn mà công việc tính toán với số 0 rất đơn giản) nên thời gian tính toán sẽ trở nên nhanh hơn so với việc sắp xếp lại ma trận đại diện cho các liên kết giữa các trang Web để được ma trận con ܣே và ܣ஼ Ý tưởng chính của Adaptive PageRank là làm giảm những tính toán dư thừa bằng việc tính toán lại PageRank theo các phương trình (1.10) và (1.11). Tuy nhiên trong [32] đã giới thiệu chi tiết hơn về việc tăng tốc độ tính toán bằng cách chia nhỏ ma trận ܣ thành bốn ma trận con. Ma trận ܣ được viết lại như sau: ܣ = ൬ܣேே ܣே஼ܣ஼ே ܣ஼஼൰ (1.13) Với ܣேே là ma trận kề đại diện cho những liên kết của các trang có giá trị PageRank chưa hội tụ tới những trang có giá trị PageRank chưa hội tụ, ܣ஼ே là ma trận kề đại diện cho những liên kết của các trang có giá trị PageRank đã hội tụ tới những trang có giá trị PageRank chưa hội tụ, và tương tự cho các thành phần khác ܣே஼ ,ܣ஼஼ . Vì ܺ஼ và ܣே஼ܺ஼ không thay đổi sau vòng lặp thứ k do chúng đã hội tụ, nên phương trình (1.8) có thể được viết lại như sau: ܺே (௞ାଵ) = ܣேேܺே(௞) + ܣ஼ேܺ஼(௞) (1.14) 12 Ma trận ܣ đã được chia nhỏ ra đồng thời không phải tính lại giá trị một số ma trận con do vậy công việc tính toán có thể được giảm đi đáng kể. Hơn nữa việc tính toán ܣ஼ே cũng không cần phải tiến hành thường xuyên mà có thể xem xét chúng một cách định kì. Đánh giá Việc chia nhỏ và lọc ma trận ܣ không những giảm đi được những tính toán dư thừa không cần thiết mà còn giảm đi việc đọc các đầu vào và ghi các giá trị đầu ra không cần thiết, giúp nâng cao hơn hiệu suất tính toán. Hơn nữa phương pháp này còn giúp giảm được chi phí tốn kém về bộ nhớ khi thực hiện công việc tính toán. Những kết quả thực nghiệm trong [32] cho thấy thời gian tính hạng có thể được giảm đi tới hơn 20% so với thuật toán PageRank nguyên thủy. 1.2.1.3. HITS Phương pháp HITS (Hypertext Induced Topic Search), do Kleinberg đề xuất [23], tính hạng của một trang Web không chỉ dựa trên một giá trị độ quan trọng như PageRank mà mỗi trang Web được xác định hai trọng số khác nhau: authority và hub. Authority pages: Là những trang được xem là phù hợp nhất đối với mỗi câu truy vấn cụ thể nào đó. Ví dụ trang chủ của Yahoo chính là trang “authority” của câu truy vấn “yahoo”. Hub pages: Là những trang không cần có đặc tính “authority” nhưng lại trỏ tới nhiều trang có đặc tính “authority”. Ví dụ như trang “Searchenginewatch.com” là một trang “hub” vì nó liên kết tới nhiều trang chủ của máy tìm kiếm. Trang “hub” có ý nghĩa khá quan trọng, thứ nhất bởi vì nó có những thông tin có thể được sử dụng trong việc tìm kiếm những thông tin hữu ích, thứ hai bởi vì nó được sử dụng trong thuật toán HIST để tính toán “authority”. Vì trang “hub” mang ý nghĩa là trang trỏ tới nhiều trang “authority” nên nếu một trang “authority” tốt có thể được coi là trang có nhiều “hub” chỉ tới. Giải thuật HITS Thuật toán HITS không làm việc trên toàn bộ đồ thị Web mà chỉ làm việc trên một tập nhỏ các trang Web và kết hợp chúng thành một đồ thị các trang Web (gọi là đồ thị con). Thuật toán không hoàn toàn độc lập với người dùng như phương pháp PageRank mà tùy thuộc vào câu truy vấn của người dùng, với mỗi câu truy vấn khác nhau công việc tính toán phải được thực hiện lại. Tuy nhiên câu truy vấn chỉ có vai trò trong việc tạo đồ thị con chứ không ảnh hưởng tới phương pháp tính toán. Vì vậy trước tiên phải xây dựng đồ thị con các trang tùy theo truy vấn và sau đó phân tích các liên 13 kết giữa các trang trong đồ thị để xác định các giá trị “authority” và “hub” của các trang. Hình 1. Mô tả tính chất authority và hub Xác định đồ thị con: Đồ thị con các trang Web hay còn gọi là tập cơ sở ܵ có thể được xây dựng theo giải thuật sau: 1. ܴ ← tập t trang Web có chứa xâu truy vấn (tập nhân) 2. ܵ ← ܴ 3. Với mỗi trang p thuộc R (a) Thêm các trang được liên kết đến bởi p vào S (b) Thêm các trang Web có liên kết đến p vào S (tối đa là d trang) 4. Đồ thị tạo bởi S chính là đồ thị con cần tìm. Việc tìm tập nhân liên quan đến truy vấn có thể xác định dựa vào kết quả tìm kiếm của các máy tìm kiếm khác như Google. Ví dụ tập nhân có thể được lấy từ các trang đầu tiên, có thể là 10 địa chỉ trang Web đầu tiên được trả về tương ứng với truy vấn. Hoặc là các trang có địa chỉ chứa nội dung truy vấn, ví dụ với truy vấn “java” thì trang chủ là Các trang Web trong đồ thị con ܵ cũng được đánh chỉ số từ 1 đến n và đồ thị được biểu diễn bởi ma trận kề ܣ. 14 Hình 2. Mở rộng tập cơ sở T từ tập nhân S Tính authority và hub: Các trọng số authority ܽ௜ và hub ℎ௜ của mỗi trang Web được khởi tạo bằng 1 và sau đó sẽ được tính dựa theo công thức: ܽ௜ = ∑ ℎ௝௝∈஻(௜) và ℎ௜ = ∑ ௝ܽ௝∈ே(௜) (1.15) Gọi ܣ là ma trận kề biểu diễn liên kết giữa các trang Web với: ܽ௜௝ = ൜1 ݊ếݑ ܿó ݈݅ê݊ ݇ếݐ ݐừ ݐݎܽ݊݃ ݅ đế݊ ݐݎܽ݊݃ ݆0 ݊݃ượܿ ݈ạ݅ Biểu diễn 1.15 theo ma trận ta có: ܽ⃗ = ܣ்ℎሬ⃗ và ℎሬ⃗ = ܣܽ⃗ (1.16) Trong đó: ܽ⃗ = (ܽଵ, ܽଶ, … ܽ௡), ℎሬ⃗ = (ℎଵ,ℎଶ, … ℎ௡) lần lượt là vector trọng số “authority” và “hub” của các trang trong tập ܵ. Từ 1.16 ta biến đổi được: ܽ⃗ = ܣܣ்ܽ⃗ và ℎሬ⃗ = ܣ்ܣℎሬ⃗ Vậy cũng tương tự như phương pháp PageRank, vector ܽ, ℎ lần lượt là vector riêng của các ma trận ܣܣ் và ܣ்ܣ. Do vậy tương tự phương pháp tính PageRank, có thể áp dụng tính chất hội tụ để tính vector ܽ, ℎ. Vector ܽ,ℎ thường được chuẩn hóa: ∑ ܽ =௜ ∑ ℎ = 1௜ . 15 Kleinberg [23] đã chỉ ra sự hội tụ của các trọng số “authority” và “hub” tức thuật toán thỏa mãn tính dừng nhưng chưa đưa ra được giới hạn số vòng lặp cần tính. Tuy nhiên thực nghiệm đã cho thấy thuật toán nhanh chóng hội tụ. Đánh giá Theo [9], thuật toán HITS có phần hướng người dùng do sử dụng thông tin truy vấn chắt lọc những trang Web có nội dung liên quan đến xâu truy vấn để xây dựng tập con ܵ các trang Web. Thuật toán đã thể hiện mối quan hệ chặt chẽ giữa các trang mang tính chủ (authority) và trang trung tâm (hub). Tuy nhiên thuật toán HITS lại gặp phải vấn đề khá khó khăn là cần tính toán trực tuyến (online), nghĩa là chỉ khi máy tìm kiếm nhận được câu truy vấn rồi đồ thị con mới được xây dựng và sau đó các trọng số “authority”, “hub” mới được tính. Điều này làm chậm thời gian trả kết quả về cho người dùng. Nhưng chúng ta có thể ứng dụng thuật toán HITS trong các phương pháp có xác định link spam sau này nhằm tính độ ảnh hưởng của các trang xấu tới các trang khác khi đã xác định được tập nhân các trang xấu. 1.2.2. Tính hạng định hướng ngữ cảnh 1.2.2.1. PageRank theo chủ đề (Topic sensitive PageRank) PageRank là phương pháp xếp hạng hiệu quả và hiện đang được áp dụng trên máy tìm kiếm Google. Tuy nhiên phương pháp này chỉ quan tâm đến các liên kết mà không quan tâm đến nội dung của trang Web có chứa liên kết đó, do vậy có thể dẫn tới những sai lạc trong thông tin tìm kiếm được. Yêu cầu đặt ra là cần phải tìm kiếm một phương pháp có tốc độ nhanh như phương pháp PageRank và lại có quan tâm đến nội dung của trang Web có chứa những liên kết cần thiết. Hơn nữa, nếu khai thác được mối quan tâm của người dùng đối với các trang Web trong việc tính độ phù hợp của trang Web với câu hỏi người dùng thì việc đó càng có ý nghĩa. Nhằm đáp ứng những yêu cầu trên, Taher H. Haveliwala [35] đã đề xuất phương pháp PageRank theo chủ đề (Topic sensitive PageRank) sử dụng khái niệm “phạm vi ngữ cảnh” để biểu thị mối quan tâm của người dùng. Phương pháp nắm được độ quan trọng của các trang Web, cho phép tìm kiếm theo ngữ cảnh và điều quan trọng là có thể tìm kiếm những trang phù hợp với nội dung truy vấn của người dùng với tốc độ cho phép. Thuật toán gồm hai bước được mô tả sơ bộ như sau. o Bước đầu tiên được thực hiện ngoại tuyến (offline) trong suốt quá trình tiền xử lí của bộ tìm duyệt và hoàn toàn độc lập đối với những truy vấn như phương pháp 16 PageRank thông thường. Tại bước này, các trang Web trong cơ sở dữ liệu được phân thành các lớp theo các chủ đề ܿଵ, ܿଶ, … , ܿ௡; gọi ௝ܶ là tập hợp những trang Web theo chủ đề của ௝ܿ . Mỗi lớp tương ứng với một vector PageRank của mỗi trang trong lớp. Vector PageRank của chủ đề ௝ܿ được tính bằng ⃗ݒ = ݒఫሬሬ⃗ trong đó ݒ௝௜ = ቐ 1ห ௝ܶห ݊ếݑ ݅ ∈ ௝ܶ0 ݊݃ượܿ ݈ạ݅ (1.17) Gọi ܦఫሬሬሬ⃗ là vector các từ khóa, gồm tất cả các từ khóa trong các tài liệu của các chủ đề; ܦ௝௧ là số lần xuất hiện của từ khóa t trong tất cả các tài liệu của chủ đề ܿ ௝ . o Bước thứ hai của thuật toán được thực hiện trong thời gian truy vấn, nghĩa là khi máy tìm kiếm nhận được câu truy vấn của người dùng thì mới thực hiện công việc tính toán độ quan trọng cho các trang. Giả sử chúng ta có truy vấn ݍ, gọi ݍᇱ là phạm vi ngữ cảnh của ݍ. Phạm vi ngữ cảnh nghĩa là nếu truy vấn ݍ được yêu cầu bằng cách tô sáng từ khóa ݍ trong trang Web u nào đó thì ݍᇱ sẽ chứa các từ khóa trong u bao gồm cả ݍ. Với truy vấn bình thường không tìm theo ngữ cảnh thì ݍᇱ = ݍ. Sau đó ta tính xác suất để ݍᇱ thuộc về các chủ đề khác nhau. Bước này có thể coi như là bước phân lớp xem xét ݍᇱ thuộc về lớp nào trong các lớp chủ đề. Sử dụng thuật toán phân lớp Bayes với:  Tập huấn luyện: gồm những trang được liệt kê trong các chủ đề.  Đầu vào: câu truy vấn hoặc phạm vi ngữ cảnh của câu truy vấn.  Đầu ra: xác suất để đầu vào thuộc mỗi chủ đề. Gọi ݍ௜ᇱ là từ khóa thứ i trong ngữ cảnh ݍᇱ. Với mỗi lớp ௝ܿ , xác suất để ݍᇱ ∈ ௝ܿ là: ܲ൫ ௝ܿหݍ ᇱ൯ = ܲ൫ ௝ܿ൯.ܲ(ݍᇱ| ௝ܿ) ܲ(ݍᇱ) ≈ ܲ൫ ௝ܿ൯.ෑܲ൫ݍ௜ᇱห ௝ܿ൯ (1.18) ௜ Trong đó ܲ൫ݍ௜ ᇱห ௝ܿ൯ được tính từ vector các từ khóa ܦఫሬሬሬ⃗ được định nghĩa ở trên. Giá trị ܲ൫ ௝ܿ൯ được xác định hoặc là các giá trị bằng nhau cho mọi chủ đề hoặc có thể làm như sau: chúng ta giả sử rằng có k người dùng, ta sẽ biết được số lần mà người dùng này có câu truy vấn liên quan đến chủ đề nào, từ đó có thể tính được ௞ܲ( ௝ܿ); rồi tổ hợp các giá trị này thì nhận được ܲ൫ ௝ܿ൯. Gọi ݎܽ݊ ௝݇ௗ là hạng của văn bản d cho bởi vector ܴܲ(݀, ݒఫሬሬሬ⃗ ) – vector PageRank của chủ đề ௝ܿ thì độ quan trọng ܵ௤ௗ dựa theo câu truy vấn được tính như sau: 17 ܵ௤ௗ =෍ܲ( ௝ܿ|ݍᇱ) ௝ . ݎܽ݊ ௝݇ௗ (1.19) Phương pháp PageRank theo chủ đề có thể cho những kết quả tính toán chính xác hơn vì nó dựa trên cả những liên kết và nội dung trang Web. Tuy nhiên phương pháp này cũng gặp phải những trở ngại là: việc phân chia các chủ đề có thể không đầy đủ, không bao hàm được tất cả các chủ đề; vấn đề này có thể giải quyết bằng cách tăng thêm các chủ đề nhưng việc tăng thêm các chủ đề chắc chắn sẽ làm tăng thời gian tính toán... 1.3. Tính hạng thực thể Tìm kiếm thực thể trên Web là một hướng đi mới dựa trên tìm kiếm văn bản thông thường. Cùng với sự phát triển của các kỹ thuật trích rút thông tin, các máy tìm kiếm thực thể ngày càng nhận được nhiều sự quan tâm nghiên cứu của các nhà khoa học. Với máy tìm kiếm thực thể, người dùng có thể dễ dàng tìm được thông tin về một đối tượng nào đó. Ví dụ, đối với truy vấn “các trường đại học ở Việt Nam”, máy tìm kiếm thực thể sẽ trả về danh sách tên các trường đại học ở Việt Nam đúng như mong muốn của người dùng. Trong khi đó, các máy tìm kiếm thông thường sẽ trả về danh sách các trang Web có chứa từ khóa trong truy vấn. Do vậy người dùng sẽ phải duyệt qua nội dung nhiều trang Web mà không chắc chắn sẽ có được thông tin mong muốn ở những kết quả đầu tiên. 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. Vì thế, vấn đề đư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 là rất quan trọng. Hay nói cách khác, xếp hạng thực thể là vấn đề cốt lõi của máy tìm kiếm thực thể. Bài toán xếp hạng thực thể được phát biểu như sau: Gọi ܧ = {݁ଵ, ݁ଶ, … , ݁௡} là tập các thực thể được trích ra từ các trang Web. Mỗi thực thể ݁௜ được biểu diễn bởi các cặp (,). Định nghĩa ݀(݁௜) = {ܫܦ௜ ,ܲ௜} là một mô tả của thực thể ݁௜, trong đó ܫܦ௜ là định danh thực thể: ܫܦ௜ = ݅݀(݁௜) và tập các đặc tính ܲ௜ = {(ܽଵ௜ ,ݒଵ௜) … (ܽ௡௜ ,ݒ௩௜)} là tập các cặp (,). Ví dụ, trường đại học Công Nghệ có ID là DHCN và các đặc tính như là (tên, đại học Công Nghệ), (năm_thành_lập, 2005)… Truy vấn ݍ = {(ܽଵ, ݒଵ) … (ܽ௡, ݒ௡)} là một tập các cặp (,) thể hiệ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 ܽଵ, … , ܽ௡. 18 Với đầu vào là một tập các mô tả thực thể ܦ = {݀(݁ଵ) … ݀(݁௡)} và một truy vấn q, đầu ra của một hệ thống xếp hạng thực thể là một danh sách các thực thể đã được xếp hạng ܧ = {݁௜ … ݁௝}. Độ phù hợp của thực thể ݁௜ đối với truy vấn q được xác định bởi ݏܿ݋ݎ݅݊݃_݂ݑ݊ܿݐ݅݋݊∅(ݍ,݀(݁௜)). Giá trị của ∅(ݍ,݀(݁௜)) được dùng để xếp hạng các kết quả trả về, do đó việc xác định hàm ∅(ݍ,݀(݁௜)) là vấn đề quan trọng. Với mỗi bài toán xếp hạng thực thể cho mỗi loại đối tượng sẽ có một số thuật toán xếp hạng thực thể phù hợp với bài toán đó tùy thuộc vào các thuộc tính của đối tượng cần tìm. Hình 3. Một mô hình học xếp hạng trong máy tìm kiếm thực thể [4] 1.4. Sơ bộ về tính hạng ảnh Cùng với sự bùng nổ thông tin trên Web và sự phát triển của công nghệ kỹ thuật số, lượng ảnh lưu trữ trên Web cũng tăng một cách nhanh chóng. Mỗi ngày, có hàng triệu bức ảnh được đăng tải trên các trang ảnh trực tuyến như: Flickr1, Photobucket2, Facebook3…. Theo thống kê, có 10 tỉ ảnh trên Facebook (tính đến tháng 10/2008), 3 tỉ ảnh trên Flickr (tính đến tháng 11/2008), 6.2 tỉ ảnh trên Photobucket (tính đến tháng 10/2008) [19] Bên cạnh nhu cầu tìm kiếm thông tin thì tìm kiếm ảnh cũng là một nhu cầu đang nhận được sự quan tâm lớn của người sử dụng. Tuy nhiên với một lượng ảnh trên 1 Flickr: 2 Photobucket: 3 Facebook: 19 Internet quá lớn công việc tìm kiếm sẽ trở nên vô cùng khó khăn. Để giải quyết vấn đề này, đã có các hệ thống tìm kiếm ảnh ra đời như: Yahoo, MSN, Google Image Search, Bing…. Cũng như đối với các hệ thống tìm kiếm thông thường và các hệ thống tìm kiếm thực thể khác, mô đun xếp hạng là một phần quan trọng cốt lõi trong máy tìm kiếm ảnh. Hiện nay, bài toán xếp hạng ảnh đã trở thành một trong những bài toán điển hình của lĩnh vực khai phá dữ liệu nói chung và lĩnh vực xếp hạng thực thể nói riêng. Để tìm kiếm và xếp hạng ảnh trên Web, các máy tìm kiếm thường dựa vào các thuộc tính sẵn có của ảnh. Các ảnh trên Web được nhận biết qua các thuộc tính được nhóm thành hai loại: văn bản và nội dung hiển thị. Các thuộc tính văn bản có thể là: tên ảnh, tags1, vùng văn bản xung quanh ảnh, tên trang Web chứa ảnh, …. Nội dung hiển thị của ảnh có thể là: màu sắc, hình dạng, kết cấu, các thuộc tính cục bộ (local features), … hay bất cứ thông tin nào bắt nguồn từ chính nội dung của bức ảnh. Dựa vào hai loại đặc trưng này của các ảnh trên Web, các thuật toán xếp hạng ảnh cũng phân thành hai hướng là: xếp hạng ảnh dựa theo nội dung hiển thị và xếp hạng ảnh dựa theo văn bản. Các máy tìm kiếm ảnh thông dụng hiện nay như: Google Image Search, Yahoo! Image Search, MSN, AltaVista, … xếp hạng các ảnh trả về dựa trên vùng văn bản đi kèm với ảnh. Các hệ thống này cho phép người sử dụng nhập các chuỗi truy vấn về chủ đề ảnh mà họ cần tìm kiếm, thông qua việc phân tích các vùng văn bản đi kèm với các bức ảnh, hệ thống gửi trả lại các ảnh có nhãn tương ứng với chủ đề ảnh mà người sử dụng yêu cầu. Phương pháp này cho kết quả khả quan cũng như đáp ứng nhanh nhu cầu của người sử dụng. Tuy nhiên, đối với các câu truy vấn mang ý nghĩa nhập nhằng có thể sẽ có các kết quả trả về không đúng với yêu cầu đặt ra bởi vì vùng văn bản đi kèm ảnh không thể diễn tả được hết nội dung ảnh. Một hướng nghiên cứu khác là phân tích các đặc trưng hiển thị của ảnh và tiến hành xếp hạng theo các đặc trưng này. Một số công cụ tìm kiếm ảnh dựa trên nội dung điển hình như: Google Image Swirl, Tiltomo, Byo Image Search …. Các công cụ này nhận đầu vào là một chuỗi truy vấn dưới dạng văn bản hoặc một bức ảnh và cho phép người dùng tùy chỉnh lựa chọn tìm ảnh theo một số đặc trưng nào đó. Tuy nhiên, các máy tìm kiếm này thường chỉ tập trung khai thác vào một phần nội dung của ảnh và thường tốn khá nhiều thời gian do phải phân tích nội dung các bức ảnh. 1 Tags: là là các từ để đánh dấu một vùng trong ảnh mà khi di chuột qua vùng đó thì các từ đó sẽ hiển thị lên để chú thích cho bức ảnh. 20 Một trong các hướng nghiên cứu nhằm giải quyết và khắc phục vấn đề trên là kết hợp cả việc phân tích các đặc trưng của ảnh với các đặc trưng của chuỗi truy vấn vào quá trình tìm kiếm ảnh. Đây là một hướng nghiên cứu mới được sự quan tâm của nhiều hội nghị quốc tế như: International Journal of Computer Vision, IEEE conference… 1.5. Một số công trình nghiên cứu liên quan Các nghiên cứu về tìm kiếm Web đã bắt đầu từ những năm 1990. Cùng với sự cải tiến không ngừng của các công cụ tìm kiếm Web, các thuật toán tính hạng trang cũng nhận được sự quan tâm sâu sắc tại các hội nghị quốc tế. Sự ra đời của thuật toán PageRank [30] đã đánh dấu một bước phát triển nhảy vọt của các máy tìm kiếm Web mà điển hình của nó là Google, một trong số các máy tìm kiếm hàng đầu hiện nay. Kéo theo đó là sự ra đời của một loạt các thuật toán tính hạng trang khác [9] [23] [32] [35] nhằm cải tiến thuật toán PageRank. Phần lớn các nghiên cứu tìm kiếm Web là tập trung vào tìm kiếm các trang Web (tài liệu dạng văn bản) và chỉ một số ít trong đó là về tìm kiếm các thông tin đa phương tiện trên Web (ảnh, video, MP3…). Tuy nhiên, trong những năm gần đây, vấn đề tìm kiếm và xếp hạng các đối tượng đa phương tiện trên Web (đặc biệt là vấn đề tìm kiếm và xếp hạng ảnh) đang trở thành một vấn đề thu hút được rất nhiều sự quan tâm của các nhà khoa học trên thế giới. Bằng chứng là ngày càng có nhiều các công trình nghiên cứu về các thuật toán tính hạng ảnh được công bố [17] [29] [30] [34] [36] [38] [39]. Bên cạnh đó là sự ra đời của các máy tìm kiếm ảnh và các máy tìm kiếm thông thường cũng có xu hướng tích hợp thêm dịch vụ tìm kiếm ảnh. Một hướng phát triển mới cho các máy tìm kiếm Web đang rất được chú ý đó là các máy tìm kiếm lớp trên (Meta-search engine). Đã có một số công trình nghiên cứu về máy tìm kiếm lớp trên [11] [14] [18] [28] được công bố cũng như đã có một số máy tìm kiếm lớp trên (Dogpile, Clussty, KartOO, Google CSE…) được mang vào sử dụng trong thực tiễn. Tuy nhiên, những công cụ tìm kiếm này vẫn chưa mang lại được thành tựu nổi bật và chưa cạnh tranh được với Google. Ở Việt Nam, nghiên cứu và ứng dụng tìm kiếm và xếp hạng Web cũng đang nhận được nhiều sự quan tâm. Hiện tại, cũng có một số công ty làm về máy tìm kiếm như Bamboo, Zing, Xalo, Socbay…. Thứ trưởng Bộ TT-TT Nguyễn Minh Hồng1 cho rằng, các máy tìm kiếm trực tuyến ra đời là sự đóng góp lớn cho nền công nghiệp CNTT 1 21 Việt Nam. Tuy nhiên, những sản phẩm này vẫn chưa thể vượt qua các công cụ tìm kiếm của các “đại gia” nước ngoài trên thị trường nội địa. Theo ông Lê Ngọc Quang1, Giám đốc Phát triển Kinh doanh và Công nghệ của IDG Ventures Vietnam, công cụ tìm kiếm của Việt Nam hiện nay gần như bỏ không, không tạo doanh thu, rất ít người dùng và như vậy là một sự lãng phí. Ngoài các máy tìm kiếm còn có một số công trình nghiên cứu về tìm kiếm và xếp hạng đã được công bố. Một số công trình nghiên cứu bước đầu như cải tiến thuật toán tính hạng trang của Nguyễn Hoài Nam [2], mô hình học xếp hạng của Nguyễn Thu Trang [4], xây dựng công cụ tìm kiếm MP3 cho tiếng Việt của Nguyễn Hoàng Trung [5]. Công trình nghiên cứu của Nguyễn Hoài Nam [2] dựa trên cơ sở một số phương pháp tìm kiếm và xếp hạng trang cơ bản, từ đó đưa ra những đề xuất cải tiến cho thuật toán PageRank theo chủ đề. Phương pháp mà [2] đưa ra là gán các giá trị quan trọng khác nhau đối với các liên kết để làm chính xác hơn các kết quả tìm kiếm. Cụ thể như những liên kết từ các trang trong cùng chủ đề đối với trang được liên kết có thể mang tới cho trang đó giá trị nhiều hơn những trang không nằm trong cùng chủ đề. Phương pháp này đã được áp dụng thử nghiệm cho máy tìm kiếm Vietseek và bước đầu đã mang lại hiệu quả. Một nghiên cứu khác cũng về vấn đề xếp hạng là nghiên cứu về học xếp hạng trong tính hạng đối tượng và tạo nhãn cụm tài liệu của Nguyễn Thu Trang [4]. Công trình của [4] thực hiện khảo sát, phân tích các phương pháp học xếp hạng đang được quan tâm hiện nay và từ đó đưa ra mô hình xếp hạng thực thể áp dụng vào máy tìm kiếm thực thể trong tiếng Việt, cụ thể là tìm kiếm thực thể thuốc và học xếp hạng để tạo nhãn cho cụm tài liệu. Các kết quả thu được đã chứng minh vai trò và hiệu quả của học xếp hạng áp dụng vào máy tìm kiếm. Nguyễn Hoàng Trung [5] đã tiến hành xây dựng thử nghiệm một thành phần tìm kiếm MP3 cho tiếng Việt cho máy tìm kiếm Socbay. Hệ thống này tìm kiếm các file MP3 dựa vào các trường mô tả file. Phần mềm tìm kiếm này cho kết quả tương đối chính xác đối với cả những tìm kiếm tiếng Việt không dấu và có dấu trong thời gian cho phép. Qua quá trình tìm hiểu về tình hình nghiên cứu trong và ngoài nước, nhận thấy yêu cầu của thực tế đặt ra là rất cần thiết và cấp bách, trong khóa luận này, tôi tập trung nghiên cứu về các thuật toán tính hạng ảnh và sau đó áp dụng vào việc xây dựng 1 22 một mô hình máy tìm kiếm lớp trên thử nghiệm cho ảnh. Tôi tin rằng những nghiên cứu của mình là rất thiết thực và sẽ là nền tảng cho những nghiên cứu tiếp theo của mình. Tóm tắt chương một Trong chương một, khóa luận đã tập trung khảo sát, phân tích một số thuật toán tính hạng trang điển hình đang được sử dụng rộng rãi hiện nay. Đồng thời khóa luận cũng đã trình bày sơ bộ về vấn đề xếp hạng đối tượng nói chung và xếp hạng ảnh nói riêng. Trong chương tiếp theo, khóa luận sẽ giới thiệu chi tiết hơn về các thuật toán tính hạng ảnh theo nội dung hiển thị. 23 Chương 2. Một số thuật toán tính hạng ảnh phổ biến 2.1. Giới thiệu Như đã trình bày ở chương trước, xếp hạng ảnh là một bài toán điển hình trong lĩnh vực xếp hạng thực thể và đang nhận được nhiều sự quan tâm nghiên cứu của các nhà khoa học. Các nghiên cứu về xếp hạng ảnh hiện nay chủ yếu tập trung vào phân tích các đặc trưng về nội dung hiển thị của ảnh. Phương pháp phổ biến là dùng lý thuyết đồ thị để xây dựng mối quan hệ giữa các bức ảnh. Phương pháp tiếp cận này xây dựng một đồ thị kết nối các ảnh giống nhau và sau đó sử dụng vector đặc trưng để tìm các ảnh là “trung tâm” của đồ thị. Một hướng tiếp cận đơn giản và hiệu quả ứng dụng trong việc xử lý các thông tin về nội dung hiển thị của ảnh đã được đề xuất bởi Jing và các đồng nghiệp [35]. Phương pháp của Jing sử dụng độ đo tương đồng giữa các bức ảnh để xây dựng một đồ thị tương đồng và dựa trên thuật toán PageRank để tính hạng cho các bức ảnh. Theo hướng tiếp cận này [34], [29] cũng có một số đề xuất để cải tiến thuật toán mà Jing đưa ra. Một kỹ thuật khác là xây dựng các cụm các bức ảnh và sau đó sử dụng độ tương đồng trong cùng một cụm hoặc trung tâm cụm để tìm ảnh nổi bật nhất [27] [32]. Nghiên cứu của Berg mở rộng ý tưởng phân cụm bằng cách tìm các ảnh mà có một đối tượng nổi bật rõ ràng và vì thế có nhiều khả năng đại diện nhất. Ngoài ra còn một số hướng tiếp cận theo hướng người dùng [38] hoặc học bán giám sát [17]. Các phương pháp này thường kết hợp cả các đặc trưng về văn bản của ảnh. Chương này sẽ tập trung giới thiệu chi tiết hơn một số thuật toán phổ biến xếp hạng ảnh dựa trên nội dung hiển thị. 2.2. VisualRank VisualRank là thuật toán tính hạng ảnh dựa vào việc phân tích độ tương đồng về nội dung giữa các bức ảnh do Yushi Jing và các đồng nghiệp [39] đề xuất. Phương pháp mà Jing đưa ra lấy tư tưởng cơ bản từ thuật toán phân tích liên kết PageRank. Cũng giống như PageRank, thuật toán VisualRank sử dụng lý thuyết đồ thị để xây dựng đồ thị ảnh và dùng vector đặc trưng trung tâm để tính hạng cho các ảnh. Với nhận định trực quan rằng, nếu một người dùng xem một bức ảnh, thì người đó cũng có thể quan tâm đến các ảnh khác gần giống với ảnh vừa xem. Nghĩa là nếu giữa các ảnh có các liên kết biểu thị sự giống nhau giữa các ảnh đó thì sẽ có một xác suất nào đó để người dùng khi xem ảnh này sẽ chuyển sang xem một ảnh gần giống với nó. 24 Xây dựng đồ thị từ tập dữ liệu ảnh với các đỉnh của đồ thị biểu diễn các ảnh tương ứng trong tập dữ liệu. Các đỉnh được nối với nhau bởi các cạnh có trọng số là độ tương đồng giữa hai ảnh mà được biểu diễn bởi hai đỉnh của cạnh đó. Các cạnh này được gọi là các liên kết trực quan (visual hyperlinks) giữa các bức ảnh. VisualRank sử dụng quá trình duyệt ngẫu nhiên để xếp hạng các ảnh dựa vào các liên kết này. Nếu một ảnh u có liên kết tới ảnh v, thì sẽ có một xác suất để người dùng chuyển từ u sang v. Một cách trực quan ta có thể thấy các ảnh phù hợp với truy vấn sẽ có nhiều ảnh khác trỏ tới và do đó chúng sẽ được thăm thường xuyên. Các ảnh được thăm thường xuyên thường được cho là quan trọng. Hơn nữa, nếu một ảnh v là quan trọng và nó có liên kết tới ảnh w, thì nó sẽ gộp độ quan trọng của nó cho độ quan trọng của w vì bản thân v là quan trọng. VisualRank được định nghĩa như sau: ܸܴ = ܵ∗ × ܸܴ (2.1) Trong đó, ܵ∗ là ma trận cắt giảm theo cột của ma trận ܵ, với ܵ௨,௩ là độ tương đồng giữa hai ảnh u và v. Việc lặp đi lặp lại phép nhân VR với ܵ∗ sẽ thu được vector đặc trưng của ma trận ܵ∗. Mặc dù VR có kết quả cố định, nhưng theo thực nghiệm, nó có thể được ước lượng một cách hiệu quả hơn qua phương pháp tiếp cận lặp. Hình 4. Một minh họa về đồ thị độ tương đồng của ảnh 25 VisualRank hội tụ chỉ khi ma trận ܵ∗ là không tuần hoàn và tối giản. Cũng giống như PageRank, Jing đưa vào VisualRank một thừa số hãm d để đảm bảo đồ thị ảnh là đồ thị liên kết mạnh. Jing cũng chỉ ra rằng, ma trận tương đồng S cũng có thể là ma trận đối xứng. Trong trường hợp đó, sự xuất hiện của thừa số hãm có thể làm mất tính đối xứng của ma trận này. Với tập n ảnh, VisualRank được định nghĩa lại theo công thức sau: ܸܴ = ݀ܵ∗ × ܸܴ + (1− ݀)݌ ݒớ݅ ݌ = ൤1݊൨ ௡×ଵ (2.2) Trong thực nghiệm, d thường được chọn giá trị d > 0.8. Một độ đo tin cậy của độ tương đồng là yếu tố quyết định tới tính hiệu quả của VisualRank bởi vì nó ảnh hưởng rất lớn tới cấu trúc của đồ thị. Qua phân tích các đặc tính của ảnh, Jing cho rằng các đặc tính cục bộ của ảnh giàu thông tin hơn và vẫn giữ được tính ổn định khi qua các phép biến đổi khác nhau. Vì thế, trong nghiên cứu của mình [39] chọn đặc trưng SIFT [24] [25] và biểu đồ hướng làm đặc trưng cho các đặc tính của ảnh. Ma trận tương đồng được xây dựng từ độ tương đồng của các cặp ảnh trong toàn bộ dữ liệu ảnh. Độ tương đồng của mỗi cặp ảnh có thể là số các thuộc tính cục bộ phù hợp của cặp ảnh đó. Với khối lượng ảnh khổng lồ trên Web hiện nay, lượng kết quả trả về của máy tìm kiếm ảnh đối với một truy vấn là rất lớn. Nhận thấy rằng việc tính toán để tạo ra đồ thị tương đồng S cho hàng tỉ bức ảnh là không thể, trong thực tế thi hành VisualRank, Jing đề xuất phương pháp tiền phân cụm các ảnh Web dựa trên việc sử dụng các thuộc tính văn bản của ảnh để giảm bớt tập ảnh đầu vào. Việc này có thể thực hiện thông qua các máy tìm kiếm thương mại bằng cách trích rút tập N ảnh trả về đầu tiên khi truy vấn vào các máy tìm kiếm thương mại thông thường, sau đó tiến hành xây dựng đồ thị tương đồng và tính VisualRank chỉ trên tập con N ảnh này. Thuật toán VisualRank trình bày một kỹ thuật đơn giản để kết hợp các lợi điểm trong việc sử dụng liên kết và phân tích mạng cho tìm kiếm trang Web vào tìm kiếm ảnh. Thuật toán đã được các tác giả thử nghiệm và cho kết quả tốt hơn kết quả xếp hạng của máy tìm kiếm ảnh Google trong phần lớn các truy vấn trong khi vẫn duy trì được hiệu quả tính toán hợp lý cho việc triển khai quy mô lớn. 26 2.3. Multiclass VisualRank Multiclass VisualRank là thuật toán xếp hạng ảnh mở rộng ý tưởng từ phương pháp VisualRank của Yushi Jing [39] để xếp hạng ảnh cho nhiều phân loại ảnh, do Misur Ambai và Yuichi Yoshida [29] đề xuất. Multiclass VisualRank chia các ảnh được trả về từ máy tìm kiếm thành những phân loại khác nhau dựa vào các đặc trưng nội dung của ảnh và tiến hành xếp hạng trong từng phân loại đó. Multiclass VisualRank gồm ba bước sau: o Tính độ tương đồng về nội dung ảnh: Cũng giống như phương pháp VisualRank, Ambai sử dụng giải thuật SIFT để tính độ tương đồng ݓ௜,௝ giữa hai ảnh ܫ௜ , ܫ௝ . Thuật toán VisualRank nguyên thủy sử dụng tỉ số ܥ௜௝ là số các key points chung giữa hai ảnh ܫ௜ và ܫ௝ chia cho số key points trung bình lấy được từ ܫ௜ , ܫ௝ làm độ đo tương đồng giữa hai ảnh đó. Tuy nhiên, các máy tìm kiếm ảnh thường trả về cùng một tập ảnh đối với cùng một truy vấn. Trong trường hợp này, giá trị ܥ௜௝ trở nên quá lớn so với các độ đo tương đồng khác, và có thể làm cho kết quả phân cụm không còn chính xác. Do đó, phương pháp Multiclass VisualRank áp dụng một hàm xích ma vào ܥ௜௝ để làm giảm các giá trị lớn. o Phân cụm: Bước này tiến hành phân tập các ảnh thành các phân loại khác nhau dựa vào việc phân cụm các độ đo tương đồng. Nhận thấy rằng, các ảnh càng gần giống nhau thì độ đo tương đồng càng lớn và đồ thị tương đồng chứa một số cụm ứng với các phân loại ảnh khác nhau. Do đó, [29] sử dụng kỹ thuật Nomarlized cut để phân cụm các bức ảnh trong tập dữ liệu bằng cách phân cụm các độ đo tương đồng trong ma trận tương đồng. Công thức phân cụm được tính như sau: (ܦ −ܹ)ݒ = λܦݒ (2.3) Với W là một ma trận kề có các phần tử là các độ đo tương đồng ݓ௜௝, D là một ma trận chéo, λ là giá trị riêng và ݒ là vector riêng. 27 Hình 5. Biến đổi ma trận kề o Tính hạng: Tương tự như phương pháp của Jing, Wang cũng sử dụng PageRank để tính hạng cho các ảnh: ݎ ← (1 − ߙ)ܹݎ + ߙ݌ (2.4) Với ݎ = (ݎଵ, … , ݎே)் là vector tính hạng của các ảnh, ߙ là thừa số hãm. Bởi vì các ảnh được chia thành các phân loại, điểm số tính hạng của một ảnh thuộc phân loại này không bị ảnh hưởng bởi điểm số tính hạng của các ảnh trong phân loại khác. Do đó, ta có thể bỏ đi độ đo tương đồng giữa các phân loại khác nhau, tức là bỏ đi liên kết giữa các ảnh thuộc về các phân loại khác nhau. Khi đó, ma trận kề W được sửa đổi như sau: ݓ௜௝ ᇱ = ቊݓ௜௝ ݊ếݑ ܫ௜ ݒà ܫ௝ ݐℎݑộܿ ݒề ܿù݊݃ ݉ộݐ ݌ℎâ݊ ݈݋ạ݅0 ݊݃ượܿ ݈ạ݅ (2.5) Bằng cách biến đổi ma trận kề W thành ma trận ܹᇱ, công việc tính toán đã được giảm đi đáng kể. Việc loại bỏ độ đo tương đồng giữa các ảnh thuộc về các phân loại khác nhau làm cho mỗi ảnh trong một phân loại càng giống với đại diện của phân loại đó thì có thứ hạng càng cao. Trong thực nghiệm, Multiclass VisualRank cho kết quả xếp hạng tốt với độ chính xác xấp xỉ bằng độ chính xác của VisualRank. Độ chính xác của 10 ảnh được xếp hạng đầu tiên bằng thuật toán Multiclass VisualRank là 0.949 trong khi đó độ chính xác của VisualRank là 0.953 [35]. Bỏ đi trọng số giữa các phân loại ảnh khác nhau 28 Hình 6. Kết quả xếp hạng của 3 phương pháp với truy vấn “Notre Dame” 2.4. Visual contextRank Phần trên đã trình bày một phương pháp xếp hạng ảnh khá hiệu quả được đề xuất bởi Jing và các đồng nghiệp, phương pháp này tiến hành xây dựng ma trận tương đồng của 1000 ảnh và sử dụng VisualRank để tính hạng cho mỗi bức ảnh. Tuy nhiên, phương pháp của Jing coi các đặc tính cục bộ có độ quan trọng là như nhau và không quan tâm đến các thông tin về ngữ cảnh. Do đó có thể sẽ gây ra nhiều sai sót trong việc tính độ tương đồng giữa các bức ảnh. Một phương pháp xếp hạng ảnh được trình bày dưới đây sử dụng thông tin ngữ cảnh để khắc phục các vấn đề trên. ContextRank là phương pháp do Shuhui Wang và các đồng nghiệp [34] đề xuất, sử dụng quá trình duyệt ngẫu nhiên Markov giữa các visual words1 trong cùng một ảnh và giữa các ảnh với nhau nhằm xếp hạng lại (re-ranking) các ảnh là kết quả trả về từ một máy tìm kiếm ảnh thương mại. Wang đưa ra hai giả định: i. Có thể di chuyển giữa các visual word lân cận nhau trong cùng một ảnh. ii. Có thể di chuyển từ một visual word A trong ảnh i tới visual word B trong ảnh j nếu tồn tại một liên kết giữa hai visual word này. 1 visual word: là một chỉ mục mô tả mẫu của một phân cụm các mô tả thuộc tính cục bộ của ảnh [33] 29 Phương pháp ContextRank coi mỗi visual word là một trạng thái trong không gian trạng thái Markov. Quá trình duyệt qua các visual word là sự chuyển trạng thái từ trạng thái hiện tại r đến trạng thái kết thúc s. Hình 7. Mô hình xếp hạng ảnh sử dụng thuật toán ContextRank Mô hình xếp hạng ContextRank mà Wang và các đồng nghiệp đề xuất gồm các thành phần như sau: o Chuẩn bị dữ liệu: Với đầu vào là một chuỗi truy vấn dạng từ khóa, ContextRank đưa chuỗi truy vấn này vào các máy tìm kiếm ảnh theo các thuộc tính văn bản của ảnh. Sau đó tiến hành trích rút N kết quả trả về đầu tiên từ máy tìm kiếm để thực hiện xếp hạng lại cho N ảnh này. o Mô hình ngữ cảnh nội ảnh (Intra-image Context Modeling): Thành phần này thực hiện việc xây dựng liên kết giữa các visual word trong cùng một ảnh với tập N ảnh lấy được từ dữ liệu. o Mô hình ngữ cảnh ngoại ảnh (Inter-image Context Modeling): Thành phần này thực hiện việc xây dựng liên kết giữa các visual word trong các ảnh khác nhau trong tập N ảnh. o Kết hợp ngữ cảnh nội ảnh (intra-image context) với ngữ cảnh ngoại ảnh (inter- image context) và dùng lý thuyết đồ thị duyệt ngẫu nhiên để mô hình hóa mối 30 quan hệ nội ảnh (intra-image) và ngoại ảnh (inter-image) của các visual word. Từ đó tiến hành tính hạng lại cho ảnh dựa vào điểm số (score) của các visual word trong một ảnh. Hạng của ảnh được tính theo phương pháp ContextRank như sau: Cho trước một tập từ vựng trực quan (visual vocabulary) với K visual keywords. Mỗi thuộc tính cục bộ của ảnh được gán một chỉ mục visual word. Với một tập chứa N ảnh kết quả trả về đầu tiên thu được từ các máy tìm kiếm ảnh dựa trên văn bản, biểu diễn các visual word trong tập N ảnh như một đồ thị, mỗi visual word xuất hiện trong mỗi ảnh được xem như là một đỉnh của đồ thị. Gọi ௜ܸ,௠ với ݅ = 1, …ܰ; ݉ = 1, …ܭ là biểu diễn của một đỉnh. Vậy ta có tất cả ܭ × ܰ đỉnh. Mục đích của thuật toán là tìm điểm số ߨ( ௠ܸ,௜) của visual word thứ m trong ảnh i. Biểu diễn đồ thị các visual word bởi ma trận chuyển P, ߨ = {ߨ( ௜ܸ,௠)},∑ ߨ( ௜ܸ,௠)௜,௠ , ݅ = 1, …ܰ; ݉ = 1, …ܭ, ߨ là vector riêng của ma trận P với giá trị riêng bằng 1, mỗi phần tử của ߨ là điểm số của một visual word. ߨ được tính theo công thức: ߨ = ܲߨ (2.6) Do tính chất của chuỗi Markov, để tính vector riêng của P, đồ thị visual word phải là liên thông, tức là với cặp hai visual word i, j bất kì luôn có đường đi từ i tới j và ngược lại. Tuy nhiên, vẫn tồn tại không ít các visual word không có liên kết đến các visual word khác. Vì vậy cần phải biến đổi ma trận P để tránh việc khi duyệt các đỉnh không có liên kết sẽ không duyệt được tiếp. Hơn nữa, để đảm bảo tính phân phối dừng ổn định (duy nhất) của ߨ, tức là từ một đỉnh trong quá trình duyệt có thể chuyển tới một đỉnh bất kỳ khác, thì cần phải thêm một nhân tố hãm. Công thức (2.6) được viết lại như sau: ߨ = ߙܲߨ+ (1− ߙ)ܦ (2.7) Trong đó: ߙ là hệ số hãm. Trong thực tế ߙ thường được chọn giá trị 0.8. D là vector ܭܰ × 1 với tổng các phần tử bằng 1. D có thể được tính theo công thức: 31 ܦ[(݅ − 1) × ܭ +݉] = ቐ ܫܵ(݅)݊ݑ݉௡௭(௠) ݊ếݑ ݒݓ(݉) ⊂ ݅݉݃(݅)0 ݊݃ượܿ ݈ạ݅ (2.8) IS(i) là điểm số khởi tạo của ảnh i, num_nz(m) là số visual word với tần số không bằng 0. Nhận thấy rằng P là ma trận rất thưa, phép nhân với các phần tử bằng 0 trong P là rất đơn giản. Vì thế ta có thể chia P thành các ma trận con. Mỗi ma trận con là một ma trận dịch chuyển của các visual words trong ảnh i và các visual words trong ảnh j. Gọi ܤ௜,௝ là biểu diễn của ma trận con nói trên. P được tổ chức lại thành hai ma trận con: ܲ = ܾܩ + (1 − ܾ)ܥ (2.9) G là một ma trận bao gồm các ma trận con ܤ௜,௜ , ݅ = 1, …ܰ và tất cả các ma trận con khác bằng 0. C là một ma trận bao gồm các ma trận con ܤ௜,௜ , ݅ = 1, …ܰ bằng 0 và tất cả các ma trận con khác khác 0. G đánh giá xác suất dịch chuyển của các visual word trong cùng một ảnh còn C đánh giá cho các visual word trong các ảnh khác nhau. Tham số b là nhân tố trọng số. Sau khi đã tính được vector riêng ߨ của các visual words trong mỗi ảnh, hạng của ảnh i được tính theo công thức: ܴ(݅) =෍ ߨ௄ ௠ୀଵ ൫ ௜ܸ,௠൯, ݅ = 1, …ܰ (2.10) Với ߨ( ௜ܸ,௠) là điểm số của visual word thứ m trong ảnh i. Đối với các visual keyword mà không tồn tại trong ảnh i thì ߨ൫ ௜ܸ,௠൯ = 0. 32 Hình 8. Một ví dụ về biểu diễn visual words Trong thực nghiệm, Wang trích xuất khoảng 200 đặc trưng SIFT cho mỗi bức ảnh và sử dụng một tập khoảng 400 từ vựng để tính toán. Thuật toán được áp dụng thử nghiệm cho hai tập dữ liệu khác nhau và đã cho kết quả tốt hơn đáng kể đối với phương pháp VisualRank trong việc xếp hạng lại ảnh. 2.5. Nhận xét Qua tìm hiểu các phương pháp xếp hạng ảnh ở trên, tôi nhận thấy các phương pháp này đều áp dụng kỹ thuật phân tích liên kết để phân tích mối quan hệ giữa các ảnh dựa vào đặc trưng hiển thị. Các phương pháp này là khá đơn giản và cho kết quả xếp hạng khả quan. Tuy nhiên, các phương pháp nói trên đều chỉ dựa vào nội dụng hiển thị của ảnh mà không quan tâm đến các dữ liệu dạng văn bản đi kèm với ảnh. Vì các dữ liệu văn bản này là do người dùng tạo ra nên chúng đều có một ý nghĩa nhất định đối với nội dung hiển thị của ảnh. Sự thành công của các máy tìm kiếm ảnh dựa trên văn bản đã khẳng định điều đó. Hơn nữa, những thành tựu trong lĩnh vực phân tích và xử lý văn bản đã mang lại nhiều thuận lợi trong việc tính độ tương đồng giữa các văn bản. Dựa vào những ưu điểm, nhược điểm trên, đối với khóa luận này, tôi quyết định sử dụng phương pháp xếp hạng ảnh áp dụng thuật toán VisualRank cho cả đặc trưng hiển thị và đặc trưng văn bản của ảnh mà đã được đề xuất trong báo cáo công trình nghiên cứu khoa học sinh viên của chúng tôi. Tóm tắt chương hai Trong chương hai, khóa luận đã giới thiệu chi tiết một số phương pháp xếp hạng ảnh điển hình dựa trên nội dung hiển thị. Đồng thời, chương này cũng đã đưa ra được một số nhận xét về ưu điểm, nhược điểm của các phương pháp này và đưa ra phương pháp xếp hạng ảnh kết hợp giữa nội dung hiển thị và dữ liệu văn bản đi kèm với ảnh sẽ 33 được sử dụng trong phần thực nghiệm của khóa luận. Trong chương tiếp theo, khóa luận sẽ giới thiệu mô hình chung của máy tìm kiếm lớp trên và một mô hình máy tìm kiếm ảnh lớp trên, đồng thời trình bày một số vấn đề trong việc xếp hạng ảnh trong máy tìm kiếm ảnh lớp trên. 34 Chương 3. Mô hình máy tìm kiếm ảnh lớp trên Meta-search engine (tạm dịch là máy tìm kiếm lớp trên) [18] [28] là một máy tìm kiếm mà tìm kiếm thông tin dựa trên các máy tìm kiếm khác. Với mỗi truy vấn của người dùng, máy tìm kiếm lớp trên sẽ chuyển nó đến các máy tìm kiếm khác (gọi là các máy tìm kiếm nguồn) và sau đó xử lý kết quả trả về từ các máy tìm kiếm này trước khi đưa ra kết quả cho người dùng trên một giao diện duy nhất. Máy tìm kiếm lớp trên chủ yếu được sử dụng để mở rộng vùng tìm kiếm nhờ việc sử dụng kết quả tìm kiếm từ nhiều nguồn dữ liệu của các máy tìm kiếm khác nhau, giúp tăng cơ hội cho người dùng tìm được thông tin mong muốn. Chương này sẽ trình bày về kiến trúc chung của máy tìm kiếm lớp trên, đồng thời giới thiệu một mô hình máy tìm kiếm ảnh lớp trên và sau đó sẽ giới thiệu sơ bộ về vấn đề xếp hạng ảnh trong máy tìm kiếm ảnh lớp trên. 3.1. Kiến trúc chung của máy tìm kiếm lớp trên Hình 9. Kiến trúc của một máy tìm kiếm lớp trên điển hình [18] Kiến trúc của một máy tìm kiếm Web lớp trên cũng gần giống với kiến trúc của một máy tìm kiếm Web thông thường [18]. Sự khác biệt cơ bản đó là máy tìm kiếm lớp trên không có thành phần cơ sở dữ liệu để lưu trữ các trang Web như máy tìm kiếm Web thông thường. Thay vào đó là một cơ sở dữ liệu ảo bao gồm: bộ điều vận (dispatcher), các máy tìm kiếm thông thường khác, và một bộ xử lý kết quả (result processor). Một máy tìm kiếm lớp trên bao gồm bốn thành phần chính: giao diện người dùng (user interface), bộ điều vận (dispatcher), bộ xử lý kết quả (result processor), và mô đun tính hạng (scoring module). 35 3.1.1. Giao diện người dùng Giao diện người dùng là bộ phận nhận truy vấn đầu vào của người dùng và hiển thị kết quả đầu ra. Giao diện thường là một trang Web có hộp thoại nhận các mô tả về thông tin mà người dùng cần tìm kiếm. Một máy tìm kiếm lớp trên thường có một số tùy chọn như là chọn danh sách các máy tìm kiếm mà máy tìm kiếm lớp trên sẽ lấy dữ liệu từ đó từ một danh sách các máy tìm kiếm thông thường cho trước, thiết lập độ sâu tìm kiếm, thời gian tìm kiếm…Một trong những hạn chế của máy tìm kiếm lớp trên là thời gian kiếm thường chậm vì phải chờ kết quả trả về từ các máy tìm kiếm khác. Nếu một máy tìm kiếm lớp trên gửi truy vấn đến càng nhiều máy tìm kiếm thì tốc độ của nó càng chậm. 3.1.2. Bộ điều vận Bộ điều vận của máy tìm kiếm lớp trên gần giống với bộ xử lý truy vấn của máy tìm kiếm thông thường. Bộ xử lý truy vấn tạo ra các truy vấn đến cơ sở dữ liệu dựa trên các truy vấn đầu vào còn bộ điều vận thì tạo ra các truy vấn đến máy tìm kiếm thông thường từ truy vấn của người dùng. Một bộ điều vận phải xác định được các máy tìm kiếm mà nó sẽ truy vấn và làm thế nào để truy vấn trên chúng. Hình 10. Một thiết kế của bộ điều vận [18] Một bộ điều vận có thể bao gồm bốn thành phần: Source Selector: Thành phần này sẽ lựa chọn các máy tìm kiếm thông thường để truy vấn trên nó. Nếu bộ điều vận gửi yêu cầu đến quá nhiều máy tìm kiếm thì có thể sẽ làm quá tải tài nguyên mạng và do đó sẽ mất nhiều thời gian để hoàn tất công việc tìm kiếm. Việc quyết định gửi yêu cầu đến máy tìm kiếm nào là rất quan trọng, bởi vì mỗi máy tìm kiếm khác nhau sẽ cho tập dữ liệu khác nhau và sẽ ảnh hưởng đến kết quả tìm kiếm của máy tìm kiếm lớp trên. Nếu máy tìm kiếm X cho kết quả trả về quá tốt, hơn hẳn máy tìm kiếm Y và Z, thì máy tìm kiếm lớp trên kết hợp cả ba máy này 36 chưa chắc đã có kết quả tìm kiếm tốt hơn kết quả của X. Tuy nhiên, nếu kết hợp các kết quả của các máy tìm kiếm khác không quá tốt lại có thể giúp cho kết quả tốt hơn. Query Generator: thực hiện việc sửa đổi các truy vấn sao cho phù hợp với mỗi máy tìm kiếm nguồn. Mỗi máy tìm kiếm thường chỉ làm việc hiệu quả trên một số dạng truy vấn nhất định. Do đó, một truy vấn không thích hợp sẽ mang lại kết quả tìm kiếm không tốt. Request Generator: Thành phần tạo yêu cầu kết hợp truy vấn của người dùng với máy tìm kiếm nguồn được lựa chọn và lựa chọn truy vấn sửa đổi để tạo một yêu cầu hợp lệ. Request Submitter: Thành phần này nhận các yêu cầu từ request generator và thực thi chúng. Request submitter phải tương tác với các giao thức cấp thấp và đảm bảo rằng các lỗi xảy ra được ghi lại một cách thích hợp. 3.1.3. Bộ xử lý kết quả Bộ xử lý kết quả của một máy tìm kiếm lớp trên nhận kết quả tìm kiếm của các máy tìm kiếm thông thường và xử lý chúng để chuyển sang cho mô đun tính hạng. Các kết quả gửi tới mô đun tính hạng từ bộ xử lý kết quả cũng giống với các kết quả nhận được từ cơ sở dữ liệu trong máy tìm kiếm thông thường. Bộ xử lý kết quả nhận các hồi đáp từ máy tìm kiếm và trích xuất chúng từ các kết quả đơn lẻ. Trang phản hồi từ một máy tìm kiếm chỉ chứa thông tin tối thiểu về mỗi kết quả. Và thông tin được cung cấp trong đầu ra của các máy tìm kiếm khác nhau cũng rất đa dạng, theo nghĩa mỗi máy tìm kiếm có một dạng đầu ra khác nhau. Ví dụ một máy tìm kiếm có thể cung cấp tên, địa chỉ URL, bản tóm tắt, trong khi một máy tìm kiếm khác có thể cung cấp tên, ngày tháng, địa chỉ URL, ngữ cảnh của truy vấn…. Cùng một trang Web được trả về từ hai máy tìm kiếm khác nhau có thể trông sẽ khác nhau. Một bộ xử lý kết quả tiên tiến có thể thực hiện hành động thu thập thông tin để bổ sung thêm dữ liệu vào mỗi kết quả nhằm làm giàu cho dữ liệu. Hơn nữa, trong các kết quả trả về từ các máy tìm kiếm nguồn khác nhau có thể có những kết quả giống nhau. Vì vậy, bộ xử lý kết quả cần phải nhận biết các kết quả trùng lặp này và loại bỏ bớt những kết quả thừa, chỉ giữ lại một kết quả duy nhất. 3.1.4. Mô đun tính hạng Cũng giống như mô đun tính hạng trong các máy tìm kiếm thông thường, mô đun tính hạng của một máy tìm kiếm lớp trên thực hiện việc tính hạng cho mỗi kết quả 37 trong nguồn dữ liệu nhận được từ bộ xử lý kết quả. Máy tìm kiếm lớp trên cần phải có các thuật toán hiệu quả để có thể hiểu được đâu là kết quả phù hợp nhất với người dùng trong tập hợp kết quả tìm kiếm từ nhiều nguồn khác nhau, từ đó trả về kết quả theo thứ tự xếp hạng mới. Không giống như các máy tìm kiếm thông thường, máy tìm kiếm lớp trên bị giới hạn thông tin về các kết quả nhận được. Sự thiếu thốn thông tin này làm cho việc tính hạng trở nên khó khăn hơn. 3.2. Mô hình máy tìm kiếm ảnh lớp trên MetaSEEk Trong những năm gần đây, cùng với sự phát triển không ngừng của các dịch vụ trên Internet, các máy tìm kiếm mới ra đời ngày càng nhiều với chức năng ngày càng phong phú và đa dạng. Đặc biệt trong đó có sự ra đời của các máy tìm kiếm lớp trên. Một số máy tìm kiếm lớp trên điển hình phải kể đến như là: Google CSE, Helios, Dogpile, VisualSEEk, WebSEEk, MetaSEEk, …. Trong đó MetaSEEk [11] là một máy tìm kiếm lớp trên chuyên tìm kiếm các ảnh trên Web dựa vào nội dung của ảnh. Phần này sẽ tập trung trình bày mô hình của máy tìm kiếm ảnh lớp trên MetaSEEk. Hình 11. Kiến trúc tổng thể của MetaSEEk [11] 38 Cũng giống như các máy tìm kiếm lớp trên khác, mô hình của MetaSEEk gồm có ba thành phần chính: bộ dịch truy vấn (query translator), bộ điều vận (query dispatcher) và giao diện hiển thị (display interface). Khi nhận được một câu truy vấn từ phía người dùng, bộ điều vận sẽ chọn các máy tìm kiếm nguồn thích hợp dựa trên cơ sở dữ liệu về khả năng thực thi của từng truy vấn đã thực hiện trước đó. Cơ sở dữ liệu này chứa các điểm số chỉ ra khả năng thực thi tốt hay kém của từng truy vấn trong quá khứ đối với mỗi tùy chọn tìm kiếm. Các điểm số này được gọi là các điểm số hiệu năng (performance score) của các tùy chọn tìm kiếm đối với mỗi truy vấn, và cơ sở dữ liệu chứa các điểm số như vậy được gọi là cơ sở dữ liệu hiệu năng (performance database). Sau khi đã chọn được các máy tìm kiếm nguồn, bộ dịch truy vấn chuyển các truy vấn sang dạng thích hợp và gửi tới các máy tìm kiếm nguồn đã được chọn. Cuối cùng, thành phần hiển thị kết hợp và xếp hạng lại các kết quả nhận được từ các máy tìm kiếm và hiển thị cho người dùng. MetaSEEk đánh giá chất lượng của các kết quả trả về bởi mỗi tùy chọn tìm kiếm dựa trên các phản hồi từ phía người sử dụng. 3.2.1. Truy vấn trực quan dựa trên nội dung Như đã nói ở các chương trước, đầu vào của một máy tìm kiếm ảnh có thể là một từ khóa hay một bức ảnh. Người sử dụng có thể đưa vào máy tìm kiếm ảnh một truy vấn có dạng là một ảnh được lấy từ một tập ảnh mẫu ngẫu nhiên hoặc từ một tập các ảnh trả về bởi một truy vấn dạng từ khóa, hoặc truy vấn có thể là một URL của một ảnh trên Web. Các truy vấn có dạng như vậy được gọi là các truy vấn trực quan dựa trên nội dung (Content-based visual query). Với truy vấn là một ảnh, máy tìm kiếm tính toán các đặc trưng của ảnh đầu vào này và sử dụng các đặc trưng này để tìm các ảnh gần giống với ảnh truy vấn nhất trong cơ sở dữ liệu. Tìm kiếm ảnh dựa trên từ khóa có thể được sử dụng để phân nhóm các ảnh theo chủ để và do đó làm giảm phạm vi tìm kiếm. Để có thể xử lý hiệu quả các truy vấn trực quan trong cơ sở dữ liệu ảnh lớn, các máy tìm kiếm cũng cần phải sử dụng các kỹ thuật phân cụm và đánh chỉ mục trên các vector đặc trưng của ảnh. 3.2.2. Giao diện truy vấn MetaSEEk tìm kiếm ảnh dựa trên bốn máy tìm kiếm nguồn là: VisualSEEk, WebSEEk, QBIC, và Virage. Mỗi máy tìm kiếm nguồn đều có các tính năng cũng như các hạn chế riêng. VisualSEEk, QBIC và Virage cung cấp các phương thức cho việc tìm kiếm ảnh số dựa trên các đặc trưng trực quan bằng việc sử dụng các mẫu. QBIC và 39 VisualSEEk cho phép tùy chỉnh các tìm kiếm bằng việc sử dụng các phác thảo trực quan (ví dụ như chỉ định bảng màu) hoặc đưa vào một ảnh mẫu, trong khi đó Virage cho phép người dùng xác định trọng số độ quan trọng của mỗi đặc trưng trong tìm kiếm. Ngoài ra, QBIC còn cung cấp dịch vụ tìm kiếm ảnh dựa trên từ khóa. WebSEEk là một máy tìm kiếm và phân loại ảnh bán tự động. Nó hỗ trợ tìm kiếm cả dựa trên nội dung hiển thị và dựa trên văn bản, tuy nhiên MetaSEEk chỉ sử dụng khả năng tìm kiếm ảnh dựa trên văn bản của WebSEEk. Hình 12. Giao diện hiển thị của MetaSEEk MetaSEEk cung cấp giao diện cho phép tìm kiếm ảnh dựa trên cả nội dung hiển thị và từ khóa. Với truy vấn trực quan dựa trên nội dung hiển thị, người dùng có thể chọn bất kỳ ảnh mẫu nào từ các cơ sở dữ liệu được hỗ trợ, hoặc đưa vào một URL của một ảnh trên Web. Giao diện của MetaSEEk cho phép người dùng tùy chọn các đặc trưng để tìm kiếm. Hai đặc trưng có sẵn cho người dùng lựa chọn là: màu sắc và kết cấu. Người dùng có thể lựa chọn tìm kiếm ảnh dựa trên màu sắc hoặc dựa trên kết cấu hoặc dựa trên cả hai đặc trưng này. Như đã nói ở trên, với mỗi tùy chọn sẽ chỉ có một số máy tìm kiếm nguồn được sử dụng. Bộ điều vận nhận biết được khả năng tìm kiếm của mỗi cơ sở dữ liệu và sẽ quyết định gửi truy vấn tới các máy tìm kiếm nào. Ngoài ra, người sử dụng còn có thể chỉ định thời gian tìm kiếm tối đa, số lượng các tùy chọn tìm kiếm, và thể loại quan tâm. Người sử dụng cũng có thể điểu chỉnh số lượng các truy vấn được gửi đến các công cụ tìm kiếm riêng rẽ tùy thuộc vào tải mạng. 40 Trong thời gian lưu lượng mạng thấp, người sử dụng có thể làm tăng các truy vấn đồng thời. Việc chờ đợi trong một khoảng thời gian tối đa ngăn không cho hệ thống bị chậm trễ từ việc hồi đáp chậm trễ của các máy tìm kiếm nguồn. 3.2.3. Bộ điều vận Mỗi khi nhận được một truy vấn từ phía người dùng, bộ điều vận chọn các máy tìm kiếm nguồn và tùy chọn tìm kiếm nguồn để gửi câu truy vấn đến. Một tùy chọn tìm kiếm là một phương pháp truy vấn trên một công cụ tìm kiếm cụ thể. Ví dụ, một truy vấn gửi tới VisualSEEk yêu cầu tìm kiếm ảnh dựa trên kết cấu là một tùy chọn tìm kiếm. Bộ điều vận tạo quyết định dựa trên loại truy vấn được gửi đến máy tìm kiếm lớp trên và cơ sở dữ liệu chứa điểm số chỉ khả năng thực thi của các truy vấn trong quá khứ. Nếu người dùng yêu cầu một ảnh mẫu ngẫu nhiên hay một từ khóa truy vấn, hệ thống đơn giản chỉ đặt ra các câu hỏi tới các máy tìm kiếm mà hỗ trợ những hành động này (QBIC, Virage và VisualSEEk hỗ trợ truy vấn mẫu ngẫu nhiên, QBIC và WebSEEk hỗ trợ truy vấn dạng từ khóa). Với các truy vấn trực quan dựa trên nội dung, việc lựa chọn máy tìm kiếm nguồn là dựa trên cơ sở dữ liệu hiệu năng. Cơ sở dữ liệu này chứa điểm số chỉ ra thế nào là tốt hay thế nào là xấu với mỗi tùy chọn tìm kiếm đã được thực hiện trong quá khứ trên các máy tìm kiếm với mọi ảnh truy vấn. Một truy vấn trực quan được xác định bởi một ảnh, một nhóm các đặc trưng, và một chủ đề. Khi nhận được một truy vấn, MetaSEEk tìm kiếm trong cơ sở dữ liệu hiệu năng và tìm kiếm điểm số hiệu năng của ảnh truy vấn. Trong cấu trúc của cơ sở dữ liệu nói trên, mỗi hàng tương ứng với một truy vấn đã được thực hiện trước đó. Mỗi cột điểm số tương ứng với một tùy chọn tìm kiếm. Bộ điều vận sẽ quyết định chọn các tùy chọn tìm kiếm có điểm số cao nhất mà phù hợp với những yêu cầu của người dùng. MetaSEEk đánh giá chất lượng của các kết quả trả về của mỗi tùy chọn tìm kiếm dựa trên phản hồi của người dùng. Một thủ tục thăm dò tự động được thực hiện để thiết lập điểm số hiệu năng ban đầu nhằm xây dựng một cơ sở dữ liệu hiệu năng dựa trên một số mẫu huấn luyện. Đối với các truy vấn mới không có điểm số hiệu năng được ghi trong cơ sở dữ liệu, các tác giả đưa ra một giải pháp đơn giản nhất là chọn ngẫu nhiên một tùy chọn tìm kiếm để thực hiện truy vấn. Ngoài ra, hệ thống còn xét tới một hướng tiếp cận khác là liên hệ các truy vấn mới với các truy vấn trong quá khứ mà ta đã có thông tin về hiệu suất thực thi. Các ảnh trong cơ sở dữ liệu được phân thành các chủ đề dựa trên nội dung hiển thị của chúng. Mỗi chủ đề gồm các nhóm đặc trưng: màu sắc, kết cấu và 41 cả hai loại đặc trưng trên. Khi truy vấn của người dùng là một truy vấn mới, hệ thống tải ảnh về và kết hợp nó với các cụm tương ứng để nhận được một danh sách các cụm phù hợp nhất. Các ảnh được chọn từ một số cụm gần giống nhất sẽ được hiển thị cho người dùng. Bộ điều vận có thể chọn các máy tìm kiếm phù hợp dựa trên điểm số hiệu năng trung bình của cụm được chọn bởi người sử dụng. Cuối cùng, ảnh mới sẽ được lưu vào cơ sở dữ liệu để sử dụng cho những truy vấn lần sau. MetaSEEk sử dụng thuật toán phân cụm K-means để phân cụm các ảnh trong cơ sở dữ liệu. Cứ sau mỗi khi có 10 ảnh mới được lưu vào cơ sở dữ liệu thì hệ thống sẽ thực hiện thuật toán phân cụm. Màu sắc và kết cấu là các đặc trưng được sử dụng cho việc phân cụm. Phân loại theo chủ đề Hệ thống phân nhóm các ảnh theo chủ đề để ràng buộc phạm vi tìm kiếm. Cơ sở dữ liệu của các máy tìm kiếm nguồn thường có một số loại riêng biệt. Ví dụ, cơ sở dữ liệu của QBIC bao gồm phần lớn là ảnh về con người, trong khi đó cơ sở dữ liệu của Virage có nhiều thể loại khác. Nếu người dùng quan tâm tìm kiếm ảnh của một em bé, có nhiều khả năng QBIC sẽ mang lại kết quả thích hợp hơn trong thời gian ngắn hơn. Hệ thống tận dụng lợi thế của thực tế này bằng cách cung cấp khả năng tìm kiếm trong một phạm vi của một chủ đề cụ thể. Nếu người sử dụng chọn một chù đề cụ thể, thì người đó giả định rằng chỉ tìm kiếm các ảnh trong chủ đề đó. Cấu trúc cơ sở dữ liệu Cơ sở dữ liệu của MetaSEEk chứa các vector đặc trưng (màu sắc và kết cấu), điểm số hiệu suất, các phân cụm, và các chủ đề cho tất cả các ảnh mà đã được truy vấn trên MetaSEEk. Tất cả những thông tin này là cần thiết cho bộ điều vận trong việc lựa chọn các máy tìm kiếm thích hợp cho các truy vấn đầu vào. Cơ sở dữ liệu được tổ chức theo cấu trúc phân cấp. Đầu tiên các ảnh được phân loại theo chủ đề dựa trên ngữ nghĩa của chúng (ví dụ như loài vật, con người). Việc phân loại ảnh vào chủ đề nào là do người dùng thực hiện. Thuật toán K-means được sử dụng để phân cụm các ảnh trong mỗi chủ đề vào các lớp dựa trên các đặc trưng về màu sắc, kết cấu hoặc cả hai loại đặc trưng. 42 Hình 13. Cấu trúc phân cấp của cơ sở dữ liệu Tại tầng thấp nhất của cơ sở dữ liệu, mỗi ảnh có một bản ghi chứa thông tin như trong bảng 1. Trong đó cột bên trái là các tùy chọn tìm kiếm còn cột bên phải là điểm số tương ứng đối với mỗi tùy chọn. Các điểm số này được cập nhật mỗi khi ảnh đó được truy vấn dựa vào phản hồi của người sử dụng. Bảng 1. Ví dụ về bản ghi của một ảnh trong cơ sở dữ liệu 3.2.4. Thành phần hiển thị Mỗi khi các kết quả được lấy về từ các máy tìm kiếm nguồn, chúng được tổ chức lại và hiển thị cho người dùng bởi thành phần hiển thị. Quá trình này phụ thuộc vào truy vấn của người sử dụng: truy vấn là một ảnh mẫu ngẫu nhiên, hay truy vấn là từ 43 khóa hay là ảnh. Nếu truy vấn là một ảnh mẫu ngẫu nhiên hoặc là từ khóa thì các kết quả trả về từ các máy tìm kiếm nguồn sẽ được trộn lẫn và hiển thị cho người sử dụng một cách ngẫu nhiên. Trong trường hợp này, thứ tự hiển thị của các kết quả là không quan trọng. Đối với các truy vấn trực quan dựa trên nội dung, các ảnh được xếp hạng trước khi hiển thị cho người dùng. Tìm kiếm ảnh dựa trên nội dung hiển thị trả về một danh sách các ảnh được sắp xếp theo thứ tự gần giống nhất đối với ảnh truy vấn. MetaSEEk thực hiện việc xếp hạng những ảnh này bằng cách sử dụng điểm số hiệu năng trong cơ sở dữ liệu. Các ảnh được trả về bởi mỗi tùy chọn tìm kiếm sẽ được xen vào trước khi hiển thị chúng cho người sử dụng. Điểm số hiệu năng của ảnh truy vấn sẽ xác định thứ tự hiển thị và số các ảnh trong mỗi nhóm xen vào kết quả của mỗi tùy chọn tìm kiếm. Ví dụ, chúng ta giả sử rằng các ảnh nhận được từ hai tùy chọn tìm kiếm với điểm số hiệu năng là 2 và 1. Thành phần hiển thị sẽ hiển thị 2 ảnh từ tùy chọn tìm kiếm có điểm số là 2, và 1 ảnh từ tùy chọn tìm kiếm với điểm số là 1 cho đến khi tất cả các ảnh trả về được hiển thị hết. 3.2.5. Đánh giá Hệ thống tìm kiếm ảnh lớp trên MetaSEEk đã được các tác giả tiến hành một số thử nghiệm để đánh giá hiệu suất thực hiện của nó [11]. Các thử nghiệm này được thực hiện với các loại câu truy vấn khác nhau và với mỗi thử nghiệm thì được thực hiện hai lần để đánh giá sự cải thiện của việc sử dụng điểm số hiệu năng trong tìm kiếm. Sau đó các kết quả thực nghiệm cũng được so sánh với phiên bản trước của MetaSEEk (phiên bản không phân loại ảnh theo chủ đề) và với một máy tìm kiếm lớp trên không sử dụng việc đánh giá hiệu năng. Kết quả so sánh cho thấy rằng MetaSEEk có khả năng tìm kiếm tốt hơn hai hệ thống còn lại. Qua các kết quả thực nghiệm, ta thấy rằng hiệu suất của một hệ thống tìm kiếm lớp trên có thể được cải thiện rất nhiều nếu công cụ tìm kiếm tích hợp và lựa chọn thông minh bởi việc đánh giá hiệu năng cho các lớp truy vấn khác nhau và sử dụng phản hồi của người dùng trong việc xếp hạng các kết quả trả về. 3.3. Xếp hạng ảnh trong máy tìm kiếm ảnh lớp trên Sau khi nhận được các kết quả trả về từ các máy tìm kiếm nguồn, máy tìm kiếm lớp trên cần phải tổng hợp và sắp xếp các kết quả này thành một danh sách ảnh duy nhất và trả về cho người sử dụng. Danh sách này được sắp xếp theo thứ tự những ảnh phù hợp với 44 truy vấn của người dùng hơn thì có thứ hạng cao hơn. Việc sắp xếp các ảnh như vậy còn được gọi là xếp hạng lại. Tuy nhiên, việc xếp hạng lại các kết quả này là một thách thức lớn đối với máy tìm kiếm lớp trên bởi vì tính không đồng nhất giữa các máy tìm kiếm nguồn. Các kết quả nhận được từ mỗi máy tìm kiếm nguồn thường được xếp hạng dựa trên những đặc trưng khác nhau của ảnh. Một số máy tìm kiếm ảnh thông thường tìm kiếm và xếp hạng ảnh chỉ dựa trên các đặc trưng về văn bản của ảnh trong khi một số máy tìm kiếm khác tìm kiếm dựa vào các đặc trưng về nội dung hiển thị. Ví dụ Google Image Search, Yahoo Image Search và Bing tìm kiếm ảnh dựa trên văn bản trong khi Byo Image Search tìm kiếm ảnh dựa trên màu sắc còn Tiltomo thì tìm kiếm dựa trên màu sắc và kết cấu. Vì thế, tập các ảnh nhận được từ các máy tìm kiếm nguồn thường rất đa dạng. Do đó khó khăn ở đây là làm thế nào để tổng hợp các ảnh này trong một danh sách duy nhất và các ảnh được sắp xếp một cách hợp lý. Tuy nhiên, khó khăn này cũng chính là một lợi thế bởi vì các ảnh được trả về từ một máy tìm kiếm nguồn thường có xu hướng nhóm thành một cụm dựa theo đặc trưng tìm kiếm của máy tìm kiếm nguồn đó. Hơn nữa chúng ta còn có thể tận dụng được kết quả xếp hạng sẵn có của các ảnh này ở máy tìm kiếm nguồn. Một thách thức khác đối với việc xếp hạng trong máy tìm kiếm ảnh lớp trên chính là vấn đề thời gian. Bởi vì quá trình từ lúc nhận truy vấn của người dùng, gửi yêu cầu và nhận kết quả trả về từ các máy tìm kiếm nguồn, xếp hạng các kết quả nhận được đến lúc trả về một danh sách ảnh đã được sắp xếp cho người dùng là một quá trình được thực hiện trực tuyến nên các máy tìm kiếm ảnh lớp trên cần phải có các thuật toán xếp hạng hiệu quả, đảm bảo yêu cầu về mặt thời gian. Từ những phân tích về những khó khăn và thuận lợi ở trên, có một số phương pháp xếp hạng đã được áp dụng trong các máy tìm kiếm ảnh lớp trên. Một phương pháp đã được sử dụng trong máy tìm kiếm ảnh lớp trên MetaSEEk [11] là phân cụm các ảnh theo chủ đề và theo các đặc trưng hiển thị cùng với việc dựa vào các tùy chọn tìm kiếm và phản hồi của người dùng để tìm ra tập ảnh thích hợp nhất. Sau đó thứ hạng của một ảnh trong tập ảnh này được tính bằng cách kết hợp giữa thứ hạng của ảnh đó ở máy tìm kiếm nguồn với đánh giá về chất lượng của tập ảnh nhận được từ máy tìm kiếm nguồn mà chứa ảnh đó. Luo và các đồng nghiệp trong nghiên cứu về việc sử dụng các đặc trưng của ảnh [14] cũng đã đề xuất hai phương pháp xếp hạng dựa trên cả đặc trưng văn bản và đặc trưng hiển thị của ảnh. Một phương pháp là phân cụm các ảnh dựa trên các đặc trưng về màu sắc, hình dáng từ tập ảnh khởi tạo thu được từ các máy tìm kiếm chỉ dựa trên văn bản. Phương pháp thứ hai sử dụng phản hồi của người sử dụng để xếp hạng các ảnh. 45 Phương pháp này chọn ra một số ảnh mẫu từ các cụm (các cụm này có thể thu được từ việc tìm kiếm ảnh dựa trên văn bản) và hiển thị cho người dùng lựa chọn. Dựa vào mối quan tâm của người sử dụng, hệ thống tiến hành tìm các ảnh gần giống nhất với ảnh đã được lựa chọn và sắp xếp chúng theo thứ tự giảm dần về độ tương đồng. Nhận thấy lợi ích từ việc kết hợp giữa nội dung hiển thị và văn bản của ảnh, trong khóa luận này, tôi sử dụng thuật toán xếp hạng ảnh VisualRank cho cả hai đặc trưng trên của ảnh như đã được đề cập đến ở chương hai. Tuy nhiên, quan tâm đến vấn đề thời gian thực hiện thuật toán, tôi phân các câu truy vấn thành hai trạng thái: các truy vấn cũ và truy vấn mới. Truy vấn cũ là truy vấn đã được truy vấn ở máy tìm kiếm lớp trên. Truy vấn mới là truy vấn chưa gặp bao giờ hoặc không gần giống với câu truy vấn nào có trước. Đối với một truy vấn mới, tôi tiến hành xếp hạng chỉ dựa trên văn bản rồi trả về kết quả cho người dùng. Sau đó, tôi xếp hạng lại cho các ảnh này dựa trên cả văn bản và nội dung hiển thị để sử dụng cho lần tìm kiếm sau. Quá trình xếp hạng lại này được thực hiện ngoại tuyến. Vì tận dụng được lợi thế về mặt tốc độ của việc phân tích và xử lý văn bản nên thời gian đáp ứng của hệ thống luôn ở mức cho phép. Tóm tắt chương ba Khóa luận đã trình bày về mô hình chung máy tìm kiếm lớp trên, đồng thời giới thiệu chi tiết một mô hình máy tìm kiếm ảnh lớp trên và một số phương pháp xếp hạng ảnh trong máy tìm kiếm ảnh lớp trên. Trong chương này, tôi cũng đã đưa ra một cách giải quyết vấn đề thời gian xếp hạng trong máy tìm kiếm ảnh lớp trên. Trong chương tiếp theo, khóa luận sẽ giới thiệu một mô hình tìm kiếm ảnh lớp trên ứng dụng thuật toán xếp hạng ảnh đã được trình bày ở trên và những vấn đề liên quan đến việc thử nghiệm mô hình này. 46 Chương 4. Thử nghiệm 4.1. Mô hình thử nghiệm 4.1.1. Cách tiếp cận Quá trình khảo sát và đánh giá các phương pháp xếp hạng ảnh cho thấy thuật toán VisualRank [39] là một thuật toán xếp hạng ảnh đơn giản và cho hiệu quả khá cao. Tuy nhiên, cách làm của Jing là chỉ dựa trên độ tương đồng về nội dung hiển thị của ảnh. Một cách trực quan chúng ta có thể thấy rằng các ảnh có nội dung hiển thị gần giống nhau thì thường được người dùng đặt tên gần giống nhau, và các bình luận cũng thường về chủ đề mà nó hiển thị. Do đó có thể thấy rằng vùng văn bản đi kèm ảnh có thể mô tả được phần nào nội dung hiển thị của ảnh. Vì vậy, trong khóa luận này, tôi sử dụng thuật toán xếp hạng ảnh VisualRank cho cả đặc trưng hiển thị và đặc trưng văn bản của ảnh. Tuy nhiên, nhận thấy rằng đặc trưng hiển thị của ảnh vẫn phản ánh nội dung ảnh một cách chân thực nhất nên trong thực nghiệm các đặc trưng hiển thị vẫn được gán cho một trọng số cao hơn. Hơn nữa, Y.Jing và S.Baluja [40] chỉ ra rằng không thể tính ma trận tương đồng cho hàng tỉ bức ảnh trên web. Một cách giải quyết đơn giản là chỉ xây dựng ma trận tương đồng cho một tập N ảnh trả về đầu tiên của các máy tìm kiếm thương mại. Vì thế, tôi thực hiện áp dụng thuật toán VisulRank cho mô hình máy tìm kiếm ảnh lớp trên được đề xuất trong khóa luận. Mô hình mà khóa luận trình bày dưới đây sẽ tìm kiếm ảnh dựa trên một số máy tìm kiếm ảnh thông thường, sau đó trích xuất N ảnh trả về đầu tiên từ các máy tìm kiếm nguồn này và sử dụng thuật toán nói trên để xếp hạng lại cho chúng. Một nhược điểm lớn của việc xếp hạng dựa trên nội dung hiển thị của ảnh là thời gian tính hạng. Bởi vì việc tải các ảnh từ Web về, trích xuất các thành thành phần đặc trưng, xây dựng đồ thị tương đồng là tốn rất nhiều thời gian. Do đó, để có thể áp dụng thuật toán một cách hiệu quả vào máy tìm kiếm lớp trên, khóa luận sử dụng các cách xếp hạng khác nhau đối với mỗi trạng thái khác nhau của câu truy vấn người dùng. Câu truy vấn của người dùng được chia thành hai trạng thái: câu truy vấn mới và câu truy vấn cũ. Một câu truy vấn được xem là mới nếu nó chưa được bất kỳ người dùng nào truy vấn một lần nào trên máy tìm kiếm. Hay nói cách khác là câu truy vấn đó chưa có trong cơ sở dữ liệu. Ngược lại, câu truy là cũ nếu nó đã tồn tại trong cơ sở dữ liệu của máy tìm kiếm. Đối với câu truy vấn mới, máy tìm kiếm xếp hạng các ảnh chỉ dựa trên đặc trưng văn bản. Sau đó, máy tìm kiếm lưu câu truy vấn này vào cơ sở dữ liệu và tiến hành xếp hạng lại cho các 47 ảnh tìm được ứng với câu truy vấn dựa trên cả nội dung hiển thị và nội dung văn bản của ảnh để sử dụng cho các lần truy vấn sau. Với cách làm như vậy, máy tìm kiếm lớp trên luôn đảm bảo yêu cầu về mặt thời gian tìm kiếm cho người dùng. Để đảm bảo kết quả trả về cho người dùng luôn được cập nhật, sau một khoảng thời gian nhất định, máy tìm kiếm sẽ lấy tất cả các câu truy vấn đã có trong cơ sở dữ liệu và gửi đến các máy tìm kiếm nguồn để cập nhật cơ sở dữ liệu ảnh. Sau đó tiến hành tính hạng lại cho tập các ảnh này. Khi tính lại ma trận tương đồng cho các ảnh, để tối ưu hóa việc tính toán, ta chỉ tính ma trận tương đồng cho các ảnh mới tải về với nhau và cho các ảnh mới tải về với các ảnh đã sẵn có trong cơ sở dữ liệu. Sau đó kết hợp các ma trận này với ma trận tương đồng của các ảnh đã có từ trước thành một ma trận duy nhất. Như vậy, chúng ta đã tiết kiệm được thời gian tính ma trận tương đồng cho các ảnh đã có trong cơ sở dữ liệu. Khi số lượng câu truy vấn của người dùng là rất nhiều, việc lưu trữ các truy vấn trở thành một vấn đề cần phải được quan tâm. Nếu lưu trữ tất cả các câu truy vấn thì chi phí cho việc lưu trữ là rất lớn và việc xếp hạng lại cho tất cả các câu truy vấn có thể sẽ tốn quá nhiều thời gian và không thể kiểm soát nổi. Hơn nữa, việc lưu trữ mãi một câu truy vấn rất ít khi được sử dụng là không hiệu quả. Do đó, một giải pháp được đề ra là chỉ lưu các câu truy vấn được cho là phổ biến và cơ sở dữ liệu các câu truy vấn sẽ thường xuyên được làm mới. Có thể đặt ra một ngưỡng về số lần được sử dụng trong một khoảng thời gian của một câu truy vấn để xác định xem nó có là phổ biến hay không. Trong thời gian đầu, khi số lượng các câu truy vấn còn ít, tất cả các câu truy vấn có thể đều được coi là phổ biến. Nhằm mục đích hướng tới nhóm người dùng Việt Nam, mô hình máy tìm kiếm ảnh mà khóa luận đề xuất có tích hợp một bộ từ điển để hỗ trợ cho các truy vấn tiếng Việt. Với các truy vấn tiếng Việt, máy tìm kiếm sẽ dịch nó sang tiếng Anh rồi mới gửi đến các máy tìm kiếm nguồn. Với việc hỗ trợ cho cả truy vấn tiếng Việt và tiếng Anh, mô hình máy tìm kiếm ảnh mà khóa luận đề xuất là rất thân thiện với người dùng Việt Nam. Dưới đây là mô hình máy tìm kiếm ảnh lớp trên áp dụng phương pháp và các kỹ thuật đã được nêu ở trên. 4.1.2. Mô hình đề xuất và các thành phần trong mô hình  Đầu vào: Một truy vấn có dạng là một chuỗi các từ khóa.  Đầu ra: Một danh sách các ảnh đã được sắp xếp theo thứ tự giảm dần về độ phù hợp với truy vấn.  Mô hình đề xuất 48 Hình 14. Mô hình đề xuất  Các thành phần trong mô hình - Giao diện hiển thị o Là thành phần giao tiếp với người dùng, thực hiện hai chức năng chính:  Nhận chuỗi từ khóa truy vấn từ phía người

Các file đính kèm theo tài liệu này:

  • pdfLUẬN VĂN- MỘT SỐ THUẬT TOÁN PHÂN HẠNG ẢNH PHỔ BIẾN VÀ ÁP DỤNG TRONG HỆ THỐNG TÌM KIẾM ẢNH LỚP TRÊN THỬ NGHIỆM.pdf
Tài liệu liên quan