Tìm Kiếm Embedding Dày Đặc – Cosine Similarity Và MIPS
cosine(q, d) = q · d|q| |d|
Tiến độ của tôi ở bài này
Điểm được lưu vào tài khoản sau khi chấm bài.
Đang tải điểm của bạn…
Kiến thức và chủ đề
Kiến thức tiên quyết: word2vec-skipgram-negative-sampling.
Nội dung đề bài
Mục tiêu kiến thức
Cosine Similarity đo góc giữa 2 vector: cosine(q, d) = q · d|q| |d|
Maximum Inner Product Search (MIPS): nếu embeddings đã chuẩn hóa L2, dot product = cosine similarity.
Yêu cầu
def cosine_similarity_matrix(queries: np.ndarray, docs: np.ndarray) -> np.ndarray:
# queries: [Q, d], docs: [D, d]
# Returns similarity matrix [Q, D]
pass
def top_k_retrieval(
query: np.ndarray,
doc_embeddings: np.ndarray,
k: int = 5,
metric: str = "cosine" # or "dot"
) -> tuple[np.ndarray, np.ndarray]:
# Returns (indices [k], scores [k]) sorted descending
passInput
- Hàm
cosine_similarity_matrix(queries,docs): Các tham số đầu vào chứa dữ liệu Tensor/mảng NumPy hoặc giá trị siêu tham số tương ứng. - Hàm
top_k_retrieval(query,doc_embeddings,k,metric): Các tham số đầu vào chứa dữ liệu Tensor/mảng NumPy hoặc giá trị siêu tham số tương ứng.
Output
- Hàm
cosine_similarity_matrix: Trả về kết quả kiểunp.ndarraytheo đúng đặc tả kỹ thuật và kích thước quy định. - Hàm
top_k_retrieval: Trả về kết quả kiểuAnytheo đúng đặc tả kỹ thuật và kích thước quy định.
Ràng buộc
- Thời gian chạy tối đa: 3000ms.
- Giới hạn bộ nhớ: 512MB.
- Dữ liệu đầu vào hợp lệ theo đúng kiểu dữ liệu và miền giá trị được mô tả.
Ví dụ 1
Input
v = np.array([[1.0, 0.0, 0.0]])
sim = cosine_similarity_matrix(v, v)Output
[[1.]]Giải thích
Hàm/lớp được gọi với các tham số mẫu trên và trả về kết quả số học / kích thước tensor tương ứng theo đúng thiết kế.
Ví dụ 2
Input
q = np.array([[1.0, 0.0]])
d = np.array([[0.0, 1.0]])
sim = cosine_similarity_matrix(q, d)Output
[[0.]]Giải thích
Hàm/lớp được gọi với các tham số mẫu trên và trả về kết quả số học / kích thước tensor tương ứng theo đúng thiết kế.
Gợi ý và lời giải chỉ mở sau khi bạn bấm Nộp bài. Giáo viên và quản trị viên mở được ngay.
Góp ý & báo lỗi bài tập
Đề bài chưa rõ, test có vấn đề hay bạn có ý tưởng giúp bài tốt hơn? Gửi cho đội ngũ AI Empire nhé — mỗi góp ý đều được đọc.
