Searching

Searching là quá trình dò tìm từ hay cụm từ trong các chỉ mục để xác định những document nào chứa chúng. Chất lượng của công việc tìm kiếm này được đánh giá bởi thang đo recall và precision. Recall cho biết hệ thống tìm ra những document có liên quan tốt như thế nào, trong khi precision cho biết khả năng của hệ thống loại bỏ các document không thích hợp.

Tuy nhiên, còn có những yếu tố khác cũng quan trọng không kém đối với quá trình searching. Như đã trình bày, tốc độ và khả năng tìm kiếm trên một khối lượng lớn văn bản là 2 trong số các yếu tố đó. Ngoài ra còn có thể kể đến như tính năng hỗ trợ câu truy vấn đơn và kép, wildcard, truy vấn mờ, xếp hạng kết quả, sắp xếp trên dữ liệu trả về, độ thân thiện của cú pháp truy vấn.

Searching trải qua 4 bước cơ bản: user interface, build query, run query và render results.

1. User Interface

User interface là những gì người dùng thật sự nhìn thấy trên trình duyệt web, ứng dụng desktop, thiết bị di động khi họ tương tác với chương trình search. Đứng trên phương diện người dùng, đây là phần quan trọng nhất của search engine. Có thể kiến trúc bên dưới của search engine được thiết kế rất tốt, nhưng nếu phần giao diện bị lỗi, người dùng sẽ gặp khó khăn khi sử dụng dịch vụ, kết quả là họ nhanh chóng từ bỏ và bắt đầu chuyển sang một search engine khác thuận tiện hơn.

Một số mẹo để xây dựng user interface hiệu quả là:

· Giữ giao diện ở mức đơn giản, không hiển thị quá nhiều tùy chọn cấp cao ngay trang đầu tiên.

· Bảo đảm rằng người dùng luôn nhìn thấy search box nổi bật mỗi khi họ cần dùng, hơn là yêu cầu họ click và đường link để vào trang search (đây là một lỗi thường gặp).

· Không đánh giá thấp tầm quan trọng của việc trình diễn kết quả. Cụ thể là đừng sa đà vào việc đánh dấu so khớp trong tiêu đề và đoạn trích, hay sử dụng font chữ nhỏ và đưa quá nhiều văn bản trích dẫn.

· Đưa thứ tự sắp xếp và những tính năng thú vị của search engine (khả năng tìm kiếm từ đồng nghĩa, tự động sửa lỗi chính tả, thay đổi thứ tự kết quả theo địa phương) lên phía đầu để người dùng có thể tắt đi khi cần.

· Tự sử dụng thử nghiệm search engine trước khi công bố để biết những thế mạnh và hạn chế của nó. Lưu ý rằng nếu người dùng sử dụng search engine và gặp bất kì lỗi kỹ thuật hay nội dung nào, thì họ sẽ lập tức ra đi và không còn cơ hội để lấy lại lòng tin của họ.

2. Build Query

Khi sử dụng search engine, người dùng sử dụng biểu mẫu HTML hoặc AJAX để gửi lên câu truy vấn dưới dạng các từ khóa. Bước build query có nhiệm vụ chuyển câu truy vấn này thành đối tượng query.

Đối tượng query đôi khi rất đơn giản hoặc rất phức tạp. Nó có thể chứa các phép luận lý, truy vấn theo nhóm từ (đặt trong cặp dấu ngoặc kép), thuật ngữ wildcard. Nếu ứng dụng có giao diện cho phép người dùng điều khiển quá trình tìm kiếm, hoặc có những ràng buộc thú vị thì phải cài đặt những tính năng này thành đối tượng query tương đương. Ví dụ, nếu có ràng buộc giới hạn tập hợp document người dùng được xem, thì nó phải được cài đặt thành bộ lọc trên query.

Nhiều ứng dụng thay đổi search query để thực hiện chức năng boosting hoặc filtering ngay tại bước này thay vì trong quá trình indexing. Thông thường các website thương mại điện tử sẽ tăng thứ hạng của các sản phẩm mang lại lợi ích cao, và lọc bỏ những sản phẩm không còn hàng (để khách hàng không nhìn thấy là sản phẩm đã hết hàng và họ sẽ đi mua ở nơi khác). Tránh sự lạm dụng boosting và filtering vì người dùng sẽ nhận ra và mất tin tưởng vào search engine.

3. Run Query

Đây là bước tra cứu chỉ mục và tìm lại những document khớp với query, sắp xếp chúng theo thứ tự được yêu cầu. Bước này là phần xử lý rất phức tạp được cài đặt bên dưới search engine. Trên lý thuyết, có 3 mô hình tìm kiếm phổ biến sau:

· Mô hình thuần luận lý: document chỉ được xét là khớp hay không khớp với query được cung cấp, không xét đến vấn đề tính điểm. Mô hình này không gán điểm số tương thích cho từng document, do đó kết quả không được sắp xếp theo bất kỳ thứ tự nào. Mỗi câu truy vấn chỉ đơn giản trả về một tập hợp các document.

· Mô hình không gian vector: Cả query và document được mô hình hóa thành các vector ở không gian đa chiều, mỗi từ là một chiều. Độ tương thích, sự giống nhau giữa query và document được tính toán bằng khoảng cách giữa hai vector đó.

· Mô hình xác suất: Tính toán mức độ khớp nhau giữa một document với một query sử dụng giải pháp xác suất.

4. Render Results

Khi đã có danh sách các document khớp với query, được sắp xếp đúng theo như yêu cầu, nhiệm vụ của bước render results là hiển thị chúng một cách trực quan. Giao diện cho việc hiển thị nên đưa ra đường dẫn một cách rõ ràng cho công việc tìm kiếm và các hành động, ví dụ như click để đi đến trang kế tiếp, tinh chỉnh việc tìm kiếm theo cách nào đó, tìm kiếm các document tương tự với một kết quả, tránh cho người dùng rơi vào trạng thái không còn gì để tìm kiếm.

  1. No comments yet.

  1. No trackbacks yet.