Computer >> Máy Tính >  >> Lập trình >> Redis

Rediscover Redis cho Tìm kiếm Sự giống nhau của Vector

Tại RedisDays NY 2022, chúng tôi đã công bố bản xem trước công khai về khả năng Tìm kiếm Tương tự Vector (VSS) mới của chúng tôi. VSS là một phần của RediSearch 2.4 và có sẵn trên các đăng ký miễn phí và cố định của Docker, Redis Stack và Redis Enterprise Cloud.

Trong bài viết này, tôi sẽ hướng dẫn bạn những kiến ​​thức cơ bản về sự tương tự của vectơ cũng như các ứng dụng của nó và chia sẻ tài nguyên để giúp bạn bắt đầu với Redis VSS!

Rediscover Redis cho Tìm kiếm Sự giống nhau của Vector Tương tự vectơ là gì?

Nói một cách dễ hiểu, nó là thước đo mức độ khác nhau (hoặc giống nhau) của hai hay nhiều vectơ. Hãy nghĩ về một vectơ như một danh sách các số.

Tại sao Tìm kiếm Tương tự Vectơ lại trở nên nổi bật?

Về cốt lõi, tìm kiếm vectơ cho phép các nhà phát triển truy xuất thông tin dựa trên âm thanh, ngôn ngữ tự nhiên, hình ảnh, video clip, bản ghi âm giọng nói và nhiều loại dữ liệu khác. Tìm kiếm trên dữ liệu phi cấu trúc làm cho VSS trở thành công nghệ nền tảng để xây dựng trải nghiệm tìm kiếm tương tự nâng cao.

Những vectơ này được tạo như thế nào cho dữ liệu của tôi?

Với những tiến bộ trong AI, các nhà khoa học dữ liệu có thể xây dựng các mô hình có thể biến đổi hầu hết mọi “thực thể” dữ liệu thành biểu diễn vector của nó. Một thực thể ở đây có thể là một giao dịch, một hồ sơ người dùng, một hình ảnh, một âm thanh, một đoạn văn bản dài (câu hoặc đoạn văn), một chuỗi thời gian hoặc một biểu đồ. Bất kỳ thứ nào trong số này đều có thể được chuyển thành “vectơ đặc trưng”, còn được gọi là “nhúng”.

Những cách nhúng này có nghĩa là gì?

Nhúng vectơ là biểu diễn số của dữ liệu. Chúng nắm bắt các tính năng cần thiết nhất của một thực thể theo cách mà máy tính và cơ sở dữ liệu có thể dễ dàng so sánh. Phần thú vị ở đây là nếu một mô hình tạo ra hai lần nhúng (vectơ) giống nhau cho hai thực thể, bạn có thể suy ra rằng hai thực thể ban đầu giống nhau về một số mặt cơ bản.

Tôi có cần phải là nhà khoa học dữ liệu để tạo các nhúng này không?

Không có gì! Có một số mô hình và thư viện AI có sẵn miễn phí cho phép các nhà phát triển tạo nhúng từ dữ liệu văn bản, hình ảnh hoặc chuỗi thời gian. Ví dụ:bạn có thể sử dụng Máy biến áp câu HuggingFace để tạo nhúng cho câu, Img2Vec để tạo nhúng cho hình ảnh và Facebook Kats để tạo nhúng cho dữ liệu chuỗi thời gian. Những người thực hành AI / ML đã quen thuộc với khái niệm tạo các biểu diễn tính năng “dày đặc” (còn gọi là nhúng) cho các thực thể dữ liệu của họ. Giờ đây, họ có thể lưu trữ các vectơ đặc điểm này trong Redis và thực hiện các tìm kiếm tương tự trên chúng.

Rediscover Redis cho Tìm kiếm Sự giống nhau của Vector Những loại ứng dụng nào có thể được xây dựng với tính năng tìm kiếm độ tương tự vectơ ?

Có một số ứng dụng hàng ngày mà bạn tương tác dựa trên tính năng tìm kiếm độ tương đồng của vectơ.

Từ tìm kiếm trực quan trên trang web thương mại điện tử đến các hệ thống chatbots / Q&A tự động và nhiều loại hệ thống đề xuất. Nói chung, bạn sẽ thấy VSS hữu ích trên bất kỳ ứng dụng nào mà việc phát hiện sự tương đồng trong thời gian thực là điều cần thiết để mở khóa giá trị. Một số trường hợp sử dụng phổ biến được liệt kê dưới đây:

- Đề xuất thương mại điện tử:Sử dụng sự tương đồng về hình ảnh và / hoặc sự tương đồng về ngữ nghĩa để cung cấp trải nghiệm tìm kiếm nâng cao và đề xuất sản phẩm

- Sự tương đồng về ngữ nghĩa:Xây dựng trải nghiệm tìm kiếm tinh vi, chatbot hoặc thậm chí là hệ thống hỏi và trả lời

- Sự giống nhau trong dữ liệu chuỗi thời gian:Khám phá những điểm tương đồng về các mô hình lây lan dịch bệnh hoặc các cơ hội giao dịch dựa trên những điểm tương đồng trong các mô hình lịch sử

- Sự giống nhau trong dữ liệu đồ thị:Tiết lộ các mẫu kết nối tương tự trên các nhóm tác nhân hoặc mạng khác nhau (có thể không liên quan).

- Tính tương tự của các giao dịch:Phát hiện gian lận hoặc mối đe dọa tiềm ẩn dựa trên sự tương tự với các nỗ lực gian lận / đe dọa đã phát hiện trước đó

- Sự giống nhau của hồ sơ người dùng hoặc sản phẩm:Tạo các đề xuất được cá nhân hóa; tinh chỉnh phân khúc khách hàng của bạn dựa trên các mẫu được tiết lộ bằng dữ liệu nhúng

Rediscover Redis cho Tìm kiếm Sự giống nhau của Vector Làm cách nào để Redis triển khai Tìm kiếm sự giống nhau về vector?

RediSearch là một mô-đun Redis cung cấp khả năng truy vấn, lập chỉ mục thứ cấp và tìm kiếm toàn văn cho dữ liệu Redis được lưu trữ dưới dạng băm Redis hoặc định dạng JSON. Với Redis 2.4, Redis đã giới thiệu hỗ trợ tìm kiếm độ tương đồng của vector.

Với RediSearch 2.4, các nhà phát triển Redis có thể:
- Lập chỉ mục và truy vấn dữ liệu vectơ được lưu trữ dưới dạng BLOB trong hàm băm Redis

- Sử dụng hai phương pháp lập chỉ mục phổ biến:FLAT và HNSW

- Sử dụng ba thước đo khoảng cách vectơ phổ biến:cosin, tích trong và khoảng cách euclide

- Thực hiện các truy vấn kết hợp kết hợp sự giống nhau về vectơ với khả năng lọc RediSearch truyền thống trên dữ liệu GEO, NUMERIC, TAG hoặc TEXT. Ví dụ phổ biến về truy vấn kết hợp trong cài đặt thương mại điện tử là “tìm các mặt hàng tương tự về mặt hình ảnh với một hình ảnh truy vấn nhất định, giới hạn ở các mặt hàng có sẵn ở vị trí GEO và trong một phạm vi giá”.

Có bản trình diễn nào không?

Nếu bạn thành thạo với Python, hãy thử những điều sau:
- Sự giống nhau về hình ảnh và ngữ nghĩa trên Tập dữ liệu Amazon công khai

- Phân tích tình cảm và sự tương đồng về ngữ nghĩa trong các bài báo Tin tức Tài chính

Đối với Java, bạn có thể thử bản trình diễn cơ bản này cho thấy cách tạo chỉ mục, tải dữ liệu và truy vấn.

Tôi có thể tìm hiểu thêm ở đâu?

Hãy thử xem replay của hai phiên RedisDays 2022 này:
- Bài phát biểu chính :Đưa AI theo thời gian thực vào các ứng dụng “Dịch vụ tài chính” của bạn

- Cảnh hậu trường: Sử dụng AI để tiết lộ các tín hiệu giao dịch bị chôn vùi trong các bộ phim của công ty

Các phiên hiện có sẵn để xem theo yêu cầu. Bạn luôn có thể xem tài liệu RediSearch về “Làm việc với Vectors”.

Rediscover Redis cho Tìm kiếm Sự giống nhau của Vector Làm cách nào để bắt đầu?

Có ba cách dễ dàng để tạo cơ sở dữ liệu Redis với RediSearch 2.4.

Từ Terminal của bạn, bạn có thể lấy nó bằng một trong hai cách sau:
1) Docker - “docker run -p 6379:6379 redislabs / redisearch:2.4.5”

2) Redis Stack - “cài đặt redis-stack” (từ Mac OS). Đối với các hệ điều hành khác, hãy thử “Bắt đầu với Redis Stack”

3) Cuối cùng, bạn cũng có thể tạo đăng ký miễn phí với Redis Enterprise Cloud

Nếu bạn đi xuống lộ trình đăng ký Redis Enterprise Cloud, hãy đảm bảo sử dụng “ Redis Stack ”Vì nó bao gồm RediSearch 2.4.