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 Toá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
Hà nội 04 - 2005
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
>4 Hệ quản lý đồ hoa EGO
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 Toá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
Hà nội 04 — 2005
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
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
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
11.5.4 Các cấu trúc tệp khác - - c LT n2 H THỰ 1kg ng re 14
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
1H.1.2 Phân tích câu truy vấn đơn gian ben 17
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.2 Các loại câu truy vẫn chen 32
TV.2.1 Truy vấn sử dụng toá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.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
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
C Đề xuất giải pháp ấp dựng search engine vào đề tài
Trang 6Nghiên cứu search engine
Trang 7có 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 hoá 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 hoà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ố hoá 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 toá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ừ 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ơ
Trung 2
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 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 Trước khi đi sâu tìm hiểu hoạt động của các thuật toá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:
Trung Š
Trang 9(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 4
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ị tìm kiếm
Trane S
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ừ khoá 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ừ khoá 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 6
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 7
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ừ khoá 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 Ñ
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 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ơ 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
Trung 9
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 hoá 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 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é 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 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 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 TÔ
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ừ 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 van 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 -Từ điển: là đanh 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 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ừ 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é 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 1Í
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ừ khoá được lựa chọn để dùng đánh chỉ mục
Ầ Từ khoá
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ơ
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 đữ 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
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 đự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 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)
đượ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ừ,
“Trung 13
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 Ngoà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ừ khoá, 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
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ã hoá 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ỡ đó Ngoà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
Trung 1
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ã hoá 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ã hoá và biêu diễn các từ khoá 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ừ khoá, 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ừ khoá, 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ừ khoá - 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ừ khoá bằng
ma trận A tài liệu - từ khoá 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ừ khoá 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ừ khoá
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ừ khoá để 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 toàn thư, số lượng từ khoá (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ừ khoá — 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ừ khoá và tập trá cả
Trang V5
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ừ khoá T1 Bab(y, ies)
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 hoá, trong đó thành
phân ay là số lần từ khoá ¡ xuất hiện trong tài liệu tiêu để j:
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ư
Trung 1ö
Trang 22Nghién citu search engine
First, Aid, Room, v.v Chú ý là bất kỳ từ khoá 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ừ khoá 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ừ khoá, 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:
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ừ khoá (trong một tài liệu hoặc trong toà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ừ khoá x tài liệu, các từ khoá 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ừ khoá 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ừ khoá đượ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
“Trane 17
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ừ khoá 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ừ khoá 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
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 hoá 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)
Trung
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 toán tài liệu ở trên dựa trên các tần số xuất hiện các từ khoá 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 toá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ừ khoá 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ừ khoá
Tập n tài liệu được đánh chỉ mục bằng m từ khoá có thể được biểu diễn bằng ma trận từ khoá 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ừ khoá I xuất hiện trong tài liệu
j Mục đích chính để đánh trọng số từ khoá 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ừ khoá 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ừ khoá 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
N tần số từ khoá được tiêu (x(f) + (f¿/maxyfj)⁄2
chuẩn hoá số gia tần số từ khoá fj
4
“Ba ìng 3.1, Các công thức tính trọng số từ khoá lụ
Trang 19
Trang 25Phan tir ay dugc xác định bằng công thức sau:
xét:
1 T>0
f; là số lần (tần số) mà từ khoá ¡ 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ừ khoá 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 hoá, toà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ể hoàn toà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ừ khoá 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 toàn thư), thì các tần số từ khoá đơn giản (t**) có thé đã là đủ Các tần số từ khoá nhị phân (b**) có ích khi danh sách từ khoá (hay là các hàng của ma trận từ khoá x
tài liệu) là tương đối ngắn, chẳng hạn như trường hợp từ vựng điều khiển
aij=
Trang 26
Nghiên cứu search engine
Để tránh việc cập nhập thêm, chúng ta có thể đơn giản không tính đến toàn bộ các nhân tố toà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
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ừ khoá 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 hoá 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 hoá tính cos trục:
tốt hơn
“Trung |
Trang 27
1H.2.2 Lưu trữ ma trận ,
Các ma trận từ khoá 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
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ừ khoá 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ừ khoá 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ừ khoá 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 22
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ừ khoá) 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ừ khoá) 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ừ khoá) cho ma trận từ khoá 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 toà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 trận A được lưu trữ trong các dãy liên tiếp (như ngược lại với các cột) Định dạng CCS, có thể coi là định dạng CRS của ma trận A chuyển vị, còn được gọi là định dạng ma trận thưa Harwell — Boeing Ba day luu trir của định dạng CCS là val, row-ind, column_ ptr, trong đó vai là dãy chứa các phần tử khác 0 của ma tran A theo thứ tự từ trên xuống của cột Dãy row_¡nd chứa các chỉ số tương ứng hàng của các phần tử trong dãy val Nếu val(k) = aj, thi row_ind(k) = ¡ Dãy col_ptr chứa vị trí của dãy val
mà nó bắt đầu một cột Nếu val(k) = = aj, thi col_ptr(j) <k < col_ptr(j + 1) Fig 3.2 minh hoạ 3 dãy của các dinh dang CRS va CCR của ma trận 9x7 trong Fig 3.1
Trang 29
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ừ khoá x tài liệu có thể phân lớn do khác biệt ngôn ngữ và văn hoá 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ừ khoá x tai liệu hoàn hảo mà nó biểu diễn được chính xác tất cả các kết hợp từ khoá 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 hoá 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ừ khoá (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ừ khoá 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 hoá sẽ vẫn có
hạng 7 Nói cách khác, ta có ma trận chưa chuẩn hoá:
Trang 30Nghiên cứu searchi engine
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ừ khoá — 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ã hoá m từ khoá 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ừ khoá 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ừ khoá 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 toàn thể của các từ khoá sao cho các tài liệu liên quan mà chúng có thể không có các
từ khoá 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ừ khoá (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ừ khoá 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
Trane 35
Trang 31Để tính x4p xi hang giảm cho ma trận A m x n từ khoá 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
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ừ khoá x tài liệu:
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ị
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 để
Trane %
Trang 32Neghién citu search engine
xác định các vécto co sở cho ma trận từ khoá x tải liệu Với ma trận từ khoá x tai liéu trong Fig 3.1, các thừa số là:
QR của ma trận từ khoá x tài liệu có thể được biểu diễn như sau:
Trang 27
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 khoá 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ừ khoá 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
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 hoá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:
Trung aN
Trang 34Nghiên cứu search engine
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ừ khoá 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ừ khoá 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 toá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ừ khoá x tải liệu được tính bằng công thức sau:
Tre ng 29
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ử ngoài đường chéo của ma trận 5 đều bằng 0
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ừ khoá x
Trang 30
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ừ khoá 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ừ khoá với các toá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 toá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 34
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
Trung 33
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ừ khoá đượ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)
Trung 33
Trang 39PHAN B
NGHIEN CUU CAC CONG CU SEARCH
ENGINE HIEN CO
Trane 3-4
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 hoá 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,
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
Trang 35