Trong khuôn khổ của luận văn này, một số vấn đề cơ bản của hệ quản trị cơ sở dữ liệu đa phương tiện, cụ thể là CSDL văn bản được trình bày theo cấu trúc như sau: Chương 1: Khái quát về C
Trang 1ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
LÊ THỊ KIỀU OANH
TRUY VẤN VĂN BẢN TRÊN CƠ SỞ NỘI DUNG TRONG CƠ SỞ DỮ LIỆU ĐA PHƯƠNG TIỆN
LUẬN VĂN THẠC SĨ
Hà Nội - 2006
Trang 2TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
LÊ THỊ KIỀU OANH
TRUY VẤN VĂN BẢN TRÊN CƠ SỞ NỘI DUNG TRONG CƠ SỞ DỮ LIỆU ĐA PHƯƠNG TIỆN
Ngành : Công nghệ thông tin
Trang 3Các thuật ngữ và các từ viết tắt……… 1
Danh sách các hình trong luận văn………2
MỞ ĐẦU 3
Chương 1: Khái quát về cơ sở dữ liệu đa phương tiện 1 Khái quát về cơ sở dữ liệu đa phương tiện .5
2 Nhiệm vụ thiết kế và kiến trúc CSDL đa phương tiện 8
2.1 Khái quát về MIRS 9
2.2 Các kiến trúc tổ chức nội dung 10
2.2.1 Kiến trúc tự trị (atonomy) 12
2.2.2 Kiến trúc đồng nhất (uniformity) 13
2.2.3 Kiến trúc lai (hybrid) 14
3 Mô hình dữ liệu đa phương tiện 15
Chương 2: Một số kỹ thuật truy vấn văn bản trên cơ sở nội dung trong CSDL đa phương tiện 1 Nén dữ liệu văn bản 17
1.1.Văn bản 17
1.1.1 Văn bản thuần túy 17
1.1.2 Văn bản có cấu trúc 17
1.2 Nén văn bản 18
1.2.1 Mã hóa Huffman 20
1.2.3 Mã hóa loạt dài (Run-Length Coding - RLE) 21
1.2.4 Mã hóa LZW 22
2 Lập chỉ mục văn bản 25
2.1 Thu thập và trích chọn tài liệu 26
2.2 Đánh chỉ mục 28
2.3 Trích chọn thông tin 29
2.4 Cấu trúc tệp đảo 31
3 Truy vấn thông tin văn bản trong CSDL 35
3.1 Tổng quan 35
3.2 Sự khác biệt giữa các hệ thống IR và DBMS 36
Trang 43.31Conjunctive queries (Truy vấn liên kết ) 38
3.3.2Nonconjunctive queries (Truy vấn phi liên kết) 41
3.4 Mô hình truy tìm không gian véctơ 42
3.4.1 Mô hình truy tìm không gian véctơ cơ sở 42
3.4.2 Véc tơ tài liệu 43
3.4.3 Thuật toán tính Consin(Q,Dd) cho mỗi tài liệu d 47
3.4.4 Kỹ thuật phản hồi phù hợp (Relevance Feedback Technique) 47 3.5 Mô hình truy tìm theo xác suất 49
3.6 Mô hình truy tìm trên cơ sở bó (cluster-based) 49
3.7 Các phương pháp IR phi truyền thống 51
4 Mô tơ tìm kiếm WWW 55
4.1 Khám phá tài nguyên 58
4.2 Khác biệt chính giữa hệ thống IR và môtơ tìm kiếm WWW 60
4.3 Cấu trúc tổng quát của motơ tìm kiếm WWW 63
4.4 Thí dụ motơ tìm kiếm 64
5 Khảo sát một số công cụ tìm kiếm hiện có 67
5.1.Công cụ dtsearch 67
5.1.1 Giới thiệu 67
5.1.2 Cấu trúc tìm kiếm và các chức năng của dtsearch 70
5.2 Công cụ Lucene 71
5.2.1 Tổng quan về Jakata Lucene 71
5.2.2.Thư viện Jakata Luncene 71
5.2.3 Sử dụng Lucene 72
5.2.4 Cơ chế hoạt động 72
5.2.5 Một vài nhận xét về Lucene 74
Chương 3: Xây dựng ứng dụng thử nghiệm để truy tìm văn bản 1.Bài toán 75
2.Các công cụ sử dụng 75
3.Các chức năng của Máy tìm kiếm 75
KẾT LUẬN 80
TÀI LIỆU THAM KHẢO 81
Trang 5CÁC THUẬT NGỮ VÀ CÁC TỪ VIẾT TẮT
DBMS Database Management System Hệ quản trị cơ sở dữ liệu
thông tin MMDBMS Multimedia Database Management
MRI Magnetic Resonance Imaging
Trang 6DANH SÁCH CÁC HÌNH TRONG LUẬN VĂN
Hình 1.1: Hoạt động của hệ thống MIRS 10
Hình 1.2: Kiến trúc cơ sở tổng thể 12
Hình 1.3: Kiến trúc autonomy 13
Hình 1.4: Kiến trúc uniformity 14
Hình 1.5: Kiến trúc hybrid 14
Hình 1.6 : Mô hình dữ liệu đa phương tiện tổng quát 15
Hình 2.1: Biểu diễn các kí tự lặp 22
Hình 2.2 Tiến trình truy vấn tài liệu cơ sở 37
Hình 2.3: Minh hoạ thuật toán 40
Hình 2.4: Skipped InvfList 41
Hình 2.5: Tập hợp các tài liệu 42
Hình 2.6: Đồ thị hiệu năng 53
Hình 2.7: Thí dụ tài liệu Hypertext 56
Hình 2.8: Kiến trúc WWW 57
Hình 2.9: Kiến trúc mức cao của Google 65
Hình 2.10: Cấu trúc tìm kiếm của Dtsearch 70
Trang 7MỞ ĐẦU
Trong những năm gần đây bài toán về khai thác, xử lý và quản lý dữ liệu ngày càng có ý nghĩa quan trọng trong lĩnh vực công nghệ thông tin Với sự phát triển không ngừng của công nghệ thông tin, ngày càng có nhiều kiểu dữ liệu ra đời như dữ liệu hình ảnh, dữ liệu âm thanh, dữ liệu video, dữ liệu tài liệu, dữ liệu viết tay Cùng với nó là nhu cầu về quản lý, khai thác và xử lý nó được đặt ra Các kiểu dữ liệu trên đây chỉ là một phần trong rất nhiều hình thức biểu hiện của dữ liệu phát sinh tự nhiên trong các ứng dụng khác nhau Từ những dữ liệu mới phát sinh trên, ta thấy rằng cơ sở dữ liệu truyền thống không thể quản lý các kiểu dữ liệu này được Do đó cần phải có một hệ thống quản lý tất cả các loại
dữ liệu media và CSDL đa phương tiện được hình thành đó là hệ thống quản trị
CSDL đa phương tiện (MMDBMS -Multimedia Database Management System)
Mặt khác trong các CSDL truyền thống, mối quan tâm hiệu suất chính là
tính hiệu quả (có thể trả lời kết quả trong bao lâu) Trong MMDBMS, hiệu quả
và hơn nữa, hiệu quả truy tìm (khả năng tìm ra các mục liên quan và khả năng loại bỏ các mục không liên quan) cũng rất quan trọng
Trong thời gian qua lĩnh vực MMDBMS phát triển vô cùng nhanh chóng Vào giữa những năm 90 của thế kỷ XX, xuất hiện các hệ thống MMDBMS thương mại, được xây dựng từ đầu Thí dụ: MediaDB (nay gọi là MediaWay),
JASMIN và ITASCA Chúng có khả năng quản lý các loại dữ liệu khác nhau và
có cơ chế truy tìm, chèn, cập nhật dữ liệu Một số trong chúng bị biến mất trên thị trường sau vài năm thương mại Một số trong chúng được nâng cấp theo tiến
bộ của công nghệ phần cứng, phần mềm và thay đổi ứng dụng Thí dụ
MediaWay có khả năng hỗ trợ rất nhiều kiểu dữ liệu khác nhau từ ảnh, video đến
các tài liệu PowerPoint
Sau đó là sự xuất hiện các hệ thống thương mại với khả năng quản lý nội dung đa phương tiện nhờ có khả năng hỗ trợ kiểu dữ liệu phức hợp cho các kiểu media khác nhau Tiệm cận hướng đối tượng cho khả năng định nghĩa các kiểu
Trang 8dữ liệu và các thao tác mới phù hợp với các kiểu media mới như video, ảnh và
audio Do vậy các MMDBMS thương mại được sử dụng rộng rãi là trên cơ sở DBMS quan hệ-mở rộng (ORDBMS) Informix bán trên thị trường ORDBMS từ
1996-1998 Các công việc tiếp theo là mở rộng dịch vụ tìm kiếm (chủ yếu theo tiêu chí tương tự) video, audio và các công cụ trình diễn, duyệt
Tiếp theo là các dự án đang thực hiện (hoặc vừa mới kết thúc) Các dự án này chủ yếu tập trung vào các ứng dụng giàu nội dung ngữ nghĩa Phần lớn chúng được xây dựng trên các chuẩn MPEG mới (MPEG-7 và MPEG-21)
Như vậy MMDBMS cần có khả năng hỗ trợ các kiểu dữ liệu đa phương tiện,
hơn nữa phải có khả năng thực hiện các chức năng thông thường của DBMS truyền thống như tạo lập CSDL, mô hình hóa dữ liệu, truy tìm, xâm nhập, tổ chức dữ liệu và độc lập dữ liệu
Trong khuôn khổ của luận văn này, một số vấn đề cơ bản của hệ quản trị cơ
sở dữ liệu đa phương tiện, cụ thể là CSDL văn bản được trình bày theo cấu trúc như sau:
Chương 1: Khái quát về CSDL đa phương tiện
Trong chương này trình bày khái quát về mô hình dữ liệu đa phương tiện, kiến trúc tổng quát của CSDL đa phương tiện
Chương 2: Một số kỹ thuật truy vấn văn bản trên cơ sở nội dung trong CSDL đa phương tiện
Chương này trình bày một số phương pháp nén dữ liệu văn bản, lập chỉ mục văn bản, truy vấn thông tin trong CSDL và khảo sát một số công cụ tìm kiếm hiện có
Chương 3: Xây dựng ứng dụng thử nghiệm để truy tìm văn bản
Tập trung nghiên cứu và cài đặt thử nghiệm một số phương pháp tìm kiếm theo nội dung trong cơ sở dữ liệu đa phương tiện, cụ thể là dữ liệu văn bản
Trang 9Chương 1: KHÁI QUÁT VỀ CƠ SỞ DỮ LIỆU
ĐA PHƯƠNG TIỆN
1 Khái quát về cơ sở dữ liệu đa phương tiện[1]
Chúng ta đang sống trong kỷ nguyên mà công nghệ thông tin phát triển như
vũ bão và máy tính là thiết bị xử lý biểu tượng (symbolic) - các thiết bị có đầu vào là các biểu tượng theo luật alphabet và đầu ra là tập các biểu tượng của cùng dạng trên
Tuy nhiên, trong những năm gần đây xuất hiện nhu cầu vô cùng lớn về khả năng khai thác và xử lý dữ liệu với số lượng khổng lồ mà nó là điều không dễ dàng diễn tả chỉ với việc sử dụng các ký tự Các kiểu dữ liệu đó là ảnh, video, tài
liệu, âm thanh (dữ liệu Media) Multimedia là tập hợp các kiểu media được sử
dụng với nhau (dữ liệu đa phương tiện) Hệ quản trị CSDL đa phương tiện
(Multimedia DataBase Management System-MMDBMS) là một hệ thống giúp
người dùng thao tác trên các dữ liệu media một cách thích hợp và hiệu quả Các
thao tác cơ bản của hệ quản trị CSDL thường là chèn, cập nhật, xoá và tìm kiếm một đối tượng trong CSDL Như vậy ta có thể nói rằng CSDL đa phương tiện là tập hợp các đối tượng phương tiện với các kiểu khác nhau Sau đây là một số kiểu dữ liệu được đề cập đến:
- Dữ liệu hình ảnh (Image data): Ví dụ một học viên phẫu thuật muốn thực
hành một ca phẫu thuật trên một bệnh nhân ảo có những triệu chứng sinh lý nào
đó Trong thực tế để tìm ra bệnh nhân với những triệu chứng mong muốn, học viên phẫu thuật phải truy vấn cơ sở dữ liệu (CSDL) ảnh phân tán và kích thước
lớn chứa ảnh X quang hay MRI (Magnetic Resonance Imaging) của các bệnh
nhân với các triệu chứng tương tự Không phải trường hợp nào các triệu chứng cũng dễ dàng được mô tả bằng các văn bản, trong một số trường hợp nó sẽ là dễ dàng hơn cho học viên phẫu thuật nếu có thể trình diễn hình ảnh của loại mẫu (pattern) mà anh ta đang tìm kiếm trong các ảnh X quang của bệnh nhân Trong
cả hai trường hợp một CSDL hình ảnh phải tồn tại Ta có thể truy vấn trên cơ sở nhiều tiêu chí khác nhau Vài chục năm gần đây việc sử dụng CSDL ảnh đã
Trang 10mang lại hiệu quả to lớn trong các lĩnh vực khác nhau của cuộc sống như việc lưu trữ ảnh hộ chiếu, ảnh chụp X quang và ảnh cắt lớp trong các bệnh viện, cơ quan NASA lưu trữ các ảnh của trái đất
- Dữ liệu Video (Video data): Giả sử một ai đó mong muốn có những bài
giảng bằng băng hình về một chủ đề kỹ thuật nào đó Như vậy đòi hỏi phải truy vấn thư viện băng hình mà nó bao gồm tập hợp vô số các băng hình với nội dung
kỹ thuật
- Dữ liệu âm thanh (Audio data): Tình huống tương tự như trên, các sinh viên
học từ xa muốn có các đoạn audio bài giảng của giáo viên Hoặc các sinh viên ngoại ngữ muốn có các đoạn audio các cuộc đàm thoại Trong trường hợp này cần phải tập hợp các đoạn audio theo một chủ đề nào đó cho thuận tiện
- Dữ liệu tài liệu (Document data): Các đoạn văn bản, các từ, câu, đoạn văn,
chương là một CSDL văn bản truyền thống Một CSDL tài liệu khác văn bản ở chỗ nó không chỉ chứa các thông tin dạng văn bản thô mà còn chứa đựng cả cấu trúc và hình ảnh nhúng Ví dụ, dữ liệu tài liệu được tạo ra, chèn và phục hồi nhờ
sử dụng các ngôn ngữ đánh dấu chuẩn như HTML hay SGML Trong các trường hợp như vậy cấu trúc của tài liệu có thể được khai thác dựa trên mục lục dữ liệu Hoặc khi ta xem sách, trong sách không chỉ chứa dữ liệu văn bản mà còn chứa
cả hình ảnh (có thể là hình vẽ hay các bức ảnh) Giả sử người đọc muốn tìm một bức ảnh nào đó nhưng không thể tìm trong CSDL ảnh Tuy nhiên nếu có một thư viện điện tử số để truy cập thì việc tìm thấy bức ảnh mong muốn là rất dễ dàng Như vậy, dữ liệu tài liệu bao gồm các phương tiện quan trọng mà trong đó các thông tin có thể được lưu trữ dưới dạng điện tử
Những năm trước đây khi nhiều dữ liệu dạng văn bản (text) được lưu trữ dưới khuôn dạng máy tính có thể đọc Từ đó dẫn tới phát triển các hệ thống quản trị CSDL mà ngày nay được sử dụng trong hầu hết các tổ chức, cơ quan Tuy nhiên, các hệ quản trị CSDL này không thể quản lý dữ liệu đa phương tiện một cách có hiệu quả bởi vì các tính chất dữ liệu văn bản và dữ liệu đa phương tiện
là khác nhau, và CSDL đa phương tiện với các dữ liệu ảnh, video, âm thanh thường là rất lớn Do vậy, việc nghiên cứu phát triển hệ thống quản trị CSDL có
Trang 11khả năng quản lý dữ liệu đa phương tiện với các kỹ thuật truy tìm và chỉ mục mới là rất cần thiết MMDBMS là một khung làm việc để quản lý các kiểu dữ liệu khác nhau mà chúng được thể hiện trong rất nhiều khuôn dạng khác nhau
Để làm việc thành công thì một MMDBMS phải có các khả năng sau:
+Có khả năng truy vấn đồng bộ dữ liệu (dữ liệu media và dữ liệu văn bản) được thể hiện trong các định dạng khác nhau Thí dụ: một MMDBMS sẽ có khả năng truy vấn và tích hợp dữ liệu mà nó được lưu trong các CSDL khác nhau (ví dụ: PARADOX, DBASE…) mà có thể sử dụng các lược đồ khác nhau, cũng như việc truy vấn tệp phẳng và dữ liệu lưu trữ trong DBMS hướng đối tượng hay DBMS không gian Việc xử lý các truy vấn như vậy là khá phức tạp vì trên thực tế việc nhận biết được nội dung (content) của các kiểu media là vấn đề thách thức và nó phụ thuộc rất nhiều vào kiểu dữ liệu và cách thức lưu trữ chúng Cuối cùng, truy vấn có thể mở rộng đối với nhiều kiểu vật mang (media) dữ liệu
và MMDBMS phải có khả năng kết hợp các kết quả từ các nguồn dữ liệu khác nhau và các kiểu media khác nhau
+ Có khả năng truy vấn dữ liệu biểu diễn trong media khác nhau Ví dụ: một MMDBMS phải có khả năng truy vấn không chỉ trong CSDL hình ảnh mà còn
cả trong CSDL âm thanh và CSDL quan hệ, sau đó kết hợp các kết quả với nhau + MMDBMS phải có khả năng khai thác các đối tượng mang tin (media) từ một thiết bị lưu trữ cục bộ một cách trơn tru, không có jitter (phải liên tục) Bởi các đối tượng mang tin (video, âm thanh…) thường chiếm một không gian vô cùng lớn Thí dụ nó có thể chiếm đến 10 Gigatebytes bộ nhớ do vậy những dữ liệu dạng này cần được lưu trữ trong các bộ nhớ ngoài (Disk, CD-ROM, Floppy…) hay tổ hợp các thiết bị đó
+ MMDBMS phải có khả năng tạo ra các câu trả lời từ truy vấn (khái niệm
“answer to a query” được coi như cấu trúc toán học) và có khả năng trình diễn các câu trả lời này bằng các phương tiện nghe nhìn Mặc dù vậy, hình thức và nội dung của trình diễn có thể khác nhau từ ứng dụng này đến ứng dụng khác,
do đó người sử dụng phải xác định được cấu trúc của hình thức và nội dung của các trình diễn kết quả thu được từ hệ thống
Trang 12+ Mỗi một hệ thống có đầy đủ các đặc tính yêu cầu trên là chưa đủ mà còn cần phải có khả năng phân phối các trình diễn theo một cách nào đó nhằm thoả mãn các yêu cầu khác nhau về chất lượng thể hiện của các thiết bị.Ví dụ: nếu MMDBMS quyết định rằng một luồng dữ liệu âm thanh và một luồng dữ liệu Video phải được thể hiện cùng một lúc, để làm được việc đó MMDBMS phải đảm bảo được rằng sự thể hiện này không bị ảnh hưởng do hiện tượng như jitter hay trục trặc nào đó Điều quan trọng hơn là MMDBMS phải quan tâm đến việc
dữ liệu đang được phân phối cho các thiết bị ra liên quan (loa, bàn phím, màn hình…) mà chúng có thể tập trung tại các nút mạng phân tán Do đó, các nhân tố như khả năng sẵn sàng của vùng đệm và độ rộng băng thông cần được lưu ý khi phân phát trình diễn tới người sử dụng Hơn nữa, đòi hỏi về chất lượng dịch vụ cho biết rằng các tính chất hiệu năng khác nhau cần được tối ưu theo các rằng buộc nói trên
2 Nhiệm vụ thiết kế và kiến trúc CSDL đa phương tiện[1, 2]
Chúng ta đang đứng trước sự bùng nổ thông tin đa phương tiện Với việc lưu trữ một số lượng lớn ảnh hàng ngày trong y tế, ảnh vệ tinh, các ảnh trên tivi, báo thì việc thúc đẩy công nghệ số lưu trữ và trình diễn là rất cần thiết Không thể sử dụng nhanh và hiệu quả các thông tin đa phương tiện này nếu chúng không được tổ chức tốt để truy tìm nhanh Sau đây là các tính chất của chúng:
- Khối lượng khổng lồ (đặc biệt audio và video)
- Audio và Video có thêm chiều thời gian
- Dữ liệu ảnh, audio và video được thể hiện bởi dãy các giá trị mẫu, không có cấu trúc nhất định để máy tính tự động nhận biết
- Rất nhiều ứng dụng đa phương tiện đòi hỏi trình diễn đồng thời các loại media khác nhau
- Ý nghĩa của dữ liệu đa phương tiện đôi khi rất mờ
- Dữ liệu đa phương tiện rất giàu thông tin Đòi hỏi nhiều tham số để biểu diễn thông tin của chúng
Các hệ thống tự động truy tìm thông tin (IR-Information Retrieval) đã được phát triển để quản lý khối lượng lớn tài liệu cách đây và chục năm Chức năng
Trang 13chính của hệ thống là lưu trữ và quản trị khối lượng văn bản lớn theo cách sao cho dễ dàng truy vấn tài liệu liên quan với người sử dụng Kỹ thuật IR rất quan trọng trong hệ thống quản trị thông tin đa phương tiện vì hai lý do chính: Thứ nhất, khối lượng văn bản rất lớn đang có sẵn trong các cơ quan Văn bản là nguồn thông tin quan trọng của mọi tổ chức Để sử dụng hiệu quả thông tin trong các tài liệu này cần có hệ thống IR hiệu quả Thứ hai, văn bản còn được sử dụng để mô tả các loại media khác như audio, ảnh và video Các kỹ thuật IR quen thuộc có thể được sử dụng để truy tìm thông tin đa phương tiện Tuy nhiên việc sử dụng IR để quản lý dữ liệu đa phương tiện có các hạn chế sau:
- Mô tả thường là tiến trình thủ công và tốn kém thời gian
- Mô tả bằng văn bản không đầy đủ và chủ quan
- Kỹ thuật IR không áp dụng được cho truy vấn các loại dữ liệu khác văn bản
- Một vài đặc trưng như kết cấu ảnh (image texture) và hình dạng ảnh rất khó
mô tả bằng văn bản
Ngoài ra, đòi hỏi hệ thống truy tìm và chỉ số hoá đủ tốt để sử dụng dữ liệu hiệu quả Dữ liệu đa phương tiện có tính chất và yêu cầu đặc biệt, khác xa với loại dữ liệu chữ và số CSDL truyền thống không phù hợp với việc quản lý dữ liệu đa phương tiện Các kỹ thuật truy tìm thông tin có thể giúp truy tìm đa phương tiện nhưng chúng chưa có khả năng quản lý hiệu quả dữ liệu đa phương tiện
Do đó một kỹ thuật mới dựa trên việc kết hợp các kỹ thuật quản trị cơ sở dữ liệu DBMS, IR và truy vấn trên cơ sở nội dung để tạo thành Hệ thống chỉ mục
và truy tìm thông tin đa phương tiện (MIRS- Multimedia Indexing & Retrieval System), một MIRS đầy đủ được gọi là Hệ quản trị CSDL đa phương tiện (MMDBMS - Multimedia Database Management System)
2.1 Khái quát về MIRS
Hoạt động của hệ thống MIRS được mô tả trên hình 1.1 Dữ liệu trong
CSDL được tiền xử lý để trích chọn đặc trưng và nội dung ngữ nghĩa Sau đó chúng được chỉ số hóa (đánh chỉ mục) trên cơ sở đặc trưng và ngữ nghĩa Trong khi truy tìm thông tin, câu truy vấn của người sử dụng được xử lý và các đặc
Trang 14trưng của nó được trích chọn Các đặc trưng này sau đó được so sánh với các đặc trưng hay chỉ mục dữ liệu trong CSDL Các mục thông tin nào có đặc trưng
gần giống nhất với các đặc trưng của câu truy vấn thì được tìm ra và trình diễn cho người sử dụng Từ mô hình trên đặt ra các nhiệm vụ cần phải giải quyết:
Dữ liệu có thể là tổ hợp bất kỳ các loại media
Trích chọn đặc trưng từ các mục media này như thế nào?
Các đặc trưng được lưu trữ và cấu trúc như thế nào để truy tìm hiệu quả?
Đo tính “tương tự” giữa hai mục media như thế nào?
Thiết kế giao diện như thế nào để nó có thể chấp nhận các câu truy vấn phức tạp, mờ và mềm dẻo?
Như vậy để giải quyết tốt các nhiệm vụ trên cần phải tổ chức nội dung của các kiểu dữ liệu đa phương tiện như thế nào sao cho có hiệu quả
2.2 Các kiến trúc tổ chức nội dung
Kiến trúc tổng quát của hệ thống
Kiến trúc MIRS cần mềm dẻo và dễ mở rộng để hỗ trợ các ứng dụng, truy vấn và nội dung (đặc trưng) khác nhau Để đạt yêu cầu này MIRS bao gồm nhiều môđun chức năng và quản lý khác nhau Bộ quản lý mới được dễ dàng bổ
Queries
Query features
Information Items
Indexed information items
Similarity computation
Retrieval of similar items
Hình 1.1Hoạt động của hệ thống MIRS
Processing and feature extraction Preprocessing and indexing
Trang 15sung để mở rộng chức năng của MIRS Bộ quản lý hiện hành có thể được hủy bỏ hay thay thế cái mới để cập nhật chức năng
Cơ chế khác của MIRS là khả năng phân tán tự nhiên, nó bao gồm nhiều server và client Cơ chế này hình thành từ kích thước dữ liệu đa phương tiện rất lớn và nhu cầu ứng dụng đồng thời của nhiều người như hệ thống thư viện số và
hệ thống video theo yêu cầu Hình 1.2 chỉ ra kiến trúc cơ sở tổng thể của MIRS Các blốc chức năng chính bao gồm giao diện người sử dụng (UI -User Interface),
bộ trích chọn đặc trưng, quản lý truyền thông, chỉ số hóa và môtơ tìm kiếm, quản lý lưu trữ Các chức năng chính sẽ được mô tả thông qua các kịch bản vận hành của MIRS Hai thao tác chính của MIRS là:
Chèn mục đa phương tiện mới: Người sử dụng đặc tả một hay một
nhóm mục dữ liệu đa phương tiện thông qua UI Các mục được lưu trong tệp hay nhập trực tiếp từ thiết bị ngoài như microphone, CD player, VCR hay video camera Người sử dụng cũng có thể tự vẽ hình làm dữ liệu đầu vào Nội dung của chúng được trích trọn tự động hay bán tự động bằng các công cụ của bộ trích chọn đặc trưng Các đặc trưng này và các mục gốc được gửi về máy chủ thông qua bộ quản lý truyền tin Tại máy chủ, các đặc trưng được tổ chức (chèn) theo lược đồ chỉ số hóa nào đó để truy vấn hiệu quả thông qua mô tơ truy vấn và chỉ số hóa Các thông tin chỉ số và các mục gốc được lưu trữ phù hợp thông qua
bộ quản lý lưu trữ
Truy vấn thông tin: Người sử dụng đưa ra hay đặc tả truy vấn thống qua
UI Truy vấn có thể là tệp lưu trữ trên đĩa hay nhập từ thiết bị vào (bàn phím, chuột) Có thể duyệt các mục trong CSDL để sử dụng nó làm mục truy vấn Nếu mục truy vấn không phải là cái đã có sẵn trong CSDL, các đặc trưng chính của truy vấn được trích chọn theo cách như khi thực hiện chèn mục dữ liệu Các đặc trưng này được gửi đến máy chủ thông qua bộ quản lý truyền tin Môtơ chỉ số hóa và tìm kiếm tìm trong CSDL để có các mục dữ liệu phù hợp với các đặc trưng truy vấn Các mục này được truy vấn nhờ bộ quản lý lưu trữ và gửi đến UI thông qua bộ quản lý truyền tin UI hiển thị danh sách các mục dữ liệu tới người
sử dụng
Trang 162.2.1 Kiến trúc tự trị (atonomy)
Trong kiến trúc này mỗi loại dữ liệu được nhóm thành một nhóm và được lưu trữ theo cách riêng của từng nhóm (hình 1.3) Với loại kiến trúc này sự tương tác giữa các loại dữ liệu là công việc phức tạp và đòi hỏi nhiều công sức lập trình Tuy nhiên việc tạo ra cấu trúc riêng biệt cho mỗi loại dữ liệu đa phương tiện sẽ có hiệu quả nhất về mặt thời gian cho việc xử lý các truy vấn Hơn nữa trong trường hợp cần sự kế thừa dữ liệu thì autonomy là kiến trúc thích
Giao diện người sử dụng
Quản lý truyền thông
Chỉ số hoá và môtơ tìm kiếm
Bộ trích chọn
Quản lý lưu trữ
Trang 17hợp nhất Autonomy cũng thích hợp cho các công nghệ hướng đối tượng với việc xem xét mỗi nguồn dữ liệu đa phương tiện như một đối tượng với các phương thức của nó có thể truy cập đến CSDL đa phương tiện tổng thể
2.2.2 Kiến trúc đồng nhất (uniformity)
Với kiến trúc dạng này thay vì việc phân chia các loại dữ liệu thành các nhóm riêng biệt chúng ta cố gắng tìm một cấu trúc trừu tượng để có thế sử dụng làm chỉ mục chung cho toàn bộ các kiểu dữ liệu gọi là unified index (hình 1.4) Chúng ta có thể thể hiện nội dung của tất cả các đối tượng dữ liệu khác nhau (văn bản, hình ảnh, âm thanh, video…) trong cùng một cấu trúc dữ liệu và sau
đó xây dựng các giải thuật truy vấn trên cấu trúc dữ liệu đó Kiến trúc này đòi hỏi việc kiểm tra nội dung của mỗi kiểu dữ liệu và trừu tượng hóa các phần chung sau đó xây dựng chỉ mục dựa trên các thành phần đã được nhận dạng Với kiến trúc này việc tương tác giữa các loại dữ liệu là rất thuận tiện vì chúng có cùng cấu trúc dữ liệu Tuy nhiên kiến trúc này đòi hỏi giai đoạn trừu tượng hóa
dữ liệu mất rất nhiều thời gian và có thể phải làm thủ công hoặc bán tự động bởi nếu làm tự động có thể gây mất hoặc thiếu thông tin
Multimedia Query Engine
Document Index Image Index Audio Index Video Index
Hình 1.3 Kiến trúc autonomy
Query
User
Answer
Trang 182.2.3 Kiến trúc lai (hybrid)
Kiến trúc này là sự kết hợp của 2 kiến trúc trên (hình 1.5) Một số kiểu dữ liệu sử dụng chỉ mục của riêng nó, một số khác sử dụng theo kiến trúc uniformity tùy thuộc vào đặc điểm cũng như yêu cầu ứng dụng Kiến trúc này tận dụng được ưu điểm của cả hai loại kiến trúc trên và hạn chế những nhược điểm của chúng
Multimedia Query Engine
Multimedia Query Engine
Trang 193 Mô hình dữ liệu đa phương tiện[1, 2, 6]
Mô hình dữ liệu trong cơ sở dữ liệu đa phương tiện là cung cấp khung làm việc (hay ngôn ngữ) để biểu diễn thuộc tính các mục dữ liệu mà nó sẽ được lưu trữ và truy vấn nhờ hệ thống Khung làm việc phải cho phép người sử dụng và người thiết kế định nghĩa, chèn, huỷ, sửa đổi và tìm kiếm mục dữ liệu và thuộc tính Mô hình dữ liệu đa phương tiện thu thập thuộc tính tĩnh và thuộc tính động của các mục dữ liệu, cung cấp cơ sở hình thức để phát triển các công cụ phù hợp,
cần thiết khi sử dụng dữ liệu đa phương tiện Đặc tính tĩnh bao gồm các đối
tượng hình thành nên dữ liệu đa phương tiện, quan hệ giữa các đối tượng và các
thuộc tính đối tượng Các thuộc tính động bao gồm các đặc tính liên quan đến
tương tác giữa các đối tượng, các thao tác giữa các đối tượng, các thao tác trên các đối tượng, tương tác với người sử dụng… Các kiểu dữ liệu đa phương tiện
cơ bản được hỗ trợ để cung cấp nền tảng hình thành các đặc trưng bổ sung Không gian các đặc trưng đa chiều là đặc tính của chỉ số hoá đa phương tiện Mô hình dữ liệu cần hỗ trợ trình diễn không gian đa chiều này, đặc biệt thước đo khoảng cách trong nó.Mô hình dữ liệu MIRS hình thành trên nền tảng nguyên tắc hướng đối tượng và phân cấp đa tầng
Hình1.6 : Mô hình dữ liệu đa phương tiện tổng quát
Tầng kiểu Media
Tầng khuôn mẫu Media
Tầng đối tượng
Không gian Tổng hợp Thời gian
Văn bản Ảnh Âm thanh Video
Trang 20Tầng đối tƣợng
Đối tượng bao gồm một hay nhiều mục media với các quan hệ không gian và thời gian xác định Thí dụ một đối tượng đa phương tiện là một trang slide bao gồm vài ảnh và audio kèm theo
Nhiệm vụ mấu chốt là bằng cách nào để chỉ ra các quan hệ không gian và thời gian Quan hệ không gian được đặc tả bởi kích thước và vị trí cửa sổ hiển thị của mỗi mục Phương pháp chung đặc tả thời gian là đặc tả trên cơ sở trục thời gian trong đó thời gian bắt đầu và độ dài mỗi mục được xác định trên cơ sở đồng hồ chung Phương pháp khác là mô hình điều khiển theo sự kiện
Tầng loại media
Tầng này bao gồm các loại media chung như văn bản, đồ họa, ảnh, audio và video Các loại này được suy diễn từ lớp media trừu tượng chung Tại mức này, các đặc trưng và thuộc tính được đặc tả Thí dụ loại media ảnh: kích thước, biểu
đồ màu, các đối tượng chính nó chứa được đặc tả Các đặc trưng này được sử dụng trực tiếp vào tìm kiếm và tính toán khoảng cách
Tầng khuôn mẫu media
Tầng khuôn mẫu có nhiệm vụ đặc tả khuôn mẫu mà ở đó dữ liệu được lưu trữ Loại media thông thường có nhiều khuôn mẫu có thể, thí dụ ảnh có thể là ảnh nén hay ảnh thô Hơn nữa có rất nhiều kỹ thuật và chuẩn nén khác nhau Thông tin chứa trong tầng này được sử dụng để giải mã, phân tích và trình diễn
Với các ứng dụng khác nhau có thể cần các mô hình dữ liệu khác nhau Tuy nhiên nhiều ứng dụng cùng chia sẻ mô hình cơ sở chung, nếu được thiết kế tốt thì có thể bổ sung các đặc trưng và đối tượng mới để đáp ứng yêu cầu ứng dụng
cụ thể
Cơ sở dữ liệu đa phương tiện liên quan đến nhiều lĩnh vực khác nhau và khá phức tạp Phần tiếp theo của luận văn là tập trung nghiên cứu để xây dựng CSDL văn bản trong CSDL đa phương tiện
Trang 21Chương 2: MỘT SỐ KỸ THUẬT TRUY VẤN VĂN BẢN TRÊN CƠ
SỞ NỘI DUNG TRONG CƠ SỞ DỮ LIỆU ĐA PHƯƠNG TIỆN
Một vài thập kỷ gần đây có sự bùng nổ về lượng dữ liệu số truyền qua mạng Internet gồm dữ liêụ văn bản, hình ảnh, âm thanh, các chương trình máy tính,…Cùng với việc nâng cấp đường truyền và mở rộng không gian lưu trữ thì nghiên cứu một thuật toán nén dữ liệu để sử dụng một cách có hiệu quả nhất đường truyền hiện tại cũng là một yêu cầu cấp thiết Và cùng với nó thì việc truy tìm tài liệu sẽ nhanh chóng hơn nếu chúng được đánh chỉ mục
1 Nén dữ liệu văn bản[2, 6]
1.1.Văn bản
1.1.1 Văn bản thuần túy
Đây là khuôn mẫu cơ sở nhất, văn bản thuần túy chỉ bao gồm các ký tự chữ
và số, hầu hết biểu diễn bằng mã ASCII (American Standard Code for
Information Interchange) Sử dụng ASCII 7 bit và ASCII 8 bit nếu sử dụng thêm
1 bít parity và cho văn bản không phải tiếng Anh
Ký tự được biểu diễn duy nhất, các mục (item) trong văn bản có thể là ký tự
hay từ, dễ nhận biết Không gian lưu trữ trung bình
Khó khăn khi truy tìm tài liệu text là các tài liệu text không có thuộc tính cố
định như bản ghi trong CSDL truyền thống Các từ (word) hay các thuật ngữ (term) có nhiều nghĩa
1.1.2 Văn bản có cấu trúc
Phần lớn tài liệu văn bản là có cấu trúc, bao gồm tiêu đề, chương, mục, đoạn… Mỗi phần khác nhau của văn bản có cấu trúc được in hay hiển thị khác nhau Tồn tại nhiều chuẩn và khuôn mẫu mã hóa thông tin cấu trúc này Thí dụ, khuôn mẫu hay được sử dụng trong các chương trình xử lý văn bản là SGML
(Standard General Markup Language), ODA (Office Document Architecture), LaText và PDF (Portable Document Format)
Thông thường, file header được sử dụng để chỉ ra khuôn mẫu tài liệu Khi
đã biết khuôn mẫu tệp, có thể trích trọn thông tin cấu trúc để truy tìm văn bản
Trang 22Thí dụ, các từ hay thuật ngữ xuất hiện trong tiêu đề hay tên chương mục sẽ quan trọng hơn từ trong text Do vậy, nó có trọng lượng lớn hơn trong tiến trình chỉ mục và truy tìm Các tài liệu liên quan còn có thể xác định trên cơ sở quan hệ của nó (thông qua liên kết) với các tài liệu khác nếu tài liệu này là một phần của tập hợp hypertext
1.2 Nén văn bản
Nén dữ liệu là công việc lấy các “ký tự” từ một “văn bản” đầu vào, xử lý chúng, và ghi lại “bản mã” vào file nén Một điều quan trọng là sau khi giải nén
ta vẫn được một bản sao giống hệt với văn bản nguồn, và file nén phải có kích
cỡ nhỏ hơn so với văn bản nguồn
Vấn đề về diễn tả thông tin một cách hiệu quả không phải là mới Con nguời vẫn luôn quan tâm tới việc lưu trữ, truyền tải thông tin, và các phương pháp nén văn bản để tăng hiệu suất xử lý thông tin Ví dụ: mã Braille cho người mù gồm các cấu trúc diễn tả những từ thông thường bởi 2 hoặc 3 ký tự
Các phương pháp nén văn bản được thiết kế chủ yếu để giảm bớt lượng không gian sử dụng mà không tốn quá nhiều thời gian chạy hay nói cách khác nó tốn ít
bộ nhớ để lưu trữ và tốn ít thời gian để truyền, tuy nhiên file văn bản gốc (file nguồn) có thể khôi phục lại chính xác từ văn bản nén Thông thường hầu hết các tập tin máy tính có rất nhiều thông tin dư thừa Các phương pháp nén sẽ làm tiết kiệm chỗ bằng cách khai thác một sự kiện là hầu hết các tập tin có một “nội dung thông tin” tương đối thấp Các kỹ thuật nén tập tin thường được dùng cho các tập tin văn bản Kỹ thuật nén văn bản phân biệt với phương pháp nén dữ liệu thông thường bởi vì tệp nguồn luôn được phục hồi hoàn toàn trạng thái ban đầu Đối với một số kiểu dữ liệu khác với văn bản, như âm thanh, ảnh sự thay đổi nhỏ, hoặc nhiễu có thể bị bỏ qua do quá trình biến đổi giữa tín hiệu tượng tự sang tín hiệu số và ngược lại
Một số phương pháp nén văn bản đã được phát minh và điều chỉnh từ nhiều năm trước đây Sự sắp xếp từ một số lớn các kỹ thuật đòi hỏi tìm ra phương pháp cơ bản mà có thể đưa ra cách nén tốt Một trong những phương pháp được biết đến sớm nhất và tốt nhất của nén văn bản cho việc lưu trữ trên máy tính và
Trang 23truyền thông là mã hoá Huffman Các ký hiệu phổ biến được mã hoá với một vài bit, trong khi các ký hiệu hiếm khi xuất hiện thì tương ứng với mã có số lượng bit dài hơn Xuất hiện đầu những năm 1950, mã hoá Huffman được coi là một trong những phương pháp nén hiệu quả nhất trong vài thập kỷ, cho tới những năm 1970 khi phương pháp nén Ziv-Lempel và mã hoá Airthmetic ra đời với tốc độ nén và giải nén nhanh hơn Cả hai phương pháp này đều đạt được sức mạnh dựa vào việc ứng dụng một kiểu mã hoá động (dynamic coding)
Hầu hết các phương pháp nén sử dụng ngày nay được phân thành hai trường phái: các lược đồ cơ sở từ điển và các phương pháp tĩnh Trong thế giới các hệ thống nhỏ thì kỹ thuật nén theo cơ sở từ điển dường như phổ biến hơn Tuy nhiên, nếu kết hợp mã hoá Airthmetic với các giải pháp tĩnh cho việc nén dữ liệu thì ta có thể đạt được một tốc độ thực thi cực kỳ nhanh
Giải pháp từ điển:
Hệ thống nén dựa trên cơ sở từ điển được thực thi bằng cách thay thế các nhóm ký tự trong văn bản nguồn với các bản mã có kích cỡ cố định Một ví dụ điển hình của kỹ thuật nén từ điển là LZW LZW thực thi bằmg cách thay thế các xâu với độ dài không hạn chế bởi các bản mã kích cỡ từ 9 tới 16 bit
Giải pháp tĩnh:
Các giải pháp tĩnh của nén dữ liệu có hướng tiếp cận khác Chúng thực thi bằng cách mã hoá các ký tự một lần tại mỗi thời điểm Các ký tự được mã hoá thành các bản mã với độ dài thay đổi Độ dài của bản mã hoá tuỳ thuộc vào tần
số xuất hiện của ký tự Các ký tự với tần số xuất hiện nhỏ được mã hoá với độ dài lớn hơn, các ký tự với khả năng xuất hiện cao được mã hoá với số lượng bit
ít hơn
Thông thường sự phân cách giữa hai phương pháp tĩnh và từ điển là không
rõ ràng Một số lược đồ không thể được phân vào bên này hoặc bên kia và luôn
có sự lai ghép của cả hai kỹ thuật
Sau đây là mô tả vắn tắt nguyên tắc nén Huffman, RLE và LZW
Trang 241.2.1 Mã hóa Huffman
Mã hóa Huffman hay được sử dụng nhất để nén không mất mát thông tin Phương pháp mã hóa Huffman gán ít bít hơn cho các ký tự xuất hiện thường xuyên hơn trong văn bản Kỹ thuật này hiệu quả khi xác suất xuất hiện của các
Trong trường hợp sử dụng kỹ thuật nén Huffman, ta có thể sử dụng bit 1 để biểu diễn e, 01 cho t, 001 cho x và 000 cho z Trong trường hợp này thì tổng số bít cần biểu diễn tệp văn bản sẽ là: 1000(1*0.8+2*0.16+3*0.02+3*0.02) = 1240 bít
Quy tắc gán các bít (hay mã) cho các biểu tượng (ký tự) gọi là codebook
Codebook của thí dụ trên được biểu diễn như bảng sau:
Liệt kê các ký tự theo thứ tự tần số/xác suất xuất hiện
Lập cây mà cành của nó là hai ký tự có trọng lượng (xác suất) nhỏ nhất, gán nhãn 1 và 0 cho chúng
Loại bỏ hai ký tự vừa được sử dụng khỏi danh sách và bổ xung ký tự mới có xác suất bằng tổng xác suất các cành của chúng
Trang 25Lập cây mà cành của nó (có nhãn 0 hay 1) là hai ký tự có xác suất nhỏ nhất trong danh sách mới Cây này có thể chứa hai ký tự khác hay chứa ký tự và cây vừa tạo ra
Lặp thủ tục cho đến khi hình thành cây lớn
Từ mã được hình thành từ việc đọc các giá trị 0 hoặc 1 đi từ đỉnh cây đến lá của
1.2.2 Mã hóa loạt dài (Run-Length Coding - RLE)
Phương pháp nén RLE là làm giảm thiểu độ lớn tệp khi trong dãy có ký tự
lặp Sự xuất hiện lặp của các ký tự được gọi là “run”, tổng số lặp gọi là “length”
Gốc
Bước 3 ->
Bước 4 ->
Bước 2 >
Trang 26của “run” Mã hóa RLE là thay thế run bằng chính ký tự lặp và tổng số ký tự
ty Unisys phát triển phiên bản mới từ LZ78 (do vậy gọi là thuật tóan LZW –
Lempel Ziv Welch) và được sử dụng rộng rãi trong các phần mềm nén kể cả
chương trình nén của Unix Năm 1995 Welch đã đăng ký bản quyền phát minh
thuật toán này Cho đến nay, các sản phẩm phát triển trên cơ sở thuật toán LZW đều phải mua bản quyền khi thương mại
Ý tưởng mã hóa khá đơn giản, nén LZW thay thế các chuỗi ký tự bởi các mã đơn mà không thực hiện phân tích các chuỗi ký tự vào LZW thực hiện xây dựng
từ điển câu (nhóm của một hay nhiều ký tự) từ dòng ký tự vào Khi gặp câu
(phrase), môtơ nén kiểm tra xem câu có sẵn trong từ điển chưa Nếu chưa, câu
sẽ được bổ sung vào từ điển và báo hiệu ở đầu ra là vị trí của câu trong từ điển Nếu câu đang tồn tại trong từ điển thì chỉ thông báo là đã có câu trong từ điển
Trang 27Trong khi RLE làm việc ở mức ký tự thì LZW làm việc ở mức câu Kỹ
thuật này phù hợp với các ngôn ngữ sử dụng nhiều nhóm ký tự lặp, thí dụ “the”
trong tiếng Anh Kỹ thuật này là lựa chọn tốt cho nén văn bản
Thí dụ sau đây chỉ ra tính hiệu quả của nén LZW: Giả sử ta có tệp 10000 ký
tự Nếu biểu diễn mỗi ký tự bằng mã ASCII 8 bít thì cần đến 80000 bít Nếu sử dụng nén LZW thì hiệu quả hơn Giả sử tệp có 2000 từ hay câu, trong đó chỉ 500
từ khác nhau Như vậy, ta chỉ cần 9 bít để chỉ ra từng từ hay câu khác biệt Do vậy chỉ cần 18 000 bít để mã hóa toàn bộ tệp Tỷ lệ nén đạt tới 4.4 Hầu hết các chương trình nén văn bản sử dụng nguyên lý này Hơn nữa nó còn sử dụng rất
hiệu quả trong nén tệp ảnh TIFF và ảnh GIF (Graphics Interchange Format) của công ty CompuServe
Khác với Huffman, LZW không cần xây dựng trước bảng mã khi mã hóa
Bắt đầu từ bảng đơn giản, nó xây dựng dần dần bảng mã hiệu quả hơn; do vậy LZW còn được gọi là phương pháp thích nghi Mã của đầu ra thuật toán LZW
có độ dài tùy ý, thường có số bit dài hơn số bit để mã hóa một ký tự 256 mã đầu tiên thường dành cho mã hóa các ký tự theo chuẩn ASCII Nếu sử dụng 12 bít để
mã hóa thì các giá trị từ 256-4095 là dành để mã hóa các chuỗi con
Trang 28Output (chỉ mục của chuỗi B)
T[i]:= chuỗi (B+E); tăng i;
trong đó, (i) là mã của chuỗi ký tự tương ứng trong từ điển
Thuật toán giải nén
Output (T[k]) // Xâu thứ k trong bảng T
WHILE (chưa đến cuối tệp) DO
Trang 29BEGIN
E:=B[0]; Output (B+E);
// Khi k>=i thì k=i END
Trong tìm kiếm, chúng ta thường trông đợi nhiều vào các máy tìm kiếm (search engine) Chúng ta thường đặt ra các câu hỏi về các chủ đề mà chúng ta chưa rõ và chờ đợi các đáp ứng ngắn gọn có tổ chức Ví dụ: chúng ta cần tìm các tài liệu có từ “principle” nhưng lại gõ nhầm từ “principal” Điều cơ bản là chúng
ta thường đòi hỏi máy tính cung cấp thông tin mà ta muốn, thay vì thông tin mà
Trang 30phương pháp đánh trọng số thuật ngữ được sử dụng để đặt ra các sự nhấn khác nhau cho một quan hệ của thuật ngữ (hoặc từ khoá) với các thuật ngữ và tài liệu khác trong tập hợp Một trong những công cụ toán học hiệu quả nhất về đánh chỉ mục tự động là mô hình không gian véctơ Trong mô hình thu thập không gian véctơ (IR), một véctơ duy nhất được định nghĩa cho mọi thuật ngữ trong tất cả các tài liệu Véctơ duy nhất khác được tính toán cho câu truy vấn của người sử dụng Với các câu truy vấn dễ dàng được biểu diễn trong mô hình không gian véctơ, thì việc tìm kiếm được hiểu là tính toán các khoảng cách giữa câu truy vấn và các véctơ tài liệu Tuy nhiên, trước khi có thể tạo ra các véctơ trong tài liệu, ta cần phải thực hiện một số chuẩn bị tài liệu ban đầu
Phần lớn các search engine hiện nay sử dụng cấu trúc có hai thành phần chính là phần thu thập tài liệu (crawler) và phần tạo các chỉ mục tài liệu (indexer)
2.1 Thu thập và chọn lọc tài liệu
Phần quan trọng của sự phát triển cho search engine là quyết định chuẩn bị tài liệu cần tìm kiếm như thế nào Nếu các tài liệu được đánh chỉ mục tự động, thì chúng được quản lý và giải quyết khác nhiều nếu chúng được đánh chỉ mục bằng tay Người thiết kế search engine phải nhận thức rằng việc xây dựng chỉ mục tự động là quan trọng bằng các thành phần khác trong việc phát triển search engine
Người thiết kế hệ thống phải xem xét việc người sử dụng liên kết vào nhiều
cơ sở dữ liệu khác nhau qua một giao diện Mỗi cơ sở dữ liệu sẽ có cách riêng để
xử lý dữ liệu Hơn nữa, người sử dụng thường không biết là đang tìm kiếm trên các cơ sở dữ liệu khác nhau (hoặc do là không quan tâm)
Việc xây dựng chỉ mục gồm hai bước:
-Phân tích tài liệu và chọn lọc Bước này yêu cầu phân tích xem từng tài liệu trong từng cơ sở dữ liệu (chẳng hạn các tài liệu Web) được tổ chức như thế nào theo các thuật ngữ mà chúng tạo nên tài liệu (theo chủ đề, tác giả, nguồn, nội dung) và thông tin được trình bày như thế nào Có một câu hỏi được đặt ra là: thông tin quan trọng nằm trong văn bản hay nằm trong các bảng, biểu đồ, hay
Trang 31hình ảnh? Các quyết định phải được đưa ra dựa trên thông tin nào hay phần nào của tài liệu (có thể được gọi là phân vùng) sẽ được đánh chỉ mục và thông tin nào là không cần đánh chỉ mục
- Phân tích dấu hiệu hay trích dẫn tài liệu Dựa trên cơ sở từng từ, quyết định phải được đưa ra trên các từ (hoặc cụm từ) nào sẽ được sử dụng làm chuẩn để biểu diễn tốt nhất nội dung ngữ nghĩa của tài liệu
Chọn lọc và phân tích tài liệu
Sự xuất hiện của World Wide Web (WWW) cho thấy rằng các tài liệu HTML được tạo ra bởi nhiều thuộc tính như hình ảnh, bảng, biểu đồ, âm thanh và chúng
là các thuộc tính nhìn được Nếu xem mã nguồn của tài liệu HTML, chúng ta thấy rất nhiều nhãn như <TITLE>, <COMMENT>, <META>, chúng mô tả các đặc điểm để giúp xác định xem tài liệu được tổ chức và trình bày như thế nào Bất cứ search engine nào trên WWW đều phải xem xét đến tính không đồng nhất của tài liệu HTML Bằng cách kiểm tra các giới hạn của các search engine chúng ta có thể thấy cách xử lý không thống nhất các tài liệu HTML Chúng ta cần tránh việc đánh chỉ mục các thông tin không có nghĩa
Chẳng hạn, các thông tin sau thường được bỏ qua trong nhiều search engine trên Web:
Nhãn <COMMENT>, nó là nhãn cho lập trình viên
Nhãn thuộc tính <ALT TEXT>, để mô tả các ảnh trong trường hợp người sử dụng đặt thuộc tính text only
Nhãn <META>, các nhãn ảnh, khung và URL cũng không được đánh chỉ mục Các URL thường được xác định bằng các nhãn <HREF>
Định dạng văn bản
Sau khi phân tích tài liệu để chuyển sang bước xử lý các thành phần của nó, điều quan trọng là mỗi tài liệu phải ở định dạng ASCII hoặc tương tự như vậy Bởi có một số tài liệu được thêm vào tập hợp bằng các máy quét và được chuyển định dạng sang như là bản thông tin thêm (postscript) Định dạng như vậy hạn chế việc tìm kiếm do nó là ảnh hơn là tập các phần tử có thể tìm kiếm riêng rẽ được Các tài liệu có thể được biến đổi từ các định dạng như vậy sang các tệp
Trang 32ASCII, thậm chí là các phần tử quan trọng và đặc biệt của tài liệu như tiêu đề, tác giả, ngày tháng cũng có thể được đánh dấu và xử lý thích hợp
2.2 Đánh chỉ mục
Đánh chỉ mục thủ công
Đánh chỉ mục bằng tay do con người thực hiện Họ xem tài liệu và gạch dưới các từ khoá cho chỉ mục.Với sự phát triển của các nguồn kỹ thuật số như WWW hơn 320 triệu trang thì việc đánh chỉ mục theo kiểu này là rất tốn kém và mất nhiều thời gian
Các nỗ lực và chi phí mà ngành công nghiệp thông tin thực hiện để tạo ra các thuật ngữ một cách thủ công (ngược lại với sự tập trung vào đánh chỉ mục tự động) đã chỉ ra vị trí thông tin quan trọng để có thể nhận ra các khái niệm và các mối quan hệ trong các tài liệu Khả năng này giúp xác định các chủ đề rộng hơn, hẹp hơn, chúng giữ cho khoảng cách chỉ mục thủ công có một chỗ đứng khi cách đánh chỉ mục được dùng rộng rãi Nó cũng là cái đích cho các hệ đánh chỉ mục tự động có thể tạo ra chính xác các mối quan hệ giữa các tài liệu mà trên bề mặt không có liên kết từ với nhau
Ưu điểm chính của đánh chỉ mục thủ công là người đánh chỉ mục có thể tạo ra các quan hệ và các khái niệm giữa các chủ đề tưởng như là khác nhau mà chúng có ích cho người dùng
Nhược điểm là chi phí cao, tốn thời gian và có thể phụ thuộc vào nền tảng
và tính cách của người đánh chỉ mục Chẳng hạn như, nếu hai nhóm người xây dựng các từ điển đồng nghĩa theo lĩnh vực cụ thể, độ trùng nhau của các thuật ngữ được đánh chỉ mục là 60% Hơn nữa, nếu hai người đánh chỉ mục cho cùng một tài liệu cùng dùng một từ điển đồng nghĩa, trong trường hợp này các thuật ngữ chung chỉ là 30%
Một vấn đề nữa là hệ thống được đánh chỉ mục thủ công có thể không được tạo lại khi hệ thống gốc bị thay đổi
Đánh chỉ mục tự động
Đánh chỉ mục tự động hay là dùng phần mềm và các thuật toán để trích chọn các thuật ngữ để đánh chỉ mục là phương pháp chính để xử lý tài liệu từ cơ
Trang 33sở dữ liệu Web lớn Trái ngược với đánh chỉ mục thủ công là ngồi trong các phòng kín, công việc đánh chỉ mục tự động có các rô bốt được lập chương trình
tự động bò đi khắp các trang Web ngày và đêm để thu thập tài liệu và đánh chỉ mục cho từng từ Các rô bốt là các trạm gửi các yêu cầu đến các máy chủ theo cách người sử dụng gửi yêu cầu đến máy chủ
Một sự khác biệt nữa giữa đánh chỉ nục thủ công và đánh chỉ mục tự động
là các khái niệm được nhận biết trong giai đoạn đánh chỉ mục sau việc thu thập
và trích dẫn thông tin Đặc điểm này tạo thêm áp lực cho người tạo search engine phải cung cấp các cách tìm kiếm cho các chủ đề rộng hơn, hẹp hơn hoặc
có quan hệ Cuối cùng, mục đích của các hệ thống đều giống nhau: trích chọn từ các tài liệu các từ mà chúng cho phép người tìm kiếm tìm kiếm các tài liệu phù hợp nhất có thông tin cần tìm
Như vậy chỉ mục tự động tài liệu có những đặc trưng:
Mục tiêu của làm chỉ mục là tìm ra các thuật ngữ tốt nhất để đại diện tài liệu sao cho các tài liệu được truy tìm chính xác trong tiến trình truy vấn Tiến trình chỉ mục tự động bao gồm các bước sau:
Nhận dạng các từ trong tiêu đề, tóm tắt, hoặc/và tài liệu
Loại bỏ từ dừng từ các từ trên đây bằng cách tham khảo từ điển đặc biệt hay danh sách dừng
Nhận dạng các từ đồng nghĩa bằng tham khảo từ điển đồng nghĩa Mọi thuật ngữ có ý nghĩa tương tự sẽ thay thế bằng từ chung
Tìm gốc (stem) các từ bằng thuật toán loại bỏ các tiền tố và hậu tố (suffix và prefix)
Đếm tần số stem trong mỗi tài liệu
Tính toán trọng số các thuật ngữ
Tạo tệp mục lục trên cơ sở các thuật ngữ và trọng số nói trên
2.3 Trích chọn thông tin
Việc xây dựng chỉ mục không chỉ là trích chọn các từ và xây dựng cấu trúc
dữ liệu (chẳng hạn như ma trận thuật ngữ - tài liệu) dựa trên tần suất xuất hiện
Trang 34Các từ phải được phân tích và đưa vào cấu trúc tệp đảo (tệp chỉ mục) Quá trình này tinh chọn này còn được gọi là tiêu chuẩn hoá mục (item normalization) Có thể tóm tắt như sau:
Bước đầu tiên trong bất kỳ hệ thống tích hợp nào là tiêu chuẩn hoá các mục nhận được thành định dạng tiêu chuẩn Để có thể biến đổi được nhiều định dạng khác nhau vào một cấu trúc dữ liệu thống nhất mà nó có thể được thao tác qua nhiều quá trình chức năng, quá trình tiêu chuẩn hoá mục sẽ tái cấu trúc lại hợp lý các mục nhận được Các quá trình trong việc tiêu chuẩn hoá mục
để tạo ra cấu trúc có thể tìm kiếm được là: xác định các dấu hiệu xử lý (chẳng hạn các từ), các đặc điểm của các dấu hiệu , và tìm nguồn của các dấu hiệu (chẳng hạn như loại bỏ các hậu tố) Nói cách khác, một phần công việc của chuẩn bị và trích chọn tài liệu là tìm ra các đơn vị nhỏ nhất của tài liệu, trong hầu hết các trường hợp là các từ và xây dựng các cấu trúc dữ liệu có thể tìm kiếm được Các từ có thể được định nghĩa lại là các biểu tượng (các chữ cái, con số), giữa chúng là các biểu tượng liên kết từ như các dấu cách Một hệ thống tìm kiếm phải quyết định xử lý các từ, các số và dấu câu
Bước tiếp theo trong quá trình tiêu chuẩn hoá mục là tạo ra danh sách dừng của tập dấu hiệu xử lý Danh sách dừng là các từ có ít hoặc không có nghĩa để tìm kiếm (“stop word”), thí dụ: các quán từ và giới từ trong tiếng Anh như “of”,
“the”, “a” Theo quan điểm nén dữ liệu, danh sách dừng loại bỏ việc xử lý các
từ không cần thiết và giảm kích cỡ tệp chỉ mục, thời gian và không gian cho cấu trúc dữ liệu tìm kiếm
Tìm từ gốc (stemming), hay loại bỏ các hậu tố (và đôi khi là cả tiền tố) để tìm ra gốc của từ, đã được quan tâm từ lâu trong quá trình xây dựng chỉ mục Tìm từ gốc là tổ hợp tự động các từ có liên quan, thông thường bằng cách làm giảm các từ đến dạng gốc chung Thí dụ, ta có các từ “retrieval”, “retrieved”,
“retrieving” và “retriev” đều xuất hiện trong tài liệu Thay vì coi chúng như bốn
từ khác nhau, ta chỉ mục bố từ này bằng gốc chung “retriev” Thuật ngữ
“retriev” được sử dụng làm thuật ngữ chỉ mục của tài liệu
Trang 35Cách khác để đúc kết (conflating) các thuật ngữ liên quan là sử dụng từ điển, trong đó liệt kê các thuật ngữ đồng nghĩa và đôi khi liệt kê cả quan hệ giữa chúng Thí dụ, các từ “study”, “learning”, “schoolwork”, “reading” có ý nghĩa tương tự nhau Thay vì sử dụng 4 thuật ngữ chỉ số, có thể chỉ sử dụng một thuật ngữ “study” tổng quát để đại diện bốn thuật ngữ này
Các thuật ngữ chỉ số hóa khác nhau có các tần số xuất hiện và tầm quan trọng khác nhau trong tài liệu Chú ý rằng tần số xuất hiện của các thuật ngữ sau các thao tác stemming và thao tác thesaurus (từ đồng nghĩa) sẽ là tổng tần số của mọi biến thể Thí dụ, tần số khái niệm “retriev” sẽ là tổng tần số xuất hiện của các thuật ngữ “retrieve”, “retrieval”, “retrieving” và “retrieved” Việc đề xuất các trọng số “thuật ngữ quan trọng” cho thuật ngữ tài liệu và thuật ngữ câu truy vấn có thể giúp phân biệt các thuật ngữ mà nó quan trọng hay ít quan trọng hơn trong kết quả tìm kiếm Khi bổ sung trọng số cho các thuật ngữ trong tệp chỉ mục (tệp đảo), các tài liệu khác nhau với tính tương đồng khác nhau có thể xếp theo dãy thứ tự độ tương đồng giảm dần
Việc tìm gốc từ có các ưu điểm và nhược điểm Tìm gốc từ giúp cho người
sử dụng nếu câu truy vấn sai chính tả và tìm gốc giải quyết với các từ ở dạng số nhiều và các hậu tố thường gặp, nhưng nhược điểm của việc tìm gốc từ sẽ tạo
ra các mục từ không thích hợp
2.4 Cấu trúc tệp đảo
Một phần quan trọng của hệ cơ sở dữ liệu và thu thập thông tin là cấu trúc tệp đảo, bao gồm 3 thành phần chúng cho biết tài liệu nào chứa các từ khoá chỉ mục nào Cấu trúc tệp đảo cung cấp liên kết quan trọng trong quá trình tìm kiếm Thay vì tìm kiếm các từ khoá xác định trong câu truy vấn trong toàn bộ
cơ sở dữ liệu tài liệu, cấu trúc tệp đảo tổ chức thông tin thành danh sách ngắn gọn các từ khoá, sau đó theo các từ khoá cần tìm kiếm, sẽ chỉ ra tập các tài liệu tương ứng
Ba thành phần của cấu trúc tệp đảo là:
Tệp tài liệu: là nơi mỗi tài liệu được gán cho một chỉ số xác định duy nhất và
tất cả các từ khoá (dấu hiệu xử lý) trong tài liệu được xác định
Trang 36Từ điển: là danh sách có sắp xếp các từ khoá duy nhất (các dấu hiệu xử lý)
trong tập cùng với các con trỏ trỏ đến danh sách đảo
Danh sách đảo: chứa con trỏ từ từ khoá theo nó tài liệu chứa từ khoá đó
Xét ví dụ sau về cấu trúc tệp đảo:
Bread Search
There once was a searcher named Hanna
Who needed some info on manna
She put “rye” and “wheat” in her query
Along with “potato” or “cranbeer”
But no mention to “sourdough” or “banana”
Instead of rye, cranbeer, or wheat
The results had more spiritual meat
So Hana was not pleased
Nor was she hunger eased
Cause she was looking for something to eat
Tệp tài liệu
Bước đầu tiên để tạo ra cấu trúc tệp đảo là trích chọn các từ khoá mà chúng
sẽ được dùng để đánh chỉ mục và xác định cho mỗi tài liệu một số duy nhất Để đơn giản, mỗi dòng của bài thơ có thể được dùng để biểu diễn tài liệu (như bảng dưới)
1 Bread Search
2 There once was a searcher named Hanna
3 Who needed some info on manna
4 She put “rye” and “wheat” in her query
5 Along with “potato” or “cranbeer”
6 But no mention to “sourdough” or “banana”
7 Instead of rye, cranbeer, or wheat
8 The results had more spiritual meat
9 So Hana was not pleased 10.Nor was she hunger eased 11.Cause she was looking for something to eat
Trang 37Không những ta loại bỏ các dấu câu, mà còn loại bỏ các từ thông thường ít
có ý nghĩa trong danh sách dừng Điều này có nghĩa là có lượng phần trăm lớn các từ không cần đánh chỉ mục, giảm không gian nhớ trong hệ thống Bảng dưới cho các từ khoá được lựa chọn để dùng đánh chỉ mục
Bước thứ hai sẽ là trích chọn các từ và tạo một danh sách từ để tìm kiếm
Để tạo thuận tiện cho việc tìm kiếm, các từ cần được sắp xếp theo bảng chữ cái; tuy nhiên, ta phải có các chiến lược lưu trữ bộ nhớ và thời gian khác Thay vì xử
lý với toàn bộ chữ, các dấu hiệu xử lý được tách thành mức phân tử từng chữ cái với các cách xử lý cấu trúc dữ liệu đã định Hai cấu trúc dữ liệu nổi tiếng để xử
lý từ điển là N-gram và PAT trees Đôi khi từ điển cũng cho biết số lần xuất hiện của các từ trong cơ sở dữ liệu tài liệu tài liệu
Từ khoá Số lần xuất hiện Banana 1
Cranb 2 Hanna 2 Hunger 1 Manna 1 Meat 1
Trang 38Potato 1 Query 1 Rye 2 Sourdough 1 Spiritual 1 Wheat 2
Bảng từ điển của bài thơ
Danh sách đảo
Bước cuối cùng của việc xây dựng cấu trúc tệp đảo là kết hợp danh sách từ điển và danh sách tài liệu để tạo ra danh sách đảo Danh sách đảo chỉ cụ thể đến tài liệu khi ta chọn từ khoá để tìm Trong ví dụ trên, nếu ta chọn các từ “wheat”, tài liệu (các dòng) kết quả trả lại là 3 và 6 Hơn nữa, để chỉ được tài liệu cụ thể, các danh sách đảo có thể được xây dựng để chỉ đến một vùng cụ thể của tài liệu
mà từ khoá xuất hiện trong đó Bảng sau minh hoạ tài liệu và vị trí của từ có thể được ghi lại trong danh sách đảo Chẳng hạn như từ “wheat” trong tài liệu 3 (dòng 3) ở vị trí thứ 5 (từ thứ 5 trong dòng)
Từ khoá Tài liệu số, vị trí Banana (5, 7)
Cranb (4, 5); (6, 4) Hanna (1, 7); (8,2) Hunger (9, 4)
Manna (2, 6) Meat (7, 6) Potato (4, 3) Query (3, 8) Rye (3, 3); (6, 3) Sourdough (5, 5)
Spiritual (7, 5) Wheat (3, 5); (6, 6) Danh sách đảo của bài thơ
Trang 39Các danh sách đảo còn có thể phức tạp hơn như đang mô tả, đặc biệt khi search engine phải xử lý được với các cụm từ liên tiếp
3 Truy vấn thông tin trong cơ sở dữ liệu[2, 6, 7]
3.1 Tổng quan
Kỹ thuật truy vấn tài liệu văn bản được gọi chung là kỹ thuật truy tìm thông tin (IR) Kỹ thuật IR trong hệ thống đa phương tiện rất quan trọng vì hai lý do sau:
Đang tồn tại số lượng lớn tài liệu văn bản trong các thư viện Văn bản là tài nguyên rất quan trọng cho các cơ quan tổ chức Cần có IR đủ tốt để sử dụng
có hiệu quả các thông tin lưu trữ trong các tài liệu
Văn bản được sử dụng để mô tả các media khác như video, audio, ảnh để các
kỹ thuật IR qui ước sử dụng vào việc truy vấn các thông tin đa phương tiện Hai nhiệm vụ chính của thiết kế hệ thống IR là:
Trình diễn và truy vấn tài liệu như thế nào
So sánh tính tương đồng giữa các tài liệu và biểu diễn truy vấn ra sao
Các mô hình truy vấn xác định hai khía cạnh này Có bốn mô hình truy vấn hay được sử dụng là:
Đối sánh chính xác (exact match),
Không gian véctơ,
Xác suất và
Trên cơ sở bó (cluster-based)
Kỹ thuật đối sánh chính xác (hoàn toàn) hay được sử dụng nhất là mô hình Boolean
Mặc dù các mô hình truy vấn khác nhau sử dụng trình diễn và chỉ số hóa tài liệu khác nhau, nhưng các tiến trình chỉ số hóa được sử dụng là tương tự nhau
Để nâng cao hiệu năng truy vấn, xử lý ngôn ngữ tự nhiên và các kỹ thuật trí tuệ nhân tạo được áp dụng
Vì tính nhập nhằng và các biến thể của ngôn ngữ tự nhiên, cho nên hầu như không thể truy vấn mọi mục (items) liên quan hay loại đi mọi mục không liên quan Do vậy, thước đo hiệu năng IR là rất quan trọng
Trang 40Các kỹ thuật IR rất phổ biến vì nó được sử dụng trong các môtơ tìm kiếm của WWW
3.2 Sự khác biệt giữa các hệ thống IR và DBMS
Việc hiểu biết sự khác nhau giữa hai hệ thống này giúp ta hiểu rõ các kỹ thuật IR
DBMS: Chứa các bản ghi có cấu trúc đồng nhất Mỗi bản ghi được đặc trưng
bởi tập các trường Các giá trị thuộc tính gắn vào các bản ghi mô tả bản ghi này một cách rõ ràng và đầy đủ
Truy vấn ở đây trên cơ sở đối sánh chính xác giữa câu truy vấn và các giá trị thuộc tính trong bản ghi Mỗi bản ghi truy vấn chứa các giá trị thuộc tính chính xác đặc tả trong truy vấn (có thể cả giá trị thuộc tính không mô tả trong câu truy vấn)
Hệ thống IR: Các bản ghi không có cấu trúc Chúng không chứa các thuộc
tính cố định Nó chỉ đơn thuần là tài liệu văn bản Các tài liệu này có thể chỉ
số hóa bằng các từ khóa, bộ mô tả tài liệu, hay các thuật ngữ (term) chỉ số Mỗi thuật ngữ chỉ số được giả sử để mô tả nội dung văn bản theo một khía cạnh nào đó, không đầy đủ và rõ ràng cho toàn bộ nội dung văn bản Nhiều thuật ngữ chỉ số sẽ gắn theo tài liệu hay văn bản cụ thể Bởi vì các thao tác truy vấn văn bản phụ thuộc trực tiếp vào trình diễn nội dung sử dụng để mô tả các bản ghi lưu trữ, do vậy phải cố gắng rất lớn tập trung vào phân tích nội dung của các tài liệu lưu trữ và vấn đề sinh từ khóa, chỉ số
Ở đây, sẽ không thực tế nếu coi trọng truy vấn trên cơ sở đối sánh chính xác giữa câu truy vấn và các thuật ngữ tài liệu trong tài liệu kết quả Thay vì, truy vấn các mục phụ thuộc với đủ mức độ tương đồng giữa tập thuật ngữ gắn theo câu truy vấn và tài liệu, được sinh ra bởi phương pháp xấp xỉ hay đối sánh không gian Hơn nữa cùng thuật ngữ có thể có nhiều ý nghĩa khác nhau
Tóm lại, các mục kết quả truy vấn trong DBMS là hoàn toàn liên quan đến câu truy vấn và có ích với người sử dụng Nhưng trong hệ thống IR, các