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
75 trang |
Chia sẻ: lvcdongnoi | Lượt xem: 2513 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Khóa luậ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, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
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
đó.
Bo Luo và cộng sự 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. Phương
45
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] [40] 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 và Baluja 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 [39] [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
47
đó, 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
ả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.
48
Mô hình đề xuất
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 dùng để gửi cho bộ điều
vận.
49
Nhận danh sách các ảnh đã được sắp xếp từ mô đun xếp hạng hoặc từ
CSDL và hiển thị chúng cho người sử dụng.
‐ Bộ điều vận
o Kiểm tra xem câu truy vấn là tiếng Anh hay tiếng Việt. Nếu là một câu truy
vấn tiếng Việt thì sử dụng từ điển để dịch nó sang tiếng Anh.
o Tiền xử lý câu truy vấn: đưa về chữ thường, loại bỏ từ dừng và các ký tự
đặc biệt, đưa về từ gốc.
o Lấy các truy vấn đã có trong CSDL (đường dữ liệu (1)) để kiểm tra xem câu
truy vấn nhận được là một câu truy vấn mới hay là một truy vấn cũ.
Nếu là một truy vấn mới:
• Chọn các máy tìm kiếm nguồn sẽ gửi yêu cầu đến. Sửa đổi câu
truy vấn về dạng phù hợp với dạng truy vấn của từng máy tìm
kiếm nguồn đã được chọn rồi gửi yêu cầu tới các máy tìm kiếm
này.
Nếu là một truy vấn cũ: Gửi thông báo và id của truy vấn đến giao
diện hiển thị (đường dữ liệu (2)).
o Sau một khoảng thời gian nhất định, bộ điều vận sẽ lấy các truy vấn có sẵn
từ CSDL và gửi yêu cầu đến các máy tìm kiếm nguồn để cập nhật CSDL
(đường dữ liệu (3)).
‐ Bộ xử lý kết quả
o Nhận kết quả trả về từ các máy tìm kiếm nguồn, tổng hợp các kết quả này
lại thành một danh sách duy nhất và xử lý các kết quả trùng lặp.
o Trích xuất các ảnh và các thông tin cần thiết liên quan đến các ảnh để gửi
cho mô đun xếp hạng.
‐ Mô đun xếp hạng
o Nếu truy vấn của người dùng là một truy vấn mới:
Nhận các thông tin cần thiết về các ảnh từ bộ phận xử lý kết quả, thực
hiện tính hạng cho ảnh dựa theo nội dung văn bản rồi trả lại kết quả
cho thành phần hiển thị.
Sau đó đánh chỉ mục lại cho các ảnh, kết hợp giữa các đặc trưng về
nội dung hiển thị và đặc trưng văn bản của ảnh để tính hạng lại cho
ảnh. Lưu kết quả tính hạng vào CSDL để sử dụng cho lần truy vấn sau
‐ Cơ sở dữ liệu
o Lưu trữ các ảnh và các thông tin về ảnh. Các ảnh trong CSDL được phân
cụm theo tập câu hỏi người dùng.
50
o Lưu trữ tập các câu hỏi mà người dùng đã truy vấn đến máy tìm kiếm lớp
trên và kết quả xếp hạng của các câu hỏi này.
4.2. Môi trường và các thành phần trong hệ thống phần mềm
4.2.1. Cấu hình phần cứng
Bảng 2. Cấu hình phần cứng sử dụng trong thực nghiệm
Thành phần Chỉ số
CPU 1 Pentium IV 3.06 GHz
RAM 1GB
OS WindowsXP Service Pack 2
Bộ nhớ ngoài 80GB
4.2.2. Các thành phần trong hệ thống phần mềm
• Công cụ phần mềm sử dụng:
Bảng 3. Một số phần mềm sử dụng
STT Tên phần mềm Tác giả Nguồn
1
eclipse-SDK-
3.4.1-win32
2 XAMPP 1.7.3
windows.html#522
3
Apache Tomcat
6.0.26
60.cgi
• Các thư viện sử dụng:
Bảng 4. Một số thư viện sử dụng
STT Tên thư viện Tác giả Nguồn
1 Lire-0.8 Caliph & Emir
51
2 Jama-1.0.2 Geoffrey Fox
3 Json-simple-1.1
Douglas
Crockford
4 nusoap
NuSphere &
Dietrich Ayala
5
google-api-
translate-java-
0.92.jar
translate-java/downloads/list
Ngoài các công cụ trên, tôi tiến hành cài đặt các mô đun xử lý dựa trên ngôn ngữ
Java, bao gồm các gói phần mềm chính như sau:
‐ searcher: Sử dụng cho việc thu thập dữ liệu từ các máy tìm kiếm ảnh
Google và Yahoo.
‐ CBIRMetaSearch: Thực hiện các nhiệm vụ như đối với các thành phần
của máy tìm kiếm lớp trên: xử lý truy vấn, xử lý kết quả, tính hạng.
‐ Translator: Kiểm tra ngôn ngữ của truy vấn. Nếu là truy vấn tiếng Việt
thì gửi nó đến Google Translate để dịch sang tiếng Anh.
Ngoài ra, mô đun giao diện được viết dựa trên ngôn ngữ PHP bao gồm một file
ImageMetaSearch.php hiển thị giao diện cho phép người dùng nhập vào một chuỗi
truy vấn và hiển thị kết quả.
Tôi tạo một web service để thực hiện giao tiếp giữa mô đun giao diện và mô đun
xử lý.
52
• Giao diện chương trình
Hình 15. Giao diện của chương trình
4.3. Xây dựng tập dữ liệu
4.3.1. Tập truy vấn
Để tạo tập truy vấn mẫu phục vụ cho việc đánh giá chất lượng hệ thống, tôi tiến
hành tìm các truy vấn được sử dụng thường xuyên nhất. Nhận thấy rằng người dùng
thường sử dụng các thẻ ảnh để tìm kiếm ảnh một cách chính xác. Vì thế tôi thực hiện
trích rút tập truy vấn từ các thẻ ảnh phổ biến mà người dùng hay sử dụng đã được
Flickr1 liệt kê.
Trong khóa luận này, tôi chú trọng vào việc tìm các ảnh có nội dung hiển thị gần
giống nhau. Qua quá trình khảo sát thực tế, tôi thấy rằng đối với một truy vấn về sự
kiện như là “autumn festival” hay một truy vấn mang nghĩa chung chung như là
“architecture” thì các ảnh thuộc về những chủ đề như thế này thường rất đa dạng. Đối
với các ảnh này, đặc trưng văn bản thường biểu diễn được chủ đề của ảnh nhiều hơn
1
53
đặc trưng hiển thị. Do đó việc sử dụng đặc trưng hiển thị để xếp hạng cho các ảnh
thuộc những chủ đề như vậy là không hiệu quả. Vì vậy, trong các thẻ ảnh phổ biến và
các thẻ liên quan đến chúng, tôi chỉ lấy các thẻ về các vật, nơi chốn… cụ thể để làm
các truy vấn mẫu.
Theo cách làm như trên, tôi trích rút được một tập 35 truy vấn từ các thẻ ảnh phổ
biến và các thẻ ảnh liên quan đến những thẻ này để sử dụng vào việc đánh giá hệ
thống.
4.3.2. Tập máy tìm kiếm nguồn
Tập máy tìm kiếm nguồn mà tôi sử dụng để gửi yêu cầu đến và lấy dữ liệu từ đó
là hai máy tìm kiếm ảnh Google và Yahoo. Việc chọn hai máy tìm kiếm này để tìm
kiếm trên nó là vì hai lý do. Thứ nhất, Google và Yahoo là hai máy tìm kiếm ảnh dựa
trên văn bản lớn nhất hiện nay và có chất lượng tìm kiếm khá tốt. Thứ hai, vì cả hai
máy tìm kiếm này đều nhận đầu vào là một từ khóa truy vấn, do đó việc truy vấn trên
chúng là rất dễ dàng.
4.3.3. Từ điển
Bộ từ điển được sử dụng trong thực nghiệm là bộ công cụ Google dịch. Google
dịch là một công cụ trực tuyến miễn phí của Google, hỗ trợ phát hiện ngôn ngữ và
chức năng dịch đa ngôn ngữ (trong đó có dịch từ tiếng Việt sang tiếng Anh). Bộ công
cụ này tương đối dễ sử dụng và có chất lượng dịch từ tiếng Việt sang tiếng Anh khá
tốt.
4.4. Quy trình, các phương án thử nghiệm
Quy trình thử nghiệm được tiến hành như sau:
Thực hiện truy vấn: Lần lượt thực hiện các truy vấn mẫu vào máy tìm kiếm.
Mỗi câu truy vấn được thực hiện hai lần để đánh giá chất lượng của hai phương pháp
xếp hạng dựa trên văn bản và xếp hạng dựa trên nội dung hiển thị và nội dung văn bản.
Thu thập dữ liệu: Với mỗi truy vấn, hệ thống trích rút 64 ảnh trả về đầu tiên từ
máy tìm kiếm ảnh Google1 và 50 ảnh trả về đầu tiên từ máy tìm kiếm ảnh Yahoo2. Sau
đó tổng hợp các ảnh này trong một danh sách duy nhất và tiến hành xếp hạng lại cho
tập các ảnh này.
1
2
54
Xếp hạng: Quá trình xếp hạng được chia thành hai giai đoạn:
Giai đoạn 1: Đối với truy vấn mới, xếp hạng dựa trên đặc trưng văn bản. Giai
đoạn này được thực hiện trực tuyến.
Sử dụng độ đo khoảng cách giữa 2 xâu ký tự để tính độ tương đồng cho các
chuỗi văn bản. Các đặc trưng văn bản được sử dụng trong khóa luận này là: tên file
ảnh, nhan đề ảnh (title) và vùng văn bản nhỏ đi kèm mô tả ảnh (content). Qua quá trình
thực nghiệm, trọng số cho tên file ảnh là 0.3, nhan đề ảnh là 0.1 và trọng số cho vùng
văn bản đi kèm ảnh là 0.6 cho kết quả xếp hạng tốt nhất.
Thực hiện thuật toán visualRank cho các độ đo tương đồng dựa trên văn bản với
số vòng lặp là 100, hệ số hãm là d = 0.85.
Ngoài ra, qua khảo sát thực tế, tôi nhận thấy rằng thứ hạng của ảnh do máy tìm
kiếm nguồn xếp hạng cũng có một tầm quan trọng rất lớn, và hơn nữa chất lượng tìm
kiếm của Google tốt hơn hẳn chất lượng tìm kiếm của Yahoo. Vì thế, với mỗi ảnh tôi
cộng thêm một điểm số thứ hạng cũ (là thứ hạng do các máy tìm kiếm nguồn tính
được) với tỉ lệ là 0.2 cho điểm số thứ hạng cũ và 0.8 cho điểm số mới tính được dựa
trên độ đo tương đồng giữa các ảnh. Các hệ số trên có được từ quá trình thực nghiệm.
Giai đoạn 2: Xếp hạng lại cho tập các ảnh. Giai đoạn này được thực hiện ngoại
tuyến.
Tải các ảnh về và loại bỏ các ảnh trùng lặp rồi lưu vào cơ sở dữ liệu.
Sử dụng Lire để trích xuất các đặc trưng hiển thị của ảnh, đánh chỉ mục cho ảnh
dựa vào các đặc trưng này. Các đặc trưng hiển thị được sử dụng là: màu sắc và đặc
trưng cạnh (edge).
Tính độ tương đồng giữa các ảnh dựa trên các đặc trưng nói trên.
Kết hợp độ đo tương đồng dựa trên đặc trưng văn bản và độ đo tương đồng dựa
trên nội dung hiển thị với tỉ lệ: 0.3 cho độ đo dựa trên đặc trưng văn bản và 0.7 cho độ
đo dựa trên nội dung hiển thị. Với hệ số tỉ lệ này sẽ cho kết quả xếp hạng tốt nhất.
Thực hiện các tính toán tiếp theo như giai đoạn 1 đối với độ đo tương đồng tổng
hợp.
4.5. Kết quả thử nghiệm và đánh giá
Khóa luận sử dụng độ chính xác trung bình (Average Precision) [4] để đánh giá
kết quả xếp hạng của hệ thống so với kết quả xếp hạng của hai máy tìm kiếm nguồn
55
Google và Yahoo. Khóa luận cũng so sánh kết quả giữa hai lần xếp hạng của cùng một
truy vấn. Tôi thử nghiệm với tập 35 truy vấn và sau đó đánh giá độ chính xác cho 50
ảnh trả về đầu tiên.
Giả sử ta có 5 đối tượng là: a, b, c, d, e
Trong đó a, b, c là các đối tượng phù hợp và d, e là các đối tượng không phù
hợp.
Một xếp hạng của các đối tượng cần đánh giá là: c, a, d, b, e
Độ chính xác trung bình được định nghĩa như sau:
ܣܲ ൌ
∑ ܲ@ܭ ൈ ܫሺܭሻୀଵ
∑ ܫሺ݆ሻୀଵ
Trong đó:
n là số đối tượng được xét.
ܲ@ܭ ൌ ெ௧@
(Match@K = số các đối tượng phù hợp ở K vị trí
đầu tiên)
I(K) = 1 nếu đối tượng ở vị trí K là phù hợp, ngược lại I(K) = 0
Ví dụ: P@1 = 1/1, P@2 = 2/2, P@3 = 2/3, P@4 = 3/4. Thì độ chính xác trung
bình là:
ܣܲ ൌ
1
1 ൈ 1
2
2 ൈ 1
3
4 ൈ 1
3 ൌ 0.92
Giá trị trung bình trên m xếp hạng (với bài toán tìm kiếm thì đó là giá trị trung
bình của AP trên các truy vấn):
ܯܣܲ ൌ
∑ ܣܲୀଵ
݉
Bảng thống kê độ chính xác của 50 ảnh đầu tiên của mỗi truy vấn trên các máy
tìm kiếm cho thấy hệ thống có độ chính xác trung bình khá cao (MAP=81.2%). Đặc
biệt là đối với các truy vấn về một vật thể có hình dạng, màu sắc xác định như
“candle” (AP=100%), “guitar” (AP=90.1%), “iphone” (AP=93.0%)…. Ngoài ra, độ
chính xác của hệ thống khi sử dụng thuật toán xếp hạng chỉ dựa trên đặc trưng văn bản
56
cũng khá cao (MAP=79.7%) trong khi đó MAP của Google là 76.1% và của Yahoo là
66.8%. Điều đó cho thấy rằng hệ thống hoạt động tốt cho cả truy vấn mới và cũ.
Tuy nhiên, đối với các truy vấn mà đối tượng tìm kiếm không rõ ràng như truy
vấn “cloud”, “wave” thì kết quả xếp hạng của hệ thống chưa thực sự tốt. Đối với
“wave”, độ chính xác của hệ thống khi xếp hạng dựa trên nội dung hiển thị là 43.0%
trong khi độ chính xác khi xếp hạng dựa trên nội dung văn bản là 60.7% và độ chính
xác của Google là 55.5 %.
Bảng 5. Độ chính xác trung bình trên 35 truy vấn
Google Yahoo MS_Text MS_Content
ball 53.8 24.0 71.8 76.0
beach 95.5 40.4 97.4 88.5
bicycle 71.5 68.3 86.0 88.8
bike 53.5 41.1 81.2 79.0
bird 70.0 60.1 66.8 82.8
bridge 91.3 85.5 81.7 91.8
cake 76.8 92.0 84.9 92.3
candle 89.2 84.0 94.9 100
car 92.6 76.9 91.1 94.2
cat 97.2 81.5 86.2 97.1
christmas tree 95.7 91.3 100 96.3
church 69.1 34.7 65.2 76.9
cloud 56.9 49.6 42.5 40.8
cloud gate 86.9 55.4 73.1 70.5
cup 33.1 51.4 39.4 52.0
drums 87.7 70.2 95.5 90.5
duck 70.4 72.8 79.0 82.8
feathers 56.0 57.3 65.0 63.7
guitar 76.2 73.0 80.2 90.1
iphone 95.4 96.6 96.3 93.0
kids 51.2 82.0 70.9 75.1
kitten 83.8 93.9 91.4 82.9
lake 93.1 65.5 95.8 87.7
leaves 84.3 80.1 82.6 95.0
lemon 70.9 38.7 79.4 79.5
monkey 86.2 83.1 89.2 95.6
railway 61.2 92.5 72.4 68.0
river 72.7 66.5 69.7 78.3
road 78.9 81.2 91.3 83.0
snow 87.6 91.7 86.8 80.3
sun 70.1 45.1 70.9 73.6
57
sunrise 85.2 17.6 91.1 78.6
train 92.5 86.5 78.1 85.6
tree 70.6 74.6 84.4 88.4
wave 55.5 34.1 60.7 43.0
MAP 76.1 66.8 79.7 81.2
Hình 16. Biểu đồ so sánh độ chính xác trung bình giữa các hệ thống
Để đánh giá khả năng tìm kiếm và xếp hạng của hệ thống đối với các từ khóa
tiếng Việt, tôi thử nghiệm với 5 truy vấn tiếng Việt và đo độ chính xác của 50 kết quả
đầu tiên của mỗi truy vấn. Các truy vấn tiếng việt được chọn là: “Bác Hồ”, “quả táo”,
“con ong”, “máy bay”, “hoa hồng”.
0%
20%
40%
60%
80%
100%
Sun Guitar Bicycle Cat Car Leaves
Google
Yahoo
MS_Text
MS_Content
58
Hình 17. Biểu đồ độ chính xác mức K của một số truy vấn tiếng Việt
Biểu đồ trên thể hiện độ chính xác mức K của một số truy vấn tiếng Việt khi
được thực hiện trên hệ thống tìm kiếm ảnh lớp trên. Biểu đồ cho thấy hệ thống xếp
hạng khá chính xác cho 20 ảnh đầu. Tuy độ chính xác trung bình cho 50 ảnh đầu tiên
không thực sự tốt nhưng người dùng thường chỉ quan tâm 10 đến 20 kết quả đầu tiên.
Do đó tập 20 ảnh đầu là quan trọng.
Để đánh giá tốc độ thực thi của hệ thống, tôi đo thời gian xếp hạng của các truy
vấn thử nghiệm. Thời gian xếp hạng trung bình cho mỗi truy vấn là 40 giây. Khoảng
thời gian này bao gồm thời gian trích xuất các thành phần đặc trưng, tìm và xử lý các
ảnh trùng lặp, tính ma trận tương đồng dựa trên nội dung hiển thị và nội dung văn bản,
tính hạng cho các ảnh và ghi kết quả vào file. Tôi cũng đo thời gian phản hồi của hệ
thống đối với các truy vấn mới. Thời gian này được tính từ lúc hệ thống nhận được câu
truy vấn đến lúc trả lại kết quả cho người dùng. Thời gian hồi đáp trung bình cho mỗi
truy vấn mới là 20 giây. Như vậy, có thể thấy rằng thời gian thực thi của hệ thống là
trong mức cho phép đối với một máy tìm kiếm ảnh.
0%
20%
40%
60%
80%
100%
P@5 P@10 P@20 P@30 P@40 P@50
Bác Hồ
Quả táo
Con ong
Máy bay
Hoa Hồng
59
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
60
Kết luận
Với lượng dữ liệu ảnh đa dạng và phong phú trên Internet, nhu cầu về một hệ
thống xếp hạng ảnh là rất cần thiết. Tuy những nghiên cứu về tìm kiếm và xếp hạng
ảnh trên Web đã được quan tâm từ lâu, nhưng lĩnh vực này vẫn còn nhiều vấn đề cần
phải giải quyết. Nắm bắt được nhu cầu đó, khóa luận đã tíến hành nghiên cứu một
thuật toán xếp hạng ảnh dựa trên các văn bản đi kèm ảnh và chính nội dung hiển thị
của ảnh và tiến hành áp dụng thử nghiệm trên một mô hình máy tìm kiếm ảnh lớp trên.
Các kết quả chính đạt được
‐ Tìm hiểu các thuật toán xếp hạng trang Web và các thuật toán xếp hạng ảnh
điển hình. Từ đó đề xuất áp dụng thuật toán VisualRank cho cả đặc trưng văn
bản và đặc trưng hiển thị của ảnh trong xếp hạng.
‐ Đư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 đã
đề xuất. Mô hình máy tìm kiếm này quan tâm đến trạng thái câu hỏi người
dùng và hỗ trợ các truy vấn tiếng Việt. Do đó, những nghiên cứu này là rất
hữu ích cho người dùng Việt Nam.
‐ Tiến hành thử nghiệm mô hình với tập 35 câu truy vấn được trích rút từ các
thẻ phổ biến trên Flickr. Kết quả của mô hình là khả quan đối với cả hai
phương pháp xếp hạng ảnh được sử dụng. Độ chính xác của phương pháp
xếp hạng chỉ dựa trên nội dung văn bản là 79.7% và độ chính xác của phương
pháp xếp hạng dựa trên cả nội dung hiển thị và nội dung văn bản là 81.2%,
tốt hơn so với độ chính xác của Google (76.1%) và của Yahoo (66.8%). Khóa
luận cũng đã thử nghiệm với một số câu truy vấn tiếng Việt. Kết quả thử
nghiệm cho thấy mô hình có thể xếp hạng khá tốt cho tập 20 ảnh đầu tiên. Từ
những kết quả ban đầu đó cho thấy tính đúng đắn của mô hình.
Một số vấn đề cần tiếp tục giải quyết
‐ Tuy mô hình đã bước đầu đạt được một số kết quả khả quan trên tập dữ liệu
thử nghiệm, nhưng đối với các truy vấn về sự kiện hoặc về các đối tượng
không cụ thể thì thuật toán xếp hạng chưa giải quyết được tốt.
‐ Hơn nữa, vấn đề thời gian xếp hạng lại và không gian lưu trữ ảnh cũng cần
được quan tâm khi cơ sở dữ liệu của hệ thống được mở rộng. Cần có một giải
pháp thích hợp để vừa có thể lưu trữ được dữ liệu cho càng nhiều câu truy
61
vấn càng tốt, vừa có thể thực hiện xếp hạng lại cho tất cả các câu truy vấn
này.
‐ Một vấn đề khác là đối với các truy vấn tên riêng (tên người, tên địa danh,…)
bằng tiếng Việt thì việc dịch các truy vấn này sang tiếng anh sẽ làm cho kết
quả tìm kiếm không còn đúng nữa. Hơn nữa, nếu kết quả dịch của từ điển
không chính xác thì sẽ dẫn đến nhiều sai lệch trong việc tìm kiếm. Do đó,
nếu tìm kiếm trực tiếp bằng tiếng Việt thì có thể sẽ có những kết quả tốt hơn.
Hướng nghiên cứu tiếp theo
Trong thời gian tới, ngoài việc tiếp tục giải quyết các vấn đề còn tồn tại, tôi định
hướng một số nghiên cứu tiếp theo:
‐ Nghiên cứu thêm về các thuật toán trích xuất các thành phần đặc trưng ảnh
để nâng cao hiệu quả trong việc tính độ tương đồng giữa các ảnh.
‐ Nghiên cứu các phương pháp xử lý tiếng Việt để tìm kiếm ảnh trực tiếp bằng
tiếng Việt.
‐ Sử dụng phản hồi của người dùng để nâng cao chất lượng hệ thống.
62
Tài liệu tham khảo
Tiếng Việt
[1] Đỗ Thị Diệu Ngọc, Nguyễn Hoài Nam, Nguyễn Thu Trang, Nguyễn Yến Ngọc
(2004). Giải pháp tính hạng trang Modified Adaptive PageRank trong máy tìm kiếm.
Chuyên san “Các công trình nghiên cứu về CNTT và Truyền thông”, Tạp chí BCVT,
14: 65-71, 4-2005.
[2] Nguyễn Hoài Nam (2004). Thuật toán tính hạng trang và xây dựng mô đun thử
nghiệm. Khóa luận đại học, Trường ĐHKHTN, ĐHQGHN.
[3] Nguyễn Thu Trang (2006). Link spam với đồ thị Web và hạng trang Web. Khóa
luận đại học, Trường ĐHCN, ĐHQGHN.
[4] Nguyễn Thu Trang (2009). Học xếp hạng trong tịnh hạng đối tượng và phân cụm
tài liệu. Luận văn Thạc sỹ, Trường ĐHCN, ĐHQGHN.
[5] Nguyễn Hoàng Trung (2009). Xây dựng search engine. Luận văn Thạc sỹ, Trường
ĐHCN, ĐHQGHN.
Tiếng Anh
[6] Mehmet S. Aktas, Mehmet A. Nacar, Filippo Menczer (2004). Personalizing
PageRank based on domain profiles. WebKDD 2004: 83-90.
[7] Allan Borodin, Gareth O. Roberts, Jeffrey S. Rosenthal, Panayiotis Tsaparas
(2005). Link analysis ranking: algorithms, theory, and experiments. ACM Trans.
Inter. Tech., 5(1):231-297.
[8] Amy N.Langville and Carl D.Meyer (2005). Deeper inside pagerank. Internet
Mathematics Journal, 1(3):335-380.
[9] Amy N.Langville, Carl D. Meyer (2004). A Reodering for the PageRank problem.
SIAM J. Sci. Comput., 27(6): 2112-2120.
[10] Anselm Spoerri (2004). RankSpiral: Toward Enhancing Search Results
Visualizations. IEEE Symposium on Information Visualization: 215.18.
[11] Benitez A.B., Beigi M., Shih-Fu Chang (1998). Using relevance feedback in
content-based image metasearch. IEEE Internet Computing, 2(4): 59-69.
63
[12] B. Uygar Oztekin, George Karypis, Vipin Kumar (2002). Expert agreement
and content based reranking in a meta search environment using Mearf. WWW
2002: 333-344.
[13] Baoning Wu and Brian D. Davison (2005). Identifying link farm spam pages.
WWW (Special interest tracks and posters) 2005: 820-829.
[14] Bo Luo, Xianogang Wang, and Xiaoou Tang (2003). A World Wide Web Based
Image Search Engine Using Text and Image Content Features. IS&T/SPIE
Electronic Imaging 2003, Internet Imaging IV, 5018: 123-130.
[15] Chik Ching Yiu, Ip Che Yin (2002). Image Ranking Schemes Using Link-
Structure Analysis Algorithm. WWW2002,
114/
[16] Cam-Tu Nguyen, Xuan-Hieu Phan, Susumu Horiguchi, Thu-Trang Nguyen,
Quang-Thuy Ha (2009). Web Search Clustering and Labeling with Hidden
Topics. ACM Trans. Asian Lang. Inf. Process. 8(3): 1-40.
[17] Eva Horster, Malcolm Slaney, Marc’ Aurelio Ranzato, Kilian Weinberger
(2009). Unsupervised image ranking. LS-MMRM '09: 81-88.
[18] Eric J. Glover (2001). Using Extra-Topical User Preferences To Improve Web-
Based Metasearch. PhD Thesis, The University of Michigan.
[19] G. Park, Y. Baek, and H. Lee (2003). Majority based ranking approach in web
image retrieval. CIVR 2003: 111-120.
[20] Hsinchun Chen, Haiyan Fan, Michael Chau, and Daniel Zeng (2001).
MetaSpider: Meta-Searching and Categorization on the Web. JASIST,
52(13):1134–1147.
[21] Hervé Jégou, Matthijs Douze, Cordelia Schmid (2010). Product quantization
for nearest neighbor search. 2010 IEEE TPAMI,
people/jegou/publications.php
[22] Herve Jegou, Matthijs Douze, Cordelia Schmid (2008). Recent Advances in
Large Scale Image Search. ETVC 2008: 305-326.
[23] Jon M. Kleinberg (1999). Authoritative Sources in a Hyperlinked Environment.
J.ACM, 46(5): 604-632.
64
[24] Kamarul Hawari Ghazali (2007). Feature Extraction technique using SIFT
keypoints descriptors. The International Conference on Electrical and Engineering
and Informatics Institut technology, Bandung, Indonesia, June 17-19, 2007.
[25] Lowe David (2004). Distinctive image features from scale-invariant keypoints.
Inter. J. Computer Vision 2004, 60(2):91–110.
[26] Liangliang Cao, Andrey Del Pozo, Xin Jin, Jiebo Luo, Jiawei Han and
Thomas S. Huang (2010). RankCompete: simultaneous ranking and clustering of
web photos. WWW 2010: 1071-1072.
[27] L.S. Kennedy and M. Naaman (2008). Generating diverse and representative
image search results for landmarks. ACM Multimedia 2008: 349-358.
[28] Manoj M., Elizabeth Jacob (2008). Information retrieval on Internet using meta-
search engines: A review. J. Scientific & Industrial Research, 67(10):739-746.
[29] Mitsuru Ambai, Yuichi Yoshida (2009). Multiclass VisualRank: Image Ranking
Method in Clustered Subsets Based on Visual Features. SIGIR 2009: 732-733.
[30] Page, L., Brin, S., Motwani, R. and Winograd, T. (1998). The PageRank
citation ranking: bringing order to the Web. Technical report, Stanford University.
[31] Ritendra Datta, Dhiraj Joshi, Jia Li, and James Z. Wang (2008). Image
Retrieval: Ideas, Influences, and Trends of the New Age. ACM Computing
Surveys, 40(2), April 2008.
[32] Sepandar Kamvar, Taher Haveliwala, and Gene Golub (2003). Adaptive
Methods for the Computation of PageRank. Technical report, Stanford University.
[33] Shiliang Zhang, Qi Tian, Gang Hua, Qingming Huang, Shipeng Li (2009).
Descriptive Visual Words and Visual Phrases for Image Applications. ACM
Multimedia 2009: 75-8484.
[34] Shuhui Wang, Quingming Huang, Shuqiang Jiang, Lei Qin, Qi Tian (2009).
Visual ContextRank for web image re-ranking. The First ACM workshop on
Large-scale multimedia retrieval and mining: 121-128.
[35] Taher H. Haveliwala (2002). Topic-sensitive PageRank. Technical report,
Stanford University. May 7–11, 2002, Honolulu, Hawaii, USA.
65
[36] T.L. Berg, A.C. Berg (2009). Finding iconic images. The 2nd Internet Vision
Workshop at Conference on Computer Vision and Pattern Recognition (CVPR):1-
8.
[37] Viswanathan, M., Chang, C.-K., Moon, J.-H. Patlolla, A., (2009). Goggle (or
Gist on the Google Phone): A Content-Based Image Retrieval System for the
gPhone. CSCI-546 Project.
Google.pdf
[38] Xinmei Tian, Dacheng Tao (2010). Active Reranking for Web Image Search.
IEEE Transactions on Image Processing, 19(3): 805-820 (2010).
[39] Yushi Jing, Shumeet Baluja (2008). Pagerank for product image search,
WWW08:307-316.
[40] Yushi Jing, Shumeet Baluja (2008). VisualRank: Applying PageRank to Large-
Scale Image Search. IEEE Trans. Pattern Anal. Mach. Intell., 30(11): 1877-1890.
[41] Z. Gyongyi and H. Garcia-Molina (2005). Web Spam Taxonomy. AIRWeb
2005: 39-47.
[42] Z. Gyongyi, H. Garcia-Molina, and J. Pendersen (2004). Combating Web
Spam with TrustRank. VLDB 2004: 576-587.
Các file đính kèm theo tài liệu này:
- 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