Tìm kiếm vector so với tìm kiếm theo từ khóa
Scrapeless Google Search API cung cấp kết quả tìm kiếm công khai có cấu trúc có thể được kiểm tra và chuẩn hóa trước khi đưa vào một bộ sưu tập truy xuất.
Tóm tắt
- Tìm kiếm theo từ khóa hữu ích khi cách diễn đạt và định danh là quan trọng. Cố ý giữ nguyên chính xác mã sản phẩm và các token kỹ thuật.
- Tìm kiếm vector truy xuất theo độ tương đồng của biểu diễn đã được học. Tương đồng ngữ nghĩa không thiết lập được tính tương đương về mặt thực tế.
- Truy xuất lai có thể kết hợp các ứng viên từ vựng và ngữ nghĩa. Xếp hạng và các bộ lọc phân quyền vẫn cần được đánh giá tường minh.
- Chất lượng truy xuất phụ thuộc vào họ truy vấn. Kiểm tra riêng các diễn đạt lại, định danh chính xác, loại trừ và câu hỏi nhạy cảm với phiên bản.
So sánh các tín hiệu khớp, không phải nhãn tiếp thị
Tìm kiếm vector và tìm kiếm theo từ khóa sử dụng các tín hiệu khác nhau để xếp hạng các bản ghi ứng viên. Tìm kiếm theo từ khóa làm việc với các đặc trưng từ vựng như thuật ngữ và phân bố của chúng. Tìm kiếm vector làm việc với các biểu diễn số mà độ tương đồng của chúng được dùng để nắm bắt các mối quan hệ do mô hình embedding học được.
Nghiên cứu dense passage retrieval chứng minh một cách tiếp cận truy xuất đoạn dựa trên biểu diễn đã học. Cơ chế của nó khác với khớp chuỗi ký tự chính xác, nhưng sự khác biệt đó không có nghĩa là mọi đoạn văn tương tự về ngữ nghĩa đều trả lời câu hỏi của người dùng. Một chủ đề liên quan vẫn có thể là nguồn không đúng.
Đối với một kho tri thức kỹ thuật, câu hỏi thực tế là bạn cần truy xuất chịu đựng loại sai lệch nào. Một người dùng có thể mô tả lỗi timeout mà không biết tên lỗi, hoặc có thể dán một định danh lỗi chính xác. Đó là các nhiệm vụ truy xuất khác nhau. Hãy thiết kế đường đi tìm kiếm xoay quanh các họ truy vấn thay vì giả định một phương pháp thay thế được phương pháp kia.
Tóm lược truy xuất bằng vector và từ khóa
Một phép so sánh nên tách các xu hướng hữu ích khỏi các đảm bảo. Cấu hình, cấu trúc corpus và ngôn ngữ truy vấn có thể thay đổi kết quả với cả hai phương pháp.
| Nhu cầu truy xuất | Lưu ý về tìm kiếm theo từ khóa | Lưu ý về tìm kiếm vector |
|---|---|---|
| Định danh lỗi hoặc sản phẩm chính xác | Giữ nguyên cấu trúc token và các quy tắc khớp | Kiểm tra liệu biểu diễn có giữ được sự khác biệt hay không |
| Câu hỏi được diễn đạt lại | Thêm từ đồng nghĩa hoặc mở rộng truy vấn khi phù hợp | Đánh giá mức độ liên quan của ứng viên ngữ nghĩa |
| Câu hỏi nhạy cảm với phiên bản | Dùng siêu dữ liệu tường minh và các bộ lọc phiên bản | Dùng cùng siêu dữ liệu tường minh và các bộ lọc phiên bản |
| Thuật ngữ hoặc thuộc tính bị loại trừ | Áp dụng các ràng buộc truy vấn có cấu trúc | Áp dụng các ràng buộc có cấu trúc bên ngoài độ tương đồng |
| Bằng chứng cho câu trả lời | Kiểm tra đoạn văn được chọn | Kiểm tra đoạn văn được chọn |
Cả hai phương pháp đều trả về các ứng viên. Không phương pháp nào tự nó xác minh rằng một đoạn văn hỗ trợ cho câu trả lời. Hãy thêm bước kiểm chứng bằng chứng sau khi xếp hạng, đặc biệt khi mô hình phía sau có thể biến một đoạn văn chỉ hơi liên quan thành một câu trả lời rất tự tin.
Vì sao định danh chính xác cần được xử lý riêng
Định danh thường chứa các khác biệt mà một mô hình ngữ nghĩa không nên làm mờ. Một mã sản phẩm, tham số API, hoặc chuỗi lỗi có thể khác với chuỗi khác chỉ bằng một thay đổi văn bản nhỏ trong khi lại chỉ tới một thực thể khác.
Hãy kiểm tra các quy tắc phân tích từ vựng của bạn. Dấu câu, chuẩn hóa chữ hoa/thường và tách token có thể ảnh hưởng tới việc một định danh có còn tìm kiếm được hay không. Xác định một trường dành cho tra cứu chính xác khi ứng dụng cần. Một trường văn bản đầy đủ được phân tích và một trường định danh chính xác phục vụ các mục đích khác nhau.
Đối với truy xuất vector, hãy kiểm tra trực tiếp các truy vấn định danh. Đừng giả định một mô hình được huấn luyện để nối kết các diễn đạt lại sẽ tách bạch đáng tin cậy mọi token kỹ thuật gần như giống hệt nhau. Một kết quả có độ tương đồng cao có thể thuộc về một khái niệm lân cận với nguyên nhân lỗi khác. Hãy giữ khả năng tra cứu chính xác khi người dùng cung cấp một định danh chính xác.
Một trợ lý hỗ trợ có thể trước tiên phân giải định danh tới một bản ghi cụ thể, rồi truy xuất các đoạn giải thích từ bản ghi đó. Thiết kế này thu hẹp phạm vi trước khi xếp hạng ngữ nghĩa. Nó cũng giúp việc kiểm tra danh tính nguồn của câu trả lời dễ dàng hơn.
Vì sao diễn đạt lại được hưởng lợi từ các ứng viên ngữ nghĩa
Truy xuất ngữ nghĩa hữu ích khi người dùng và tài liệu diễn đạt cùng một nhu cầu bằng những từ khác nhau. Một câu hỏi về một trang trông như trống có thể cần một đoạn văn về render phía client ngay cả khi cách diễn đạt khác nhau.
Đơn vị hữu ích là đoạn chứa lời giải thích, không nhất thiết là toàn bộ tài liệu. Hãy chọn ranh giới đoạn (chunk) giữ được ngữ cảnh liên quan: một tiêu đề, triệu chứng và điều kiện mà lời giải thích áp dụng. Một đoạn quá nhỏ có thể làm mất phần điều kiện; một đoạn quá lớn có thể làm loãng phần bạn cần.
Chất lượng embedding gắn liền với mô hình được chọn và đầu vào của nó. Hãy lưu lại mô hình nào đã tạo ra các vector được lưu trữ và dùng một biểu diễn truy vấn tương thích. Thay đổi mô hình embedding nên được xem như một thay đổi truy xuất cần đánh giá, hơn là một sự thay thế hạ tầng trong suốt.
Tương đồng ngữ nghĩa cũng có thể truy hồi một đoạn gây nhiễu hấp dẫn. Một đoạn mô tả việc khởi động trình duyệt cục bộ có thể giống với một câu hỏi về kết nối trình duyệt từ xa, nhưng ranh giới vận hành lại khác nhau. Hãy kiểm tra chủ đề và phạm vi của đoạn văn trước khi chấp nhận nó như bằng chứng trả lời.
Truy hồi lai đòi hỏi một thiết kế xếp hạng
Tìm kiếm lai kết hợp các ứng viên từ khóa và vector, nhưng việc gộp danh sách không tự động cải thiện độ liên quan. Hãy quyết định cách tạo tập ứng viên, cách trộn, khử trùng lặp và xếp hạng chúng.
Điểm từ khóa và điểm vector có thể đến từ các thang đo và phân phối khác nhau. Tránh cộng trực tiếp chúng lại với nhau nếu không có phương pháp hiệu chuẩn hoặc xếp hạng được xác định rõ. Có thể cân nhắc gộp dựa trên thứ hạng hoặc một giai đoạn xếp hạng lại, nhưng mỗi cách đều tạo ra hành vi cần được kiểm thử trên chính các câu hỏi của bạn.
Hãy sử dụng bộ lọc có cấu trúc một cách nhất quán trên các đường truy hồi. Nếu đường từ khóa ép buộc phiên bản sản phẩm trong khi đường vector thì không, kết quả trộn có thể đưa trở lại các đoạn văn đã bị loại trừ. Mối lo tương tự áp dụng cho ranh giới tenant và quyền truy cập tài liệu. Lọc sau khi gộp rộng không phải lúc nào cũng tương đương với việc giới hạn ngay từ giai đoạn tạo ứng viên.
The bộ chuẩn đánh giá truy hồi thông tin không đồng nhất hỗ trợ đánh giá trên các nhiệm vụ khác nhau. Đối với một thiết kế lai cục bộ, hãy ghi lại lớp truy vấn nào được cải thiện và lớp nào giảm sút. Một giá trị trung bình tốt hơn có thể che giấu sự thoái lui trên đúng các mã lỗi mà nhóm hỗ trợ của bạn dùng nhiều nhất.
Giữ tách biệt tìm kiếm công khai khỏi chỉ mục của bạn
Tìm kiếm web công khai và chỉ mục truy hồi riêng tư có các trách nhiệm khác nhau. Một dịch vụ tìm kiếm khám phá nguồn; chỉ mục của bạn lưu trữ và truy hồi biểu diễn mà bạn đã chọn giữ lại.
Scrapeless Google Search API có thể cung cấp các ứng viên tìm kiếm công khai có cấu trúc. Sau khi chọn được nguồn phù hợp, hãy chuẩn hóa nội dung được phép cùng với URL và ngữ cảnh bộ sưu tập trước khi lập chỉ mục. Mô hình tham số và kết quả của Google Search API thuộc về giai đoạn thu thập, trong khi xếp hạng vector và từ khóa thuộc về phần triển khai truy hồi của bạn.
Đừng lập chỉ mục một đoạn trích như thể nó là một tài liệu đầy đủ của nhà xuất bản. Nếu bộ sưu tập của bạn cố ý lưu trữ các đoạn trích, hãy đánh dấu rõ biểu diễn đó và giới hạn các tuyên bố mà nó có thể hỗ trợ. Một bản ghi nguồn phải giải thích những gì đã được quan sát và những gì đã bị lược bỏ.
The đường dẫn bằng chứng web trực tiếp cho RAG cung cấp bối cảnh cho việc kết hợp thu thập và truy hồi. Hãy xem lại Scrapeless pricing để nắm chi phí khám phá, sau đó tính riêng chi phí lập chỉ mục, embedding, lưu trữ và sinh nội dung.
Áp dụng quy tắc truy cập trước khi bằng chứng đến mô hình
Một kết quả truy hồi phải thỏa mãn phạm vi truy cập của bên gọi trước khi nó đi vào ngữ cảnh của mô hình. Liên quan ngữ nghĩa không tự cấp quyền đọc một đoạn văn.
Hãy dùng siêu dữ liệu tài liệu rõ ràng cho phân quyền và quyền sở hữu. Xác minh cách hệ thống lưu trữ đã chọn áp dụng bộ lọc, đặc biệt khi có truy hồi vector xấp xỉ. Kiểm tra cả bản ghi được chấp nhận và bản ghi bị loại khi đánh giá. Một danh sách kết quả không có rò rỉ thấy được trên một câu hỏi không phải là bằng chứng rằng toàn bộ thiết kế bộ lọc là đúng.
Xử lý xóa và chỉnh sửa cũng ảnh hưởng đến độ liên quan. Nếu một đoạn cũ vẫn còn có thể tìm kiếm sau khi nguồn của nó đã bị thay thế, bộ truy hồi có thể trả về các hướng dẫn lịch sử không còn được hỗ trợ. Hãy theo dõi những khối nào thuộc về mỗi phiên bản nguồn và định nghĩa cách cập nhật loại bỏ hoặc thay thế các biểu diễn trước đó.
Đối với việc thu thập nguồn công khai, hãy tôn trọng Robots Exclusion Protocol khi áp dụng được và giữ phần phân quyền tách biệt. Khả năng tìm kiếm và khả năng hiển thị công khai là đầu vào cho quyết định đưa vào bộ sưu tập, chứ không phải giấy phép chung cho mọi cách sử dụng về sau.
Xây dựng bộ đánh giá để lộ rõ các đánh đổi
Một bộ đánh giá hữu ích bao gồm các trường hợp mà truy hồi từ khóa và truy hồi ngữ nghĩa nên hành xử khác nhau. Hãy bắt đầu với câu hỏi người dùng thực và các đoạn hỗ trợ kỳ vọng, sau đó thêm vào các trường hợp rìa có chủ đích.
Đối với tra cứu chính xác, hãy kiểm thử các định danh có tiền tố giống nhau nhưng hậu tố khác nhau. Đối với diễn đạt lại, hãy dùng cách viết không xuất hiện trong nguồn nhưng vẫn giữ nguyên nhu cầu. Với câu hỏi nhạy về phiên bản, hãy đưa vào một tài liệu hiện tại phù hợp bên cạnh một tài liệu lỗi thời có vẻ hợp lý. Với câu hỏi không được hỗ trợ, yêu cầu hệ thống phơi bày sự thiếu bằng chứng.
Hãy đo lường danh sách ứng viên tách biệt với câu trả lời sinh ra. Ghi lại liệu một đoạn liên quan có xuất hiện không, nó có xếp hạng đủ cao để được đưa vào không, và liệu câu trả lời cuối cùng có trích dẫn chính xác đoạn đó không. Nếu truy hồi đúng nhưng câu trả lời diễn giải quá mức so với đoạn văn, hãy điều chỉnh ranh giới sinh nội dung thay vì chỉ mục.
Hãy lưu lại ảnh chụp kho tài liệu và cấu hình truy hồi cùng với kết quả đánh giá. Nếu không, một thay đổi điểm số về sau có thể đến từ việc cập nhật nguồn chứ không phải cải tiến xếp hạng. Tránh tuyên bố một phương án thắng tuyệt đối chỉ dựa trên minh họa bằng một truy vấn đơn lẻ được chọn thuận tiện.
Kết luận: Giữ gìn tính chính xác và ý nghĩa
Hãy dùng truy hồi từ khóa khi các thuật ngữ và định danh chính xác quyết định kết quả. Đánh giá truy hồi vector cho các câu hỏi diễn đạt lại và tương đồng khái niệm. Thêm đường lai khi tập câu hỏi biện minh điều đó, đồng thời giữ nguyên bộ lọc siêu dữ liệu, phiên bản nguồn và kiểm tra bằng chứng trên cả hai dòng ứng viên.
Thu thập nguồn trước khi xây dựng chỉ mục của bạn
Hãy dùng các ứng viên tìm kiếm có cấu trúc để tìm tài liệu công khai liên quan, rồi lưu giữ bằng chứng mà bộ sưu tập truy hồi của bạn cần.
Đăng ký ngay hôm nay và nhận $5 tín dụng miễn phí — không cần thẻ tín dụng.
Nhận $5 tín dụng của bạn →Câu hỏi thường gặp
H: Tìm kiếm vector có tốt hơn tìm kiếm từ khóa không?
Tìm kiếm vector không phải lúc nào cũng tốt hơn tìm kiếm từ khóa. Nó có thể giúp với các mối quan hệ ngữ nghĩa, trong khi truy hồi từ khóa có thể giữ nguyên cách diễn đạt và định danh chính xác. Hãy đánh giá cả hai trên chính các nhóm truy vấn thực tế và bộ nguồn mà ứng dụng của bạn hỗ trợ.
Q: Tìm kiếm vector có thể đảm bảo khớp chính xác không?
Độ tương đồng vector không đảm bảo khớp chính xác định danh. Hãy dùng một trường tra cứu chính xác được thiết kế rõ ràng hoặc ràng buộc từ vựng khi một định danh phải được ánh xạ tới đúng một thực thể. Kiểm tra các ứng viên ngữ nghĩa để tìm những khái niệm lân cận có cùng cách diễn đạt nhưng khác nghĩa.
Q: Tìm kiếm lai (hybrid search) có luôn cải thiện độ liên quan không?
Tìm kiếm lai không phải lúc nào cũng cải thiện độ liên quan. Khâu tạo ứng viên, bộ lọc và quy tắc trộn có thể đưa vào các đoạn không liên quan hoặc bị loại trừ. Hãy đánh giá riêng từng nhóm truy vấn và giữ một quy trình đơn giản hơn nếu việc kết hợp làm tăng chi phí mà không cải thiện bằng chứng được chấp nhận.
Q: Bộ lọc metadata có quan trọng đối với tìm kiếm ngữ nghĩa không?
Bộ lọc metadata quan trọng vì độ tương đồng bản thân nó không mã hoá các quy tắc truy cập, phiên bản hoặc sản phẩm của bạn. Hãy áp dụng các ràng buộc đó một cách có chủ đích và kiểm tra hành vi lọc của hệ thống lưu trữ. Giữ các đoạn không được phép truy cập nằm ngoài ngữ cảnh mô hình ngay cả khi chúng có vẻ phù hợp về mặt ngữ nghĩa.
Q: Có nên thay đổi mô hình embedding mà không xây dựng lại chỉ mục không?
Việc thay đổi mô hình embedding đòi hỏi một kế hoạch về khả năng tương thích và đánh giá. Vector đã lưu trữ và vector truy vấn cần có dạng biểu diễn tương thích. Hãy coi việc nhúng lại, cập nhật chỉ mục và kiểm tra độ liên quan là những công việc rõ ràng phải thực hiện, thay vì cho rằng một chỉ mục hiện có vẫn còn ý nghĩa.