Nghiên cứu công nghệ và các công cụ phát triển một số công cụ hỗ trợ
Trang 1NOI DUNG:
Đề tài mã số KC.01.14 anne & -
NGHIEN CUU CONG NGHE VA CAC CONG CU PHAT TRIEN MOT SO CONG CU HO TRO
CAP QUAN LY: Nha nước
CO QUAN CHU TRI: Viện Cơng nghệ Thơng tin, Đại học quốc gia Hà Nội CƠ QUAN THỰC HIỆN:
Viện Cơng nghệ Thơng tin, đại học quốc gia Hà nội Trung tâm cơng nghệ Hội tụ đa Phương tiện
Viện khoa học giáo dục, Bộ GD & ĐT Khoa Tốn tin, Đại học KHTN
Bộ mơn Y học Hạt nhân, Đại học Y khoa Hà nội
Viện da liễu Trung Ương
Cơng ty Amec
CHỦ NHIỆM ĐỀ TÀI: PGS TSKH Nguyễn Cát Hồ
NHÁNH ĐỀ TÀI Y TẾ: Nghiên cứu ứng dụng cơng nghệ đa phương tiện trong lĩnh vực
yiế
CHỦ NHIỆM ĐỀ TÀI NHÁNH: Th.s Nguyễn Thu Anh
Trang 2Các nội dung trong quyển gồm
'-1, Nghiên cứu Search Engine
-_ 2 Nghiên cứu cơng cụ sinh trang màn hình
„ 3 Mơ hình cơ sở đa phương tiện phù hợp ứng dụng trong y tế giáo dục
Trang 3NOI DUNG:
Đề tài mã số KC.01.14 wanes & -
NGHIEN CUU SEARCH ENGINE
CAP QUAN LÝ: Nhà nước
CƠ QUAN CHỦ TRÌ: Viện Cơng nghệ Thơng tin, Đại học quốc gia Hà Nội CƠ QUAN THỰC HIỆN:
Viện Cơng nghệ Thơng tin, đại học quốc gia Hà nội Trung tâm cơng nghệ Hội tụ đa Phương tiện
Viện khoa học giáo dục, Bộ GD & ĐT Khoa Tốn tin, Đại học KHTN
Bộ mơn Y học Hạt nhân, Đại học Y khoa Hà nội
Viện da liễu Trung Ương
Cơng ty Amec
CHỦ NHIỆM ĐỀ TÀI: PGS TSKH Nguyễn Cát Hồ
NHÁNH ĐỀ TÀI Y TẾ: Nghiên cứu ứng dụng cơng nghệ đa phương tiện trong lĩnh vực
y té
CHU NHIEM DE TAI NHANH: Th.s Nguyén Thu Anh
Trang 4Muc luc Số trang
A Nghiên cứn tơng quan search CNZINE HS nỲ 9n nÝ 91x khưc 1
1 Giới thiệu về search engine .cccnn ng ng HH ri 2
L.1, Đặt vẫn đề HH HH HH HH hư 2
12 Téng quan kién tric search engine " 3
1L Thu thập và trích chọn tài liệu - cu nà HH nh reas ness 6 11.1 Chọn lọc và phân tích tài liệu -. SH xen 7
1I.1.1 Định dạng văn bản 7
II.1.2 Tính hợp lệ (Validation) sàn 8
TL.2 Đánh chỉ mục thủ cơng 8 1I.3 Đánh chỉ mục tự động 9
IL4 Trich chon théng tin se 10
11.5 Cau tric tép dao "— i
1I5.1 Tệp tài liệu 11
11.5.2 Danh sách từ điển " 12
IS 0c on na 13
11.5.4 Các cấu trúc tệp khác - - c LT n2 H THỰ 1kg ng re 14
HH Các phương pháp biểu diễn tài liệu 15
IH.1 Mơ hình khơng gian VÉC ẲƠ LH HT Hành kh sư 15 HI.1.1 Giới thiệu TQ HH «HH TH nh nhe 15
TH.1.⁄2 Ma trận từ khố - tải liệu 1§
1H.1.2 Phân tích câu truy vấn đơn gian ben 17
IIL.2 Cae phuong pháp thiết kế base 19
TIH.2.1 Đánh trọng sé tir khoa 19
TH.2.2 Lưu trữ ma trận " 22 II1⁄2.3 Tính xấp xỉ hạng thấp -LL HH n TH HH Hiên 24
IH.3 Phân rã ma trận - HH nHY TH nh nen kh kết 26
1.3.1 Tính thừa số QR LL QQQ Q22 HH HT kg ky 26
IIL3.2 Phân tích giá trị số ít (SVD — Singular Value Decomposition) 29 1H.3.3 Phân tích bán rời rạc (SDD — Semidiscrete Decomposition) 31
1V Biểu diễn các câu truy vắn LH Hàn ướ 31
1V.1 Xử lý chung các câu truy vấn sean 31
1V.2 Các loại câu truy vẫn chen 32
TV.2.1 Truy vấn sử dụng tốn tử Boolean - - cà se 32
1V.2.2 Truy vấn sử đụng ngơn ngữ tự nhiên se 32 1V.2.3 Truy vấn sử dụng từ điển ves 32
1V.2.4 Truy vấn mờ “ 33
1V.2.5 Truy vấn thống kê - Xác SUuẤt - cuc nh ky kề 33
B Nghién cứu các cơng cụ search engine hiện cĩ sane 34
1 Cong cy dtsearch 0.0.0 ae 35
1.1 Gidi thidu chung cece cece reeeee ene treet ened eeeennee teenie 35 1.2 Cầu trúc tìm kiểm và các chức năng của đtsearch 37
1.3 Các lớp và các phương thức trong dtsearch 38
Trang 5
1.3.4 Đối tượng SearchResult
- H Cơng cu Lucene
1I.1 Tổng quan về Jakata LUCEn€ vn này
1.2 Thu vién Jakata Lucene U3 Sir dung Lucene
1.4 Co ché hoat déng
IL5 Danh gid Lucene
1L6 Ứng dụng của lucene trong phát triển đề tài khoa học
I7 Kết luận
1I Giải pháp tìm kiếm
Trang 7ea oA x +
1 Giới thiệu về search engine
L1 Đặt van đề
Trong vấn đề tìm kiếm, chúng ta thường trơng đợi nhiều Vào các search engine Chúng ta thường đặt ra cho chúng 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 Chúng ta cĩ thê gõ principal nhưng đúng ra là principle Chúng ta cĩ thê gõ nhằm tên riêng Lanzcos và mong đợi search engine tim được tên đúng là Lanczos Đ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 ma ta yêu cầu Nĩi ngắn gọn là, người
sử dụng hỏi máy tính đánh giá trực quan Đĩ là một yêu cầu cao và trong một vài hệ thống, tìm kiếm chúng ta sẽ thành cơng hơn nếu chúng ta bắt được máy tính hiểu được các yêu cầu
Với một thủ thư làm việc tại thư viện cơng cộng hay thư viện trường thì van dé nay la khong mới Người thủ thư cĩ kinh nghiệm biết rằng phải bỏ chút ít thời gian de lang nghe, hoi dap để cĩ thê chỉ dẫn hiệu quả cho người sử dụng nguồn thơng tin cần thiết Trong thế giới vi tính hố các cơ sở dữ liệu cĩ thé tìm kiếm được, cĩ một chiến lược giống như vậy đang được phát triển, nhưng đĩ là một con đường dài để đi đến hồn thiện Cịn cĩ một vấn đề nữa về việc xác định vị trí các tài liệu phù hợp với câu truy vẫn tương ứng, do đĩ nĩ làm tăng kích cỡ tập kết quả Tuy nhiên, với cơng nghệ mới, chúng ta tập trung nhiều hơn vào việc xử lý và số hố thơng tin, bất kế tài liệu là văn bản, hình ảnh, video hay âm thanh, hơn là việc tổ chức tài liệu Chúng ta gọi đĩ là “dữ liệu sĩng thần” (tsunami of data):
Thành phần cấu tạo của dữ liệu tìm kiếm như là thành phần cĩ trong các đợt thuỷ triều đánh vào bờ Thành phần chính là các bọt nước khơng liên kết, chuyển động khơng điều khiển và khơng cĩ tơ chức
Thêm nữa là các thứ tạp nham vơ giá trị như que gậy, xương, Vỏ sị, vỏ ốc
của thế giới sinh vật và vơ sinh Khéng thứ nào cĩ là quan hệ rõ Trảng với
nhau, chúng chuyển động trong đợt thuỷ triều hỗn loạn, khơng tổ chức Đề xử lý với đữ liệu sĩng thần nảy, các nhà thiết kế search engine đã phát
triển tập các cơng cụ dựa trên lý thuyết tốn học giúp nâng cao hoạt động
của search engine: Các cơng cụ như vậy là vơ giá để cải thiện cách mà các thuật ngữ và tài liệu được phân tích tự động, Ví dụ các phươ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ừ khố) 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ụ tốn học hiệu quả nhất vẻ đành chỉ mục tự động là mơ hình khơng gian véctơ
Trang 8Nghién citu search engine
Trong mơ hình thu thập khơng gian véctơ (IR — Information retrieval), một véc tơ 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 tố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 tố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 Trước khi đi sâu tìm hiểu hoạt động của các thuật tốn bên trong search engine, chúng tơi trình bày tơng quan kiến trúc của search engine
1.2 Tổng quan kiến trúc search engine
Phần lớn các search engine hiện nay sử dụng cấu trúc cĩ 2 thành phần cHính là phần thu thập tài liệu (crawler) và phần tạo chỉ mục các tài liệu (indexer) Trong d6 phan crawler lam nhiệm vụ tìm kiếm và thu thập các trang Web bằng cách gửi các yêu cầu đến các máy chủ Web, cịn phần indexer tao chi mục cho các trang Web này để phục vụ việc tìm kiếm được nhanh chĩng Các phần này cĩ thể được thiết kế tập trung hay riêng rẽ, cĩ nhiều tên gọi khác nhau nhưng đều cĩ ở phân lớn các search engine
Kiến trúc cơ bản của một search engine như hình vẽ đưới đây:
Trang 9QUERY ENGINE, _ _ _ Thnree - wi ~ ——¬ 1 Printer PC - Web brower ¬ INDEXER WEB CRAWLER
(chuyển đổi khuơn dọng tơi liệu,
Chuyển đổi chữ hoo/chữ thưởng,
phên vùng tời liệu)
Web server Webserver Web server
Kiến trúc cơ bản của search engine
Làm việc với crawler và ¡indexer là hệ thống cơ sở dữ liệu của searh engine Tuỳ theo thiết kế của mỗi search engine mà cơ sở đữ liệu cĩ độ phức tạp khác nhau và được chia thành các phần khác nhau Nhìn chung mọi search engine đều cĩ các cơ sở đỡ liệu sau:
s* Cơ sở dữ liệu về các ƯRL
Cơ sở đữ liệu về các tài liệu trước và sau khi đã chuyển đổi khuơn dạng
+ Cơ sở dữ liệu về đữ liệu đã được index
s* Cơ sở dữ liệu phục vụ các mục đích đặc biệt, chẳng hạn như lập lịch
thu thập URL, các từ khơng được index, các từ đồng nghĩa, các từ gốc,
Đo đặc điểm của search engine là làm việc với Internet, cĩ rất nhiều người cĩ thể đồng thời sử đụng (multiuser) và đồng thời thực hiện các cơng việc khác nhau (multitask) nên cở sở dữ liệu cũng như chương trình truy vấn cơ sở đữ liệu phải được thiết kế sao cho cĩ thể đáp ứng được điều này Người ta hay sử dụng cơ chế phân chia dữ liệu (patHittoning) thành các phần nhỏ để tăng tốc độ truy vấn, giảm các lock Các từ đã inđex được
Trang 10Nghiên cứu search engine
chia vào các kho chứa khác nhau và các kho chứa được dánh địa chỉ Cùng một thời điểm cĩ thể cĩ nhiều kho chứa được truy vấn
Bên cạnh 2 phần chính là web crawler và indexer, search cngine cịn cĩ các phần khác như giao diện với người sử dụng, quản lý các câu lệnh truy
vấn, sắp xếp kết quả trả về cho người sử dụng, chuyển đổi khuơn đạng
các tài liệu
Giao diện với người sứ dụng: Như bất kỳ một cơng cụ tin học nào khác, các search engine cũng khơng thể thiếu phần giao điện với người sử dụng Do tính đặc thù của search engine là làm việc với thơng tin trên Internet và tính chất phức tạp của đữ liện nên giao diện với người sử dụng của
search engine được thiết kế một cách đặc biệt để đáp ứng được yêu câu
của nĩ Giao điện với nguời sử đụng khơng chỉ làm việc tốt với các modul của search engine mà cịn phải dễ sử dụng và đạt hiệu quả trực quan cao Phần lớn người sử dụng tìm kiếm thơng tin trên Internet thơng qua các trình duyệt nên giao điện nhận yêu cầu truy vấn và giao điện trả kết quả tìm kiếm hầu hết được thiết kế sử dụng khuơn dạng file himi, Để tăng tính tương tác và thuận tiên cho xử lý đữ liệu, các file này cũng cĩ thể sử các cơng nghệ mới như Java, XML, flash,
Cĩ nhiều kỹ thuật được sử dụng để nhận các câu truy vấn từ người sử dụng nhưng chúng được chia thành 2 nhĩm chính: nhĩm cĩ tương tác với người sử dụng và nhĩm khơng cĩ tương tác
s Với nhĩm cĩ tương tác, search engine đưa ra các câu hỏi đơn giản để người sử dụng trả lời Thơng thường người sử đụng trả lời bằng cách chọn vào một trong các trả lời sắn Ví dụ như "tìm cĩ phân biệt chữ
hoa, chữ thường khơng?”, "cĩ tìm chính xác cả cụm từ khơng?”,
s* Với nhĩm khơng cĩ tương tác, người sử dụng chỉ cần đưa vào thơng tin
và ra lệnh tìm kiếm
Cĩ 5 kỹ thuật chủ yếu được sử dụng để trả kết quả tìm kiếm cho người sử dụng là:
+* Hiển thị kết quả tài liệu âm thấy ở đạng hyperlink Khi người sử dụng chọn 1 trong các kết quả thì trình duyệt sẽ chuyển đến dia chi URL da tìm ra Nếu chỉ dùng một kỹ thuật này thì thơng tin kết quả rât nghèo nàn và khĩ cho người sử dụng chọn lựa nếu cĩ nhiềukết qủa trả về Hiển thị kết quả trả về với một hoặc nhiều đồng text nội dung tìm thấy trong tài liệu Do kích thước hạn chế của màn hình nên mỗi màn hình thường chỉ hiện thị 10 kết quả Người sử dụng phải dùng thanh cuốn (scrool bar) hoặc chọn chỉ dẫn nhầy trang để đọc các kết quả tiếp theo + Hiển thị số lượng kết quả tìm thấy: thơng ua vẻ số lượng kết quả tìm
thấy giúp người sử đựng quyết định cĩ nên thu hẹp hay mở rộng phạm vị tìm kiếm
Trang 11s* Hiển thị mức độ tương tự của tài liệu tìm thấy so với yêu cầu tìm kiếm
Để cho trực quan, độ tương tự khơng những dược thể hiện qua con số
{%) mà cịn được thể hiện qua các hình ảnh đi kèm
* Hiển thị từ khố thực sự tìm thấy trong tài liệu để người sử dụng quyết định đấy cĩ phải là tài liệu mà mình cần hay khơng Kỹ thuật này đặc biệt hữu ích trong trường hợp người sử dụng đưa vào từ khố khơng chính xác
Cuối cùng, một nội đung khơng thể thiến được trong giao diện với người sử dụng của các search engine là mục trợ giúp sử dụng (help) Do mỗi search engine cĩ cấu trúc khác nhau, hỗ trợ một số kiểu truy vấn xác định và kỹ năng của người dùng khác nhau nên các search engine đều phải cĩ phần trợ giúp người sử dụng để họ cĩ thể nhập vào chính xác thơng tin tìm kiếm, giới hạn hay mở rộng phạm vi tim kiếm, Các trợ giúp này thường nằm ngay trong trang đầu tiên, cùng với cửa số nhập câu lệnh trưy vấn và thường được viết đưới khuơn dạng file html Trợ giúp này cũng hướng dẫn người sử dụng dùng các tính năng nâng cao của search engine
Il Thu thập và trích chọn iài liệu
Các thủ thư nhận thức rất rõ sự cần thiết của việc tổ.chức và trích dẫn thơng tin Trải qua nhiều thập kỷ (thực tế là hàng thế kỷ) kinh nghiệm, các thủ thư đã chọn lọc được một hệ thống tổ chức tài liệu đưa vào thư
viện Tất cả các mục được đánh mục lục dựa trên sự đánh giá của các cá nhân và nhĩm về nội dung của sách, theo các mục hợp lý trong thẻ mục lục
Phan’ quan trọng của sự phát triển cho search engine (“động cơ tìm kiếm”) 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 sẽ đượ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 (“động cơ tìm kiếm”) 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 cơ tìm kiếm”)
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 quan 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 cĩ hai bước đài:
Trang 12Nghién citu search engine
- 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 dé, hay hình ảnh? Các quyết định phải được đưa ra dựa trên thơng tin nào hay
phan nao cua 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 dan 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 -
H.1 Chọn lọc và phân tích tài liệu
Ngay sau khi cĩ sự xuất hiện của WWW, người ta nhanh chĩng nhận ra 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>, <XMETA>, chúng mơ tả 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 (“động cơ tìm kiếm”) nào trên www dé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 (“động cơ tìm kiếm”), chúng ta cĩ thé thay 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 tinh 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>
IL1.1 Dinh dang vin ban
Trước khi đi từ bước 1 phân tích tài liệu đến bước 2 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 ASCH hoặc
tương tự như vậy, Đây đường như là yêu cầu tiêu chuẩn nhưng ta phải
Trang 13nhớ là 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 va đượ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 ASCI, 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
1I.1.2 Tính hop [é (Validation)
Việc tạo ra các tập HTML khơng đơn giản như chúng ta mong đợi Do thiếu sự tạo thẻ thống nhất và do dùng phan mềm tạo HTML khơng tiêu chuẩn dẫn đến các trang web cĩ lỗi nên tạo Ta các lỗi hiển thị và phân tích Tuy nhiên, các địch vụ hiệu lực trực tuyến tạo ra sự khác biệt trong đĩ người sử dụng cĩ thể gửi trang web đến đề duyệt lại và nâng cao Nĩi chung, các search engine trên Web chỉ trích chọn trong văn bản (cĩ
loại trừ các dấu câu) từ các nhãn tiêu đề, nhãn header và các ký tự đầu tiên của tệp mà nĩ cĩ thê cĩ độ dài từ 275 ký tự đầu tiên đến 70000 ký tự đầu tiên Hơn nữa, người phát triển search engine cĩ thé lựa chọn khoảng 100 từ quan trọng đầu tiên hoặc 20 dong hoặc bản ghỉ đầu tiên (mà chúng cĩ thê chứa mã hơn là văn bản) Ta cần nhớ là các search engine cơ bản
làm việc với WWW, chứ khơng với tất cả mọi thứ
1.2 Đánh chỉ mục thủ cơng
Đánh chỉ mục bằng tay do con người thực hiện, chúng ta hình dung là một số người tự nguyện ngồi trong các căn phịng nhỏ khơng cửa số, ngỗi tại các bàn rải rác, xung quanh là các chồng sách vở, đọc và gạch đưới các từ khố cho chỉ mục - Trong lúc giải lao, mọi người tập trong trong, phịng nghỉ và bàn luận về sắc thái ngơn ngữ và trao đổi về các mỗi quan
hệ gây ngạc nhiên giữa các chủ đề dường như khơng phù hợp với nhau
Hãy xét đến sự nảy nở của các nguồn kỹ thuật số như WWW, với hơn
320 triệu trang phát triển cĩ thể đánh chỉ mục được, chúng ta sẽ phải nghĩ
rằng những người đánh chỉ mục phải đi đến gặp người thu ngân ở nhà băng và những người bán xăng dầu Tuy nhiên vẫn cĩ những người quan trọng trong nên cơng nghiệp thơng tin, vẫn thích dùng đánh chỉ mục bằng tay, cho dù giá lao động là cao Chúng ta cĩ thể thấy một số ví dụ: Vahoo,
EMBASE (cơ sở đữ liệu của tạp chí Elsevier Science), thư viện y học
quốc gia Mỹ
Trang 14Nghiên cưu search engine
Các nỗ lực và chỉ 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 tỉn quan trọng đề cĩ thể nhận ra các khái niệm và các mối quan hệ trong các tai liệu Khả năng này giúp xác định các chủ đề quan hệ rộng hơn, hẹp hơn, chúng giữ cho cách đánh chỉ mục thủ cơng cĩ một chỗ đứng khi cách đánh chỉ mục tự động đượ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
Cĩ một số ưu điểm và nhược điểm của việc đánh chỉ mục thủ cơng Một ưu điểm chính 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 Tuy nhiên, cơng việc này chỉ phí cao vả tốn thời gian, và cĩ thể bị 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 2 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 chỉ là 60% Hơn nữa, nếu 2 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 Cho đù là hệ thống hoạt động rất tốt, nhưng với sự nảy nở của thơng tin kỹ thuật số trên WWW, chúng ta cần hệ thơng tự động
11.3 Đá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 tố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ơ sở đữ liệu web lớn Trái ngược với cách những người đánh chỉ mục thủ cơng 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ỉ mục thủ cơng và 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 Dac đ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 g giong
Trang 15nhau: 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
IL4 Trich 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 Các từ phải được phân tích và đưa vào cấu trúc tệp đảo Quá trình chọn tính này cịn được gọi là tiêu chuân hố mục (tem normalization) Chúng ta cĩ thể tĩm tắt nĩ 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 hố 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 hố 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 hố mục để tạo ra cấu trúc cĩ thé tim 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 đữ 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 cách 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 hố 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 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 và thời
gian và khơng gian cho câu trúc dữ liệu tìm kiếm
Tìm gốc, 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 Việc tìm gốc từ cĩ các ưu điểm và nhược điểm Tìm goc từ giup 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ừ ở dang
số nhiều và các hậu tố thường gặp, nhưng chúng ta cần phải nĩi đến 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
Trang 16Nghién cttu search engine
1.5 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ừ khố 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ừ khố xác định trong câu truy van trong tồ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ừ khố, sau đĩ, theo các từ khố 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ừ khố (dấu hiệu xử lý) trong tài liệu được xác định -Từ điển: là đanh sách cĩ sắp xếp các từ khố 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ừ khố theo nĩ tải liệu chứa từ khố đĩ
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 fo “sourdough” or “banana”
Instead of rye, cranberry, or wheat The results had more spiritual meat
So Hanna was not pleased Nor was she hunger eased
Cause she was looking for something to eat
IL5.1 Tệp tài liệu
Bước đầu tiên để tạo ra cấu trúc tệp dao là trích chọn các từ khố 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é duoc dùng để biểu
điển tài liệu (xem bảng dưới)
1 Bread Search
2 There once was a searcher named Hanna
3 Who needed some info on manna
Trang 17
4 She put “rye” and wheat” in her query 5 Along with “potato” or “cranbeer”
6 But no mention fo “sourdough” or “banana” 7 Instead of rye, cranberry, or wheat
8 The results had more spiritual meat 9 So Hanna was not pleased
10.Nor was she hunger eased
11.Cause she was looking for something to eat Các tài liệu được định nghĩa theo các dịng
Khơng những ta loại bỏ các đấu câu, mà cịn loại bỏ các từ thơng thường
ít cĩ ý nghĩa trong danh sách đừ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ừ khố được lựa chọn để dùng đánh chỉ mục Ầ Từ khố Searcher, Hanna Manna Rye, wheat, query Potato, cranbeery Sourdough, banana Rye, cranberry, wheat Spiritual, meat Hanna Hunger Bảng các từ được trích chọn từ bài thơ ` G0 ~) Œ— Ch + Q2 bà 11.5.2 Danh sách từ điển ;
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 tồ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 đữ liệu nỗi tiếng dé xử lý từ điển là N-grams 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
Trang 18Nghiên cứu search engine Manna Meat Potato Query Rye Sourdough Spiritual wheat h ¬—k)———— Bảng từ điển của bài thơ 1.5.3 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ừ khố để 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 đựng để chỉ đến một vùng cụ thể của tài liệu mà từ khố xuất hiện trong đĩ Bảng dưới minh hoạ tài liệu và vị trí của từ cĩ thể được ghi lại trong danh sách dao Chang han tir “wheat” trong tai ligu 3 (dịng 3) ở vị trí thứ 5 (từ thứ 5 trong dịng) Từ khố 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 G, 5); (6, 6)
Danh sách đảo của bài thơ
Các danh sách đảo cĩ thể cịn 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 Cụm từ liên tiếp
được sử dụng khi cĩ sự kết hợp giữa các từ rủà người sử dụng yêu câu
Trong ví dụ trên người tìm kiếm Hanna đưa ra câu tìm kiểm là banana bread Cơ ta muốn tìm các địng trong đĩ từ banana và bread đứng cạnh nhau Nếu danh sách đảo lưu trữ cả vị trí của các từ, thì sẽ cho được kết
quả mong muốn Vài hệ thống cĩ chức năng do độ gần của các từ,
Trang 19Khơng cĩ một hệ thống tệp đảo nào dùng cho một tập tài liệu Trong một tập tài liệu, cĩ thể áp dụng nhiều cấu trúc tệp đảo cho các phần khác nhau của tài liệu, chẳng hạn như các phần tiêu dé hay tĩm tắt
IL5.4 Các cầu trúc tệp khác
Người ta thường dùng cấu trúc tệp đảo để xây dựng chỉ mục Ngồi ra cịn một sơ câu trúc khác Một cách khác là dùng các tệp ky hiéu trong dé các từ được biến đổi thành các dấy nhị phân (gồm các số 0 và 1) Các từ của câu truy vấn được ánh xạ đến các kí hiệu của chúng và việc tìm kiếm là tìm các vị trí bít phù hợp với các dấu hiệu (đã được tính trước), Theo một nghĩa nào đĩ thì tệp dầu hiệu dùng cách ngược lại so với câu trúc tệp đảo Trong khi câu trúc tệp đảo so sánh câu truy vấn với từ khố, thì tệp kỹ hiệu loại bỏ các từ khơng phù hợp Sau khi thêm vào các tệp kí hiệu khác nhau, kí hiệu câu truy vẫn được so sánh và các từ khơng phù hợp sẽ được loại bỏ Nĩi chung thì các tài liệu tương ứng với các dâu hiệu cịn lại sau đĩ được tìm kiếm xem là các từ trong câu truy vấn cĩ thực sự cĩ trong trong các tài liệu này khơng Từ Octal Giá trị (c) Nor 116 157 ` 162 Her 150 145 162 Hunger 150 165 156 eased 145 141 163 Tu Octal Giá trị (c) Nor 01 000 000 10 000 000 00 000 100 Her 00 000 001 00 100 000 00 000 100 Hunger 00 000 001 00 100 000 00 100 000 eased 00 100 000 00 000 010 00 001 000 Block Signature 01 100 001 10 100 010 00 101 100
Xây dựng dấu hiệu khối
Bảng trên minh hoạ một câu thơ (đã loại bỏ dấu câu) của ví dụ trước cĩ thể được mã hố thành dấu hiệu khối Ở đây, 3 ký tự đầu tiêncủa mỗi từ
trong câu được chuyển sang các dãy 8 bít theo ham hash /(c} = 2 (¢ mod 3
trong đĩ giá trị c là giá trị octal của ky ty ASCII tuong ứng Đề tránh các
ký hiệu cĩ nhiều sé | , phải xác định số lượng tối đa các từ trong | khối và
các tài liệu được chia thành các khối cĩ cỡ đĩ Ngồi ra, số lượng số 1 tối
đa (m) mà nĩ cĩ trong mỗi từ sẽ được xác định Các từ trong câu truy vấn được ánh xạ đến các dấu hiệu tương ứng và sau đĩ các vị trí bít trong tất
Trang 20Nghiên cứu search engine
cả các ký hiệu được so sánh để tìm ra các từ khơng phù hợp Mã Huffman
được dùng để mã hố các từ, theo phân bơ xác suât cho các ký hiệu
Mặc dù các chuỗi nhị phân cĩ thể khá lớn, việc xác định khối cĩ thể được
sử dụng để kết hợp các dấu hiệu và vì vậy tạo thuận tiện cho việc tìm kiếm Một dạng tệp dẫu hiệu là bitmap Với một tài liệu cụ thể, mỗi bít liên kết với từ được dùng trong tài liệu được đặt là 1 Tất cả các bít cịn lại được gan là 0 Với các tài liệu dài, sẽ cĩ các chuỗi nhị phân rất dài, và các yêu cầu lưu trữ toản điện cho tập tài liệu lớn cĩ thể là khơng thực tế
HI Các phương pháp biểu diễn tài liệu
HI.1 Mơ hình khơng gian véc tơ IH.1.1 Giới thiệu
Trong phần này, chúng tơi sẽ trình bày các phương pháp biểu diễn tài liệu bằng các mơ hình khơng gian véc tơ Mơ hình véc tơ được dùng để mã hố và biêu diễn các từ khố và tài liệu văn bản Mỗi thành phần của véc tơ được dùng dé biểu diễn từ, từ khố, cụm từ, hoặc khái niệm cụ thể được sử dụng trong tài liệu đĩ Thường là các giá trị của một thành phần
trong véc tơ phản ánh độ quan trọng của từ khố, cụm từ, hay khái niệm
về ngữ nghĩa của tài liệu
II.1.2 Ma trận từ khố - tài liệu
Ta cĩ thể biểu diễn tập n tải liệu được đánh chỉ mục bằng m từ khố bằng
ma trận A tài liệu - từ khố m x n n véc tơ cột biểu diễn n tài liệu Phần
tử a¿ lả tần số cĩ trọng số mà tại đĩ từ khố i xuất hiện trong tài liệu j
Các hàng của A là các véc tơ từ khố
Một điều quan trọng là khơng gian cột của ma trận A xác định nội dung ngữ nghĩa của tập tải liệu Tuy nhiên, khơng phải trường hợp nào tất cả các véc cơ được biểu diễn trong cdc cot cla ma tran A đều cĩ nội dung xác định Ví dụ như một sự kết hợp tuyến tính của bất kỳ 2 véc tơ tài liệu nào khơng biểu diễn một tài liệu cĩ trong tập tài liệu Quan trọng hơn là
mơ hình khơng gian véc tơ cĩ thể khai thác các quan hệ giữa các véc tơ
tài liệu và các véc tơ từ khố để giải thích các tính tương tự và khác nhau của các khái niệm
a Các đạng ma trận
Với các tập khơng đồng nhất, cĩ nghĩa là các tập đĩ cĩ nhiều nội dung khác nhau như báo chí và từ điển bách khoa tồn thư, số lượng từ khố (m) thường lớn hơn rất nhiều so với số tài liệu (n << m) Với các tài liệu WWVW thì cĩ tỉnh trạng ngược lại Cụ thé là ma trận từ khố — tài liệu
dùng các từ trong từ điển ngơn ngữ lớn nhất làm các từ khố và tập trá cả
Trang 21các trang web làm tải liệu sẽ cĩ kích cỡ khoảng 300000 x 300000000 Do
bất kỳ một tải liệu nảo chỉ cĩ lượng nhỏ các từ, nên phân lớn các phân từ trong ma trận sẽ bằng 0 Từ khố T1 Bab(y, ies) T2 Chiid(ren”s) T3 Guide T4 Health T5 Home T6 Infant T7 Proofing T8 Safety T9 Toddler DI: D2: D3: D4: DS: D6: D7: Tài liệu
Infant & Toddler First Aid
Babies & Children’s Room (For your
home)
Child Safety at Home
Your Baby’s Health and Safety: From Infant to Toddler
Baby Proofing Basics
Your Guide to Easy Rust Proofing
Beanie Babies Collector’s Guide
Ma tran tir khoa x tai liệu 9 x 7 trước khi tiêu chuẩn hố, trong đĩ thành
phân ay là số lần từ khố ¡ xuất hiện trong tài liệu tiêu để j: OQ BS lÌ — CS CC CC oo or CC CC = —= 0 0 1101 10000 000 11 010 0 0 1000 0 01000 0 0110 11090 010 0 0 Ma trận từ khố x tài liệu 9 x 7 với các cột đơn vị 0 0.5774 0 0.4472 0.7071 0 0.7071 0 0.5774 0.5774 0 0 0 0 0 0 0 0 0 0.7071 0.7071 0 0 0 0.4472 0 0 0 A=| 0 0.5774 0.5774 0 0 0 0 0.7071 0 0 0.4472 0 0 0 0 0 0 0 0.7071 0.7071 0 0 0 0.5774 0.4472 0 0 0 0.7071, 0 0 0.4472 0 0 0
Bảng 3.1 Xây dumg ma tran A tir Ichoa x tài liệu
Fig 3.1 cho ta thay ma tran 9 x 7 được tạo ra từ tập nhỏ các tiêu đề sách Trong ví dụ này, chỉ cĩ các từ được gạch dưới trong 7 tiêu đề được dùng để đánh chỉ mục Danh sách dừng trong trường hợp này chứa các từ như
Trang 22Nghién citu search engine First, Aid, Room, v.v Chú ý là bất kỳ từ khố cụ thé nảo cũng chỉ xuất hiện đúng 1 lần trong một tài liệu Tất nhiên là với các tập tài liệu lớn hơn, thì tần số từ khố cĩ thé là lớn hơn | nhiều Khi mà nội dung ngữ nghĩa của tài liệu được xác định chung bằng các tần số tương đối xuất hiện của các từ khố, thì đơi khi các thành phan của ma tran A ti khoa x tài liệu sẽ được tính tỉ lệ để tiêu chuẩn Ơclit của mỗi cột bằng 1 Chuẩn véctơ Ơclit |x|, được định nghĩa như sau:
EỊ,=vx'x=|2.x; ¿ai
trong đĩ x = (Xị, Xa, ., Xm) Ví dụ, với từng cột a; của ma tran A trong
Fig 3.1, ta cd |x], = 1, j = 1, , 7 Các giá trị thực tế được gán cho các
phần tu cua ma tran A = [ay] thường là các tần số cĩ trọng số ngược với số lần đếm thực các lần xuất hiện của từ khố (trong một tài liệu hoặc trong tồn bộ tập)
Trong ví dụ trên, khơng phải tất cả các từ đều được dùng để mơ tả tập tiêu đề các sách Chỉ cĩ những từ liên quan dén child safety duge lua chọn Việc lựa chọn từ nào được để đánh chỉ mục và từ nào khơng mang tính
nghệ thuật và khoa học trong đánh chỉ mục tự động
Trong việc xây dựng ma trận từ khố x tài liệu, các từ khố thường được xác định bằng các gốc từ của chúng Trong ví dụ Fig 3.1, các từ Baby, Babies va Baby’s dugc tinh 1a 1 ti, cdc tir Child và Chilảren cũng được tính là 1 từ Tìm gốc trong trường hợp này sẽ giảm số lượng hàng trong ma trận A từ khố x tài liệu từ 12 xuơng cịn 9 Rõ ràng là làm giảm lượng lưu trữ (qua cách tìm gốc) là quan trọng cho các tập tài liệu lớn Thậm chí với ví dụ nhỏ trên về tiêu đề sách, chúng ta thấy được 2 trở ngại chính để thu được thơng tin là: đồng nghĩa và đa nghĩa Đồng nghĩa đề cập đến việc sử dụng các tử đồng nghĩa hay khác nhau: các từ mà chúng cĩ cùng ý nghĩa, và đa nghĩa để cập đến các từ cĩ nhiều nghĩa khác nhau khi được sử dụng trong các ngữ cảnh khác nhau 4 trong 9 từ được đánh chỉ mục nêu trong Eig 3.1 là đồng nghĩa: Baby, Child, Infant, Toddler Vi dụ về từ đa nghĩa là Proofing (child or rust) và Babies (human or stuffed) Các phương pháp đề xử lý hiệu quả từ đồng nghĩa và đa nghĩa trong ngữ cảnh các mơ hình khơng gian véctơ được trình bày trong phân sau
IIL.1.2 Phân tích câu truy vẫn đơn giản
Tập các tiêu đề sách từ Fig 3.1 cĩ thể được sư dụng để minh hoạ phân tích câu truy vấn đơn giản trong một khơng gian cĩ sơ chiều khơng nhiều Do cĩ đúng 9 từ khố được dùng để đánh chỉ mục cho 7 tiêu đề sách, các câu truy vẫn cĩ thể được biểu diễn bằng các véc tơ 9 x | theo cing một
Trang 23cách mà mỗi tiêu dé được biểu diễn bằng 1 cột của ma trận A từ khố x
tài liệu 9 x 7 Để tìm được các sách cĩ tiéu dé Child Proofing tit tap này, véctơ truy vẫn tương ứng sẽ là:
q=(010000100)
nghĩa là tần số xuất hiện của các từ Child và Proofing trong câu truy vấn sẽ xác định các giá trị của các đầu vào khác khơng tương ứng trong véctơ
truy vấn
Phân tích câu truy vấn trong mơ hình khơng gian véctơ cĩ thể được xem là việc tìm kiếm trong khơng gian cột của ma trận À với các tài liệu giống câu truy vấn nhất Một trong những cách đo độ tương tự thơng thường nhất được sử dụng để phân tích câu truy vấn trong ngữ cảnh này là tính cos của gĩc giữa véctơ truy vấn và các véctơ tài liệu Nếu chúng ta định nghĩa a; là véctơ tài liệu thứ j (hay là cột thứ j của ma trận A từ khố x tai liệu), thì cos giữa véctơ q = (dì, qạ; , dm)* và n=7 véctơ tài liệu được xác
định như sau:
ag 3/4,
3.1
DỤNG Se e0
với ] = 1, , n Do véctơ truy vấn và các véctơ tài liệu thường là rải rác (cĩ nghĩa là cĩ tương đối ít thành phần khác 0), nên việc tính các tính và tơng trong phương trình (3.1) là đơn giản Hơn nữa, cần chú ý là độ lớn
các véc tơ tài liệu |a,|_ cĩ thể được tính trước và lưu trữ trước khi tính
cosổ,=
cos Nếu chúng ta tiêu chuẩn hố các véctơ tài liệu và câu truy vấn để
kè vl, = la | = ], thì việc tính cos tạo thành tích trong đơn giản
Trong thực tế, các tài liệu mà các véctơ tài liệu tương ứng của chúng tạo các cos (với véctơ câu truy vấn) lớn hơn giá trị ngưỡng (ví dụ như |cosớ, |=0 5) được đánh giá là phù hợp với câu truy vấn của người sử dụng
Trong ví du Flg 3.1, các cos khác 0 là cosƠ¿ = cosÐ; = 0.4082 và cosƠ; =
cos0¢ = 0.5000 Do vậy, ngưỡng 0.5 sẽ chỉ đánh giá các tài liệu thứ 5 và 6 là phủ hợp với Child Prooling Trong khi tài liệu thứ 5 chắc chắn phù hợp
với câu truy vấn, thì tài liệu thứ 6 (dé cap dén rust proofing) là khơng phù hợp Tài liệu thứ 7 va 4 tài liệu đầu cũng khơng phù hợp
Nếu chúng ta qua tam dén viéc tim cdc sdch vé Child Home Safety trong tập ở ví dụ Fig 3.1, các cos khác 0 tạo với véctc truy van
q=(010010010)
Trang 24
Nghién cucu search engine
sẽ là cos0, = 0.6667, cos0; = 1.0000 và cos0¿ = 0.2582 Với ngưỡng là
0.5, các tài liệu thứ nhật, thứ tư, thứ năm (chúng cũng phù hợp với câu truy vân) sẽ khơng thoả mãn
Tuy nhiên, các tính tốn tài liệu ở trên dựa trên các tần số xuất hiện các từ khố khơng tạo được mơ hình tương xứng cho nội dung ngữ nghĩa của các tiêu đề sách Các kỹ thuật dé nâng cao tính tốn khơng gian véctơ các tài liệu đã được phát triển để xử lý các lỗi hoặc các liên kết khơng chắc chắn với mơ hình tìm kiếm thơng tin khơng gian véctơ cơ bản Một cách tiếp cận được dựa trên cách sử dụng các trọng sơ thuật ngữ, và một cách tiếp cận khác dựa trên cách tính xâp xỉ cho ma trận từ khố x tài liệu Tiên đề của cách tiếp cận sau được dựa trên phương pháp là giâm nhiễu tiềm năng (do các vân đề như đồng nghĩa và đa nghĩa) gây ra bởi phương pháp tính xap xi
H12 Các phương pháp thiết kế
IHI.2.1 Đánh trọng số từ khố
Tập n tài liệu được đánh chỉ mục bằng m từ khố cĩ thể được biểu diễn bằng ma trận từ khố x tài liệu m xn A = [aj] Mỗi phan tử au của ma trận A thường là tần số cĩ trọng số mà tại đĩ từ khố I xuất hiện trong tài liệu j Mục đích chính để đánh trọng số từ khố là để nâng cao phương pháp tìm kiếm Phương pháp trong trường hợp này để cập đến khả năng tìm kiếm thơng tin thích hợp (kết quả thu được) và loại bỏ đhơng tin khơng thích hợp (độ chính xác) Kết quả thu được được đo bằng tỉ lệ giữa số lượng tài liệu thích hợp tìm được với tổng số mục thích hợp cĩ trong tập Độ chính xác được đo bằng tỉ lệ giữa số tài liệu thích hợp tìm được với tổng số tài liệu tìm được Một hệ thống tìm kiếm thơng tin mong muốn là một hệ mà nĩ cĩ độ chính xác cao với tất cả các mức kết quả thu được Một cách dé nang cao két qua thu được với mội câu truy vần là dùng các từ cĩ tần số cao, cĩ nghĩa là từ đĩ xuất hiện trong | nhiều tài liệu Ngược lại, để thu được độ chính xác cao cĩ thể dùng nhiều từ hay từ khố xác
định mà chúng phù hợp với hầu hết các tài liệu tương ứng trong tập Đánh
trọng số từ khố là một phương pháp được sử dụng phổ biến để nâng cao kết quả tìm kiếm của các hệ đánh chỉ mục tự động
Ký hiệu Tên Cơng thức
B nhị phân x (fi)
L Légarit Log(1 + fj)
Trang 25Phan tir ay dugc xác định bằng cơng thức sau:
aij = lụg;d; (3.2)
trong đĩ l là trọng số cục bộ cho từ thứ ¡ cĩ trong tài liệu j, gi 1a trong sé tồn thể cho từ thứ ¡ trong tập, và đ; là thừa sơ tiêu chuẩn hố tài liệu mà nĩ xác định xem các cột của A (nghĩa là các tài liệu) cĩ được tiêu chuẩn hố hay khơng Các bảng 3.1, 3.2, 3.3 chứa các cơng thức tính trọng số thơng dụng được sử dụng trong các hệ đánh chỉ mục Đề thuận tiện hon,
xét:
1 T>0
z9~ r=0
f; là số lần (tần số) mà từ khố ¡ xuất hiện trong tài liệu j và p„=/,/5 /,
Một dấu hiệu đơn giản để xác định phương pháp đánh trọng số từ khố là sử dụng chuỗi 3 chữ cái liên kết với các thừa số tiêu chuẩn hố, tồn thể và cục bộ mong muốn, Ví dụ, phương pháp đánh trọng số j# được xác
định như sau:
log(f, +I)log(n/ 5 70)
[S\dogtf, +Dlog(n/ Leh’
Xác định một phương pháp đánh trọng số cho các lựa chọn trong các bảng 3.1 đến 3 3 phụ thuộc vào các đặc tính vốn cĩ của tập tài liệu Sự lựa chọn trọng số cục bộ Œ) cĩ thể hồn tồn phụ thuộc vào các mẫu sử dụng từ hay từ vựng của tập Với từ vựng khoa học và kỹ thuật (chẳng hạn các báo cáo kỹ thuật và bài báo), thường dùng các phương pháp của dạng nxx với các tần số từ khố tiêu chuẩn Với từ vựng chung hơn (đa dạng hơn) (chẳng hạn các tạp chí phơ thơng, bách khoa tồn thư), thì các tần số từ khố đơn giản (t**) cĩ thé đã là đủ Các tần số từ khố nhị phân (b**) cĩ ích khi danh sách từ khố (hay là các hàng của ma trận từ khố x
Trang 26Nghiên cứu search engine F Tân số tài liệu đảo lo DA, | G Gidf Ea) Ea N Bình thường 1 7; ý 5 P Nghịch đảo xác suất ol 3 LAU, | j J
Bảng 3.2 Các cơng thức tinh trọng số tồn thê (g¡)
Việc lựa chọn thừa số trọng số toản thể (g;) sé tinh vào trạng thái của tập tài liệu Qua trọng số này chúng ta biết tập tải liệu này thay đổi như thế nảo Điều chỉnh các trong sơ tồn thể để đáp ứng với vơn từ vựng mới sẽ ảnh hưởng đến tất cả các hàng tương ứng của ma trận từ khố x tài liệu Để tránh việc cập nhập thêm, chúng ta cĩ thể đơn giản khơng tính đến tồn bộ các nhân tố tồn thê (*g*) Với các tập tĩnh hơn, trọng số tần số tài liệu nghịch đảo (*f*) thường được chọn trong các hệ đánh chỉ số tự động Kýhiệu | Tên Cơng thức x 1 Cc Cos [= (et 7 12
Chúng ta thấy rằng xác suất mà một tài liệu được đánh giá là thích hợp
cho người sử dụng tăng theo độ dài của tài liệu Nĩi cách khác là néu tai liệu dai hon, thì cĩ thể sẽ thấy nhiều từ khố hơn trong tài liệu (và với tân số cao hơn) Qua nhiều thực nghiệm với các tập tài liệu dài cho thấy tiêu chuẩn hố cos truyền thống khơng hiệu quả Để xác suất tìm các tài liệu với độ dài đã định cĩ cùng xác suất tìm tài liệu tương ứng cĩ cùng độ dài, chúng tơi sẽ trình bày phương pháp tiêu chuẩn hố tính cos trục:
_ đ~leg(/, ~ ƒ,))/(1+log(7,)
(—8)xp+sxu
trong dé f, - ALoy +Œ,)), s là độ nghiêng và thường được gán bằng
y
0.2, p là giá trị trục là giá trị trung bình của các từ khố duy nhất cĩ trong (trên I tài liệu) tập tài liệu, u là sơ các từ khố trong tai liệu j Một trong các hiệu quả là, cơng thức này là phương pháp điều chỉnh tiêu chuẩn hố cos sao cho các tài liệu thích hợp cĩ kích thước nhỏ hơn sẽ được đánh giá
tốt hơn
“Trung |
Trang 271H.2.2 Lưu trữ ma trận ,
Các ma trận từ khố x tài liệu cĩ số lượng phần tử khác 0 là tương đơi
nhỏ so với số lượng các phần tử bằng 0 Nĩi chung các ma trận thưa này
thiếu mẫu hay cấu tric nhu ma tran A 10 x 6 đưới đây x x x x x x uw OO Rw eM HH H eM uM NM MM
Nếu ma trận từ khố x tài liệu cĩ cấu trúc phần tử khác 0 như trên, thì khả năng để xác định các nhĩm của các tải liệu mà cĩ chung các từ khố tương tự nhau là hồn tồn đơn giản Nhưng để cĩ các ma trận như vậy cho các tài liệu nĩi chung là hồn tồn khĩ, tuy nhiên, đang cĩ những phát triển trong việc sắp xếp lại các ma trận cho các siêu văn bản để tạo
ra các ma trận tương tự như vậy
Để giảm bớt việc lưu trữ và xử lý các phần tử 0, người ta đã tạo ra nhiều định dạng nhớ ma trận hiếm Để phân bố các vị trí lưu trữ liên tiếp trong bộ nhớ cho các phần tử khác 0, thì định dạng ma trận thưa phải biệt được chính xác các phần tử phù hợp với ma trận từ khố x tài liệu đầy đủ như thế nào Hai định dạng phù hợp cho các ma trận được chúng tơi trình bày ở đây là lưu trữ hang nén (CRS — Compressed row Storage) và lưu trữ cột nén (CCR — Compressed column Storage) Cac dinh dang ma tran thua này khơng theo bat kỳ cầu trúc ma trận (hay mẫu) các phần tử khác 0 nào
Định dạng lưu trữ hàng nén đặt các phần tử khác 0 của các hàng vào dãy
lưu trữ liên tiếp, và định dạng lưu trữ cột nén lưu trữ các cột ma trận theo
phương pháp tương tự Mỗi định dạng trên đều yêu cầu cĩ 3 dãy nhớ để cĩ thể truy cập và lưu trữ bất kỳ phần tử khác 0 nào Nội dung 3 dãy này
chúng tơi sẽ trình bày dưới đây
Định đạng lưu trữ hàng nén (CRŠ — Compressed row Storage)
Dinh dang ma tran thua nay yéu cau cĩ một đãv sơ động (dãy giá trị - val) đề lưu trữ các giá trị khác 0 (là các tần số từ khố cĩ hoặc khơng cĩ trọng
số), và 2 dãy số nguyên để lưu trữ các chỉ số (số hang — col_ind, số cột — row_ptr) Day gid tri chứa các phan tử khác 0 của ma trận từ khố x tải
liệu theo từng hàng từ trái sang phải Dãy chỉ số hàng chứa các chỉ số
Trang 28Nghiên cứu search engine
hàng tương ứng (số tài Hiệu) của các phần tử (các tần số từ khố) trong dãy giá trị Nghĩa là nếu val(k) = a¡, thì col_ind(k) = j Day chi sơ cột row_ptr chứa vị trí của dãy val (tan sé các từ khố) mà nĩ là bắt đầu hàng Nếu val(k) = aj, thi row_ptr(i) < k < row_pư(i + 1) Nếu mnz là số các phần tử khác 0 (dn số từ khố) cho ma trận từ khố x tài liệu A, thì ta cĩ row_ptr(n + 1) = nnz + 1 Hiệu row_ ptr(n + Ï) - row_ptr(n) là số phần tử khác 0 trong hàng thứ 1 Với ma trận mì x n, thì định dạng CRS chỉ cần 2nnz + m + 1 ơ nhớ so với mn ơ nhớ cho tồn bộ ma trận A
Định dạng lưu trữ cột nén (CCS — Compressed Column Storage) Dinh dạng CCS gần giống với định dạng CRS trong đĩ các cột của ma
Trang 29[0.4472 [4 L [0.7071 |3 | Fig 3.2 Cac dang CRS va CCS cia ma tran tir khoa x tài liệu A (nnz = 19) cha Fig 3.1 II.2.3 Tính xấp xỉ hạng thấp
Trong các hệ đánh chỉ mục tự động, các tính khơng chắc chắn cùng với ma trận từ khố x tài liệu cĩ thể phân lớn do khác biệt ngơn ngữ và văn hố Các lỗi đo cĩ thé được tích luỹ và do đĩ tạo ra tính khơng chắc chắn trong dữ liệu Các sự khác nhau cơ bản trong cách sử dụng từ giữa các tác giả và người đọc cho thay sẽ khơng bao giờ cĩ ma trận từ khố x tai liệu hồn hảo mà nĩ biểu diễn được chính xác tất cả các kết hợp từ khố x tài liệu cĩ thể Xét ví dụ trong Fig 3.1, tài liệu D4 “Your Babyˆs Health and Safety: From Infant to Toddler” là phù hợp với câu tìm kiếm “child prooing” Đánh giá tương ứng này cho thấy ma trận A chưa tiêu chuẩn hố trong Fig 3.1 cĩ các gid tri ang = ayy = 1 Do két hợp thực sự của các từ khố (và các khái niệm) với các tài liệu cĩ thê được thực hiện nhiều cách khác nhau, cĩ thể thay ma trận A bằng ma trận tổng A +E, trong đĩ E là ma trận lỗi hay khơng chắc chắn khi tạo ra các phân tử của ma trận A
Chúng ta thấy rằng ma trận tài liệu x từ khố trong Fig 3.1 cĩ hạng là 7
Nĩi cách khác, ma trận cĩ chính xác 7 cột độc lập tuyến tính (là các véc
tơ tài liệu) Với tập tài liệu lớn hơn và đặc biệt là với WWW, ma trận A m x n tương ứng cĩ thể khơng cĩ hạng lớn nhất (cĩ nghĩa là khơng cĩ đủ n cột độc lập tuyến tính) Thực tế, nếu đầu đề sách là:
D8: Safety Guide for Child Proofing Your Home
được thêm vào tập trong Fig 3.1, ma trận A chưa chuẩn hố sẽ vẫn cĩ
Trang 30Nghiên cứu searchi engine 0 05774 0 04472 0701 0 0.7071 0 0 0.5774 0.5774 0 0 0 0 0.4472 0 0 0 0 0 0.7071 0.7071 0.4472 0 0 0 04472 0 0 0 0 A=| 0 0574 0574 0 0 0 0 04472 0.7071 0 0 04472 0 0 0 0 0 0 0 0 0.7071 0.7071 0 04472 0 0 05774 0.4472 0 0 0 04472 0.7071 0 0 04472 0 0 0 0
Các phương pháp gần đây để tạo thuận tiện đánh chỉ mục nhận thức, cĩ
nghĩa là khả năng tìm thơng tin thích hợp mà khơng yêu cầu phù hợp - nghĩa đen, tập trung vào tính xấp xỉ hạng k cho các ma trận từ khố — tài liệu Phương pháp đánh chỉ mục ngữ nghĩa tiềm tàng là một phương pháp sử dụng các cách tính xp xỉ hạng k để mã hố m từ khố va n tải liệu trong khơng gian k chiều, trong đĩ k << min(m, n) Như trong Fig 3.3, phương pháp tính xấp xi hang 2 cho ma tran A trong fig 3.1 cĩ thê được dùng để biểu điễn các từ khố và các tài liệu trong khong gian 2 chiều Khơng như các mơ hình khơng gian véctơ truyện thống, các toạ độ được tạo ra bằng phương pháp tính xấp xỉ hạng thấp khơng phản ánh rõ ràng các tần số từ khố trong tài liệu Thay vào đĩ, các phương pháp như đánh chỉ mục ngữ nghĩa tiềm tàng cĩ gắng mơ hình các mẫu dùng tồn thể của các từ khố sao cho các tài liệu liên quan mà chúng cĩ thể khơng cĩ các từ khố chung vẫn được biểu diễn bằng các véctơ gần trong khơng gian
con k chiều Nhĩm các từ khố (hay các tài liệu) trong khơng gian con là
cách tự động để nhĩm thơng tin theo các khái niệm Từ Fig 3.3, việc phân chia các tiêu đề sách trong khơng gian 2 chiều phản ánh cách sử dụng riêng lẻ các từ khố như “Guide” và “Proofing” và các từ đồng nghĩa được dùng như “Baby”, “Child”, “Infant” va “Toddler” Cha y la biểu diễn véctơ của câu truy vấn “Child Home Safety” la 16 rang theo chiéu của nhĩm tài ligu {D1, D2, D3, D4) Thực tế, cdc gid tri cos lon nhất giữa
véctơ câu truy vấn với tất cả các véctơ tài liệu được tạo ra bằng phương
pháp tính xâp xi hạng 2 là cos0; = 1.000, cos0,= 0.9760, cos0¡= 0.9788 Mơ hình tìm kiếm thơng tin này sẽ trả về kết quả là các tài liệu thứ nhất và tư là phù hợp với câu truy vẫn
Trang 31pe 0.8 0.6 - a 0.4 6 02 £ o 0 E -0.2 Qa -0.4 -0.6 -0.8 02 0 02 04 06 08 1 #12 14 1.6 Dimension 1 Fig 3.3 Khơng gian 2 chiều biểu diễn tập tiêu đề sách IIL.3 Phân rã ma trận `
Để tính x4p xi hang giảm cho ma trận A m x n từ khố x tài liệu, chúng ta
phải xác định được tính phụ thuộc của các hàng, các cột trong ma trận A
Với ma trận A hạng k, cĩ k véctơ cơ bản là độc lập tuyên tính
HII3.1 Tính thừa số QR ;
Tập các véc to co ban tim được bang cách tính thừa sơ QR của ma trận từ khố x tài liệu:
A=QR (3.3)
Trong đĩ Q là ma trận trực giao m x m và R là ma trận tam giác nửa trên
Ma trận Q được gọi là trực giao nếu các cột của nĩ là trực giao Nĩi cách
khác, nếu q¡ là một cột của ma trận trực giao, thì q¡ cĩ độ lớn Ơclit đơn vị
T - 2s
clay lL, =43,;4; =1 với j = 1, 2, ., m và nĩ trực giao với tất cả các
cột khác của Q (2Í474, =0 với mọi ¡ # j) Các cột của Q do đĩ cũng là trực
giao do O'Q= QQ! =I Véi bat ct ma tran A nao ta cting phan tich dugc
theo cơng thức (3.3) và cĩ nhiều cách khác nhau để tính các thừa số QR Cho trước quan hệ ÀA = QR, suy ra rằng các cột của ma trận A là kết hợp
tuyển tính của tất cả các ma trận Q Do vay, tập con k cột của ma trận Q
tạo thành khơng gian cột cơ sở của ma trận A, trong đĩ k là hạng của ma trận A Tính thừa số QR trong phương trình (3.2) cĩ thể được sử dụng để
Trang 32Neghién citu search engine
xác định các vécto co sở cho ma trận từ khố x tải liệu Với ma trận từ khố x tai liéu trong Fig 3.1, các thừa số là: 0 0.5774 0.5164 -0.4961 0.1432 0 -0.45774 -0.2582 0.2481 0.0716 0 0 0 0 0 0 0 0 -0.6202 —0.2864 Ø(.1L:5J=[ 0 -0.5774 -0⁄2582 0.2481 -0.0716 -0.7071 0 0 0 0 0 0 0 0 0.9309 0 0 -0.7746 -0.4961 0.1432 -0.7071 0 0 0 0 ~0.1252 0.3430] 0 0 0.0626 -0.1715/-0.5962 0.3802 0.9393 0.3430] 0 0 0.2505 -0.6860 0 0 OL:,6:9}=| 0.0626 -0.1715) 0.5962 ~—0.3802 (3.4) 0 0 0.3802 —0.5962 01252 -03430 0 0 -0.1252 0.3430! 0 0 0 0 |0.3802 0.5962 -1 0 0 -06325 0 0 0 0 -1 -0.6667 -0.2582 -0.4082 0 -0.4082 0 0 -07454 -0115 0361 0 ~-0,3651 0 0 0 -0.7211 -0.3508 0 —0.3508 R=|0 0 0 0 0.7596 0.6583 0.1013 (3.5) 0 0 0 0 0 0.7528 0.5756 0 0 0 0 0 0 04851 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Trong phương trình (3.4) 7 cột đầu tiên của ma trận Q được tách ra khỏi các cột khác Tương tự như thế, 7 hàng đầu tiên của ma trận R trong phương trình (3.5) được tách ra khỏi 2 hàng tồn phần tử bằng 0 Thừa số QR của ma trận từ khố x tài liệu cĩ thể được biểu diễn như sau:
A=(Q, 000 }»0,8 x0,0=0/4 (3.6)
Trang 33trong dé Q, là ma trận 9 x 7 được xác định bằng 7 cột đầu tiên của Q, Q;
là ma trận 9 x 2 cịn lại của ma trận Q, Rị là các cột khác 0 của l Sự phân ma trận này cho thấy các cột của Q¿ khơng đĩng gĩp các phần tử khác 0 nào vào tích 2 ma trận Q và R để tạo ra ma trận A Do vậy, hạng (số các cột độc lập tuyến tính) của 3 ma tran A, R va R, la giống nhau, do vậy 7 cột đầu tiên của ma trận Q tạo thành tập cơ sở cho khơng gian cột
của ma trận A
Tuy nhiên, cách chia ma trận R ở trên thành các ma trận con khác 0 và bằng 0 khơng phải là tự động Trong rất nhiều trường hợp, cột là trụ là cần thiết trong quá trình tìm thừa số QR để đảm bảo thu được ma trận bằng 0 ở cuối của ma trận R
Động cơ thúc đây để tính thừa số QR của ma tran A tir khố x tài liệu là các véctơ cơ sở (các cột của A) cĩ thê được sử dụng dé mơ tả nội dung ngữ nghĩa của tập tài liệu ‘one ứng Cos các gĩc ơ; giữa véctơ truy vẫn q
và các tài liệu a; (với J = 1, 2, , n) là
aq _ (Qự)'g 7, id) 4)
27L, li, lal, “for L lal, il, Id,
trong do 1 là cột thứ j của ma trận con Rị Do “phép nhân véctơ với ma trận cĩ các cột ons thay thế được quy tắc véctơ, nên ta cĩ thê viết
| =¥ Or) Or, =yr, 076, =jry tị =|rÍ,
Với ma trận từ khố x tài liệu trong ví dụ Fig 3.1 và véctơ truy vấn q
(Child Proofing), chung ta khong thấy mất thơng tin khi sử dụng phương trình (3.3) Cụ thể là các cos khác 0 được tính qua cơng thức (3.7) là giống với các kết quả tính bằng cơng thức (3.1): cos0 = cos9; = 0.408248
va cos0;= cos0¢= 0.50000
(3.7)
Do ma trận tam giác nửa trên R và ma trận A gốc từ khố x tài liệu cĩ cùng hạng, nên chúng ta sẽ quan tâm đến việc dùng các thừa số QR để tính xâp xi hạng thấp cho A Với một ma trận A từ khố x tài liệu, chúng ta khơng thể ngay lập tức tính được hạng của nĩ Tuy nhiên, hạng của ma trận R tương ứng trong thừa số QR của A đơn giản là các phần tử khác 0
trên đường chéo Với cột trụ, chúng ta cĩ thể tạo được ma trận hốn vị P sao cho AP = QR và các phần tử lớn và nhỏ của ma trận R được tách riêng, các phân tử khác 0 năm nửa trên đường chéo chính của ma trận, và
phần tử bằng 0 ở nửa dưới
Ma trận R trong phương trình (3.5) cĩ thể được thay bằng:
Trang 34Nghiên cứu search engine -1 0 0 -0.4082 -0.4082 |~-0.2582 -0.6667 0 -1 0 0 0 — 0.6325 0 0 0 -1 -0.5000 ~0.5000 0 0 0 0 0 -0.7638 -0,1091 |-0.2760 0.3563 ROR R=]0 0 0 0 0.7559 | 0.2390 —0.3086 -( " «| 0 0 O 0 0 0.6325 0.4082 » 0 0 0 0 0 0 - -0.4082 0 0 0 0 0 0 0 0 0 0 0 0 0 0 (3.8) Ma trận con Rạ; ở trên là một phần khá nhỏ của ma trận R Ta cĩ: |R»|„ /|R|, =0.8563/2.6458=0.3237 trong đĩ định thức ma trận Frobenius (|| |_) của ma trận m x n thực B = [bạ] là: jal, |S $0
Nếu ma trận Rạ; là ma trận khơng 4 x 2, thì ma trận R nửa trên đường chéo cĩ hạng 5 thay vì 7 Ma trận A + E = QR cũng cĩ hạng 5, tính khơng
chắc chắn của ma trận E cĩ thê được định nghĩa như sau:
_ _de Ry LIÊN Ry Ry \_ 0 0
eased’) Tho ah Ao —2,)
do vậy |£|,=|R»|, Do |F|, =|R„[., nên |£|, /|4; =|E»|, /J£ |,=03237
Như thế, với thay đổi đương đối khoang 32% trong ma tran R giống thay đổi của ma trận A, và hạng của 2 ma trận này giảm từ 7 xuơng 5 Các
nghiên cứu cho thấy các sự khơng thống nhất trong cách đánh chỉ mục do tính khơng chắc chắn trong mơ hình thu thập thơng tin Để làm giảm tính khơng chắc chắn trong ma trận từ khố x tài liệu, ta dùng cách tính xấp xỉ hạng thấp hơn (A — E) để cho tính khơng chắc chắn (E) là khá nhỏ
1H.3.2 Phân tích giá trị số Ít (SVD — Singular Value Decomposition) Trong phần trước, chúng tơi đã trình bày cách dùng các thừa số QR dé tao
ra các véctơ tài liệu cĩ kích cỡ xác định bất kỳ Phương pháp này là cơ sở
giảm hạng cho khơng gian cột của ma trận từ khố x tài liệu A, nhưng nĩ chưa tính đên thơng tin của khơng gian hàng của ma trận A Phương pháp SVD ma ching tơi giới thiệu dưới đây là phương pháp tính xâp xi giảm hạng cho cả 2 chiều Hơn nữa, SVD cĩ đặc ciêm tốn học duy nhất là cung cấp phương pháp tính xắp xỉ hạng k cho ma trận A
SVD của ma trận A từ khố x tải liệu được tính bằng cơng thức sau:
Trang 35A=U5`Vr
trong đĩ U là ma trận trực giao m x m mà các cột xác định các véctơ số ít bên trái của A, V là ma trận trực giao m x n mà các cột của nĩ xác định
các véctơ số ít bên phat của A, >; la ma tran duéng chéo m x n chứa các
gia tri số Ít ơi > 0> > Gmin(m, ny Cua A theo đường chéo của nĩ Cỡ
tương đối của các thừa s số U, Ð, V được mình hoạ trên Fig 3.4 Tất cả các phân tử ngồi đường chéo của ma trận 5 đều bằng 0 m>n * ok Ok ek * ke #+IÍ4 * Oe * * * %* *%* *% ° *** * * +*|_j* +* Ok OK Ok eij* ® *# x * Ok * * x* + *% ** x* ** *% * x* # + + yr 1 A U > m>n ** + * vl [* * #]lfae * * * *.* * ke Re + Rif kK + +% ° * * + + * ok oe + RL tek ° *.* * * OX Ặ Ũ š x kK ok Ok * LS
Fig 3.4 Cac ma tran thanh phan cla SVD
CaSVD A=US‘V" va cdc thira s6 QR AP = QR déu cé thé duge sir dung để xác định hạng (ra) của ma trận A rạ là số các phần tử khác 0 trên đường chéo của R Tương tự thì rA cũng là số phần tử khác 0 trên đường
chéo của Ð Trong khi ra cột đầu tiên của ma trận Q tạo thành cơ sở cho khơng gian cột, thì ra cột đầu tiên của ma trận U cung tạo thành cơ sở
khơng gian cột Do cách tính xp xi hang k cho ma tran A, voi k < rg, cd
thé duge tao ra bang cach dat bang 0 cho tat cả trừ k cột đầu của ma trận
R, chúng ta cĩ thể xác định được cách tính xấp xỉ hang k (A;) cho ma trận
A bằng cách đặt tất cả các trừ k giá trị số ít lớn nhất bằng 0 Sai số giữa cách tính xấp xi A bằng A, là:
|á-44|,=, min |4-B],=|øia + +2
hang( Bysk
trong d6 4,=U,>" VY," , Ux va Vi, tao ra k cột đầu tiên của các ma trận U và V, 5x là ma trận đường chéo k x k chứa k giá trị sơ ít lớn nhật của ma trận A Nĩi cách khác, sai số trong cách tính xấp xi ma trận A từ khố x
Trang 36Nghién citu search engine
tai liéu bang A, được xác định bằng cách cắt đi các gia tri số Ít (Ø1; Øk+I›
> Gra)
11.3.3 Phan tich ban roi rac (SDD — Semidiscrete Decomposition) SDD là một phương pháp làm giảm yêu cầu lưu trữ cho các mơ hình tìm kiếm thơng tin như đánh chỉ mục ngữ nghĩa tiềm tàng Trong phương pháp SDD, chỉ cĩ các giá tri {-1, 0, 1} (đại điện cho từng bit) được sử dụng đề xác định các thành phân của Uy và Vụ, và xử lý được các vân đề lập trình số nguyên để tạo ra phân tích ma trận
Vấn đề lập trình số nguyên với giải pháp các bộ 3 đạng {ø, v¿} cĩ thé được biểu diễn như sau:
mịn Fk(ø,u,v)=|R, -ow" |
veS” a>0
trong dé g là khơng gian con j chiều được tạo ra từ các véctơ mà cĩ các
thành phần là các phân tử thuộc tập {-1, 0, 1}, Ry = A ~ Aj), va Ao = 0
Các thực nghiệm cho thấy phương pháp SDD đã làm giám được yêu cầu về bộ nhớ rất nhiễu
IV Biêu diễn các câu truy vấn IV.1 Xử lý chung các câu truy vấn
Liên kết truy vấn là thuật ngữ chung để mơ tả quá trình 3 mức để biến đổi yêu cầu của người sử dụng thành câu truy vân cho search engine Mức đầu tiên liên quan đến người dùng biến đổi thơng tin tìm kiếm thành câu hỏi hoặc danh sách các từ khố theo kinh nghiệm riêng và vốn từ, sau đĩ đưa vào search engine Ở mức tiếp theo, search engine phải dịch các từ (cĩ thể xử lý cả lỗi) thành các ký hiệu xử lý Mức 3, mức cuối cùng, search engine phải sử dụng các ký hiệu xử lý để tìm kiếm trong cơ sở dữ
liệu tài liệu và tìm ra được các tài liệu phù hợp
Trong thực tế, người sử dụng (thường dựa trên kinh nghiệm và kỹ năng) cĩ thê nhập vào nhiều dạng câu truy vấn khác nhau như kiểu Boolean hay dạng câu hỏi (truy vấn ngơn ngữ tự nhiên), hoặc là danh sách các từ khố với các tốn tử quen thuộc và các cụm từ liên tiếp, hoặc sử dụng từ điển đồng nghĩa Do đĩ nảy sinh các vấn để khi search engine khơng thê xử lý được tất cả các loại câu truy vấn Một câu truy van ma dùng các tốn tử lơgic như AND hay OR được xử lý khác câu truy vẫn ngơn ngữ tự nhiên Xây dựng một search engine để chấp nhận loại câu truy vấn nào đĩ thì cuỗi cùng phải buộc người sử dụng phải học cách nhập cầu truy vắrytheo cách đĩ
Trang 37Điều này khơng nĩi lên là loại câu truy vấn này là tốt hơn loại khác nhưng chỉ ra rắng cĩ vài kiểu câu truy vân và việc thiết kế search engine rất phụ thuộc vào kiểu câu truy vân được chấp nhận Một phần của việc lựa chọn kiểu câu truy vấn cũng phụ thuộc vào việc dự đốn ai sẽ sử dụng search engine nảy Đổi với người mới bắt đầu tìm kiếm hay chưa cĩ kinh nghiệm thì sẽ thây thối mái hơn với các câu truy vấn ngơn ngữ tự nhiên trong khi với người cĩ kinh nghiệm quen với các đặc điểm tìm kiểm tiền bộ sẽ thấy thích dùng hệ thống tìm kiếm lơgic hay với các cụm từ liên
tiếp
IV.2 Các loại câu truy vẫn
1V.2.1 Truy vấn sử dụng tốn tử Boolean
Các câu lệnh truy vấn sử dụng tốn tử Boolean là các câu lệnh sử dụng các tốn tử AND, OR, NOT để liên kết các từ Nếu người sử dụng muốn tìm kiếm các tài liệu cĩ chứa cả 2 từ 'book' và 'banking' thì câu lệnh nhập vào sẽ là 'bòk AND banking Nếu chỉ cần tìm các tài liệu cĩ chứa một trong cdc ti ‘book’ va ‘banking’ thi cau lệnh nhập vào sẽ là 'book ĨR banking' Truy vấn sử dụng tốn tử Boolean cho phép mở rộng hay thu hẹp phạm vi tim kiếm một cách đễ đàng Điểm yếu của chúng là khơng phải người sử dụng nào (trừ những nhà tốn - tin học) cĩ thể sử dụng thành thạo tốn tử Boolean mặc đù chúng rất đơn giản Một số search engine khơng sử dụng kiểu truy vấn này nên đã bỏ qua các tốn tử Boolean khi xử lý câu lệnh truy vấn
1V.2.2 Truy vấn sử dụng ngơn ngữ tự nhiên
Truy vấn sử dụng ngơn ngữ tự nhiên là các truy vấn mà người sử đụng đưa yêu cầu vào thơng qua các câu hỏi hay trả lời các câu hỏi mà search engine đưa ra Ví dụ "Tài liệu nào cĩ chứa thơng tin về lĩnh vực ngân hàng?", hay "Bạn tìm tài liệu thuộc lĩnh vực nào dưới đây?" Để xử lý các câu lệnh truy vấn sử dụng ngơn ngữ tự nhiên, search engine phải phân tích câu lệnh, xác định các từ nào trong truy vấn cĩ trong dữ liệu index, từ nào là các từ khơng cấn cho tìm kiếm (trong danh sách stop list) Kiểu truy vấn này thuận tiện cho người sử dụng nhưng khĩ cho máy tính xử lý bởi máy tính khĩ xác định được ý nghiã của từ trong một ngữ cảnh cụ thể IV.2.3 Truy vấn sử dụng từ điển
Truy vấn sử dụng từ điển là kiểu truy vấn mà người sử dụng chọn các từ truy vấn từ một tập các từ xác định trước bởi search engine Kiểu truy vấn này thường được sử dụng để tìm kiếm một chuyên ngành hẹp với các thuật ngữ của ngành đĩ Lợi ích của kiểu truy vấn này là bước xử lý đầu tiên đã được làm tự động cho người sử dụng, Do đĩ thậm chí người sử
dụng khơng cần biết từ mình chọn cĩ phải là từ tốt nhất cho tìm kiếm hay khơng Hơn nữa search cngine cĩ thể bổ xung, gợi ý các thuật ngữ mới mà người sử dụng chưa biết hoặc khơng ng]ĩ tới
Trang 38Nghiên cứu search engine
1V.2.4 Truy vấn mờ
Khái niệm truy vấn mờ cĩ ý nghĩa tương tự như khái niệm mờ thơng thường Theo đĩ câu lệnh truy vấn cĩ các từ khố được hiểu theo nghĩa này hay nghĩa khác, từ này hay từ khác Truy vấn mờ cho phép xử lý vấn để về lỗi chính tả (mispelling) và vấn dé về các biến đổi khác nhau của cùng một gốc từ Các từ trong câu lệnh truy vấn được tách phần gốc từ, kiểm tra lỗi chính tả, so sánh với các từ đã được index để tìm các từ, các tài liệu phù hợp (match) nhất Ví dụ các từ "bank", "banking", "banker" cĩ cùng một gốc từ "bank" và vì vậy cĩ thể được xử lý như nhau Hay khi muốn tìm tài liệu cĩ chứa từ "archirecture", nếu người sử dụng gõ sai là
"arhcitecture" (đảo chữ c va h) thì hệ thống vấn cĩ thể tìm ra chính xác từ này
Với các search engine cĩ sử dụng kiểu truy vấn mờ thì vấn đề xác định và sắp xếp mức độ liên quan của các tài liệu tìm thấy với yêu cầu tìm kiếm là rất quan trọng
1V.2.5 Truy vấn thống kê - xác suất
Kiểu truy vấn này liên quan đến cách thức search engine xác định mức độ liên quan của tài liệu với câu lệnh truy vấn Sử dụng một hàm thống kê như tính số từ xuất hiện trong tài liệu, tìm các từ đồng nghĩa, để xác định kết quả trả về cho người truy vấn Kiểu truy vấn này sử dụng nhiều phương pháp đã được phát triển rất tốt trong lĩnh vực thu nhận thơng tin
(information retrieval - IR)
Trang 39PHAN B
NGHIEN CUU CAC CONG CU SEARCH
ENGINE HIEN CO
Trang 40Nghiên cứu search engine
L Cơng cụ dtsearch
1.1 Giới thiệu chung
Dtsearch là một cơng cụ search engine do hãng phan mém DT Software, Inc phát triển từ năm 1991 đến nay Dtsearch là một cơng cụ cĩ các chức năng đánh chỉ mục tài liệu và tìm kiểm trên đữ liệu được đánh chỉ mục Dtsearch cung cấp các hàm API cho các ngơn ngữ lập trình như C, C++, Delphi, Visual Basic, ASP (Active Server Pages) Giao diện “Visual Basic” của dtsearch là giao diện tự động hố mà nĩ cĩ thé làm việc với bất cứ ngơn ngữ nào trên mặt client tự động như Visual Basic, VBScript, Delphi va C++ Dtsearch cịn hỗ trợ nhiều phương thức tìm kiếm khác nhau như các search engine khác như: tìm kiếm lơgíc, tìm kiếm từ điển, tìm kiếm theo ngơn ngữ tự nhiên, tìm kiếm mờ, tìm kiếm xác suất thống kê
Phạm vi tìm kiếm của dtsearch là rộng lớn, từ tìm kiếm trên Internet, tìm kiếm trên cơ SỞ dữ liệu như Access, SQLServer, Paradox, dBASE, hoặc cĩ thể tìm kiếm trên các tệp văn bản với nhiều dạng khác nhau như .doc, pdf, txt,
Các thành phần chính của dtsearch là: ;
Dtengine.dil: la tệp DLL 32 bít chứa các phương thức đề đánh chỉ mục và tìm kiêm với các ngơn ngữ C, C++, Delphi và Visual Basic
Disdil16.dll: 1a phién ban 16 bit cla dtengine.dll
Dtv_odbc.dll: là tệp chứa thêm chức năng đánh chỉ mục cho các cơ sở dữ
liệu Access, Paradox, đBASE, và FoxPro Để đánh chỉ mục được cho các
cơ sở dữ liệu ODBC, cần đặt tệp Dtv_odbc.dlI trong thư mục “viewers” là
thư mục con trong thư mục chứa tệp dtengine.dl1
Dtodbc16.dll: là phiên bản 16 bít của dtv_odbc.dll và được đặt trong thư mục con “vIiew1l6” của thư mục chứa dtsdl116.dl]
Dtremote.dll: là tệp chứa các giao dién dé tim kiếm trên Internet, khi đĩ dtsearch engine phải được chạy trên một máy chủ để xử lý yêu cầu tìm
kiêm
Các thư viện của dtsearch
Dtengine.lib là thư viện tương thích với MicrosoR để kết nối với dtengine.dll
Dtengine_bc.lilb là thư viện tương thích với Borland để kết nối với dtengine.dll