Skip to content
Back to skills

Similarity And Search

ASecurity

"Guides Gensim similarity indexes, soft cosine, WMD, term

  • 247 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 8, 2026
ai-agentsapi

Works with

  • cli
  • api

Security analysis

A100/100

Pro scans all 6 files and shows the line behind each finding

Scanned September 8, 2026

npx -y skills add VectorSpaceLab/AREX-Skill --skill similarity-and-search --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Similarity And Search?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Similarity And Search
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/vectorspacelab-similarity-and-search/badge)](https://www.skillsdirectory.com/skills/vectorspacelab-similarity-and-search)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: similarity-and-search
description: "Guides Gensim similarity indexes, soft cosine, WMD, term
  similarity, and approximate-neighbor retrieval."
disable-model-invocation: true
metadata:
  disco-role: operating
license: LGPL 2.1
---

# Similarity and Search

Use this sub-skill when the task needs to index transformed vectors or compare
corpus/query vectors with cosine, soft cosine, WMD, or term-similarity methods.

## Read when

- A user asks to build or query `MatrixSimilarity`, `SparseMatrixSimilarity`, or
  `Similarity`.
- The task needs approximate neighbors from `AnnoyIndexer` or `NmslibIndexer`.
- A workflow mentions `SoftCosineSimilarity`, `SparseTermSimilarityMatrix`,
  `WordEmbeddingSimilarityIndex`, or `LevenshteinSimilarityIndex`.
- A model was trained successfully but retrieval or ranking is the remaining
  problem.

## Quick workflow

1. Transform the corpus into the chosen vector space first.
2. Pick an index type that matches corpus size and memory limits.
3. Set `num_features` to the exact transformed vector dimension.
4. Save the index if it must be reused later.
5. Use `Similarity` for large corpora/shards; use `MatrixSimilarity` only when
   the full matrix comfortably fits in memory.

Read [`references/workflows.md`](references/workflows.md) for index-selection
recipes, [`references/api-reference.md`](references/api-reference.md) for verified
signatures, and [`references/optional-indexes-and-metrics.md`](references/optional-indexes-and-metrics.md)
for Annoy/NMSLIB/WMD/soft-cosine caveats.

## API anchors

- `MatrixSimilarity(corpus, num_best=None, dtype=numpy.float32, num_features=None, chunksize=256, corpus_len=None)`.
- `SparseMatrixSimilarity(corpus, num_features=None, num_terms=None, num_docs=None, num_nnz=None, num_best=None, chunksize=500, dtype=numpy.float32, maintain_sparsity=False, normalize_queries=True, normalize_documents=True)`.
- `Similarity(output_prefix, corpus, num_features, num_best=None, chunksize=256, shardsize=32768, norm='l2')`.
- `SoftCosineSimilarity(corpus, similarity_matrix, num_best=None, chunksize=256, normalized=None, normalize_queries=True, normalize_documents=True)`.
- `SparseTermSimilarityMatrix(source, dictionary=None, tfidf=None, symmetric=True, dominant=False, nonzero_limit=100, dtype=numpy.float32)`.
- `WordEmbeddingSimilarityIndex(keyedvectors, threshold=0.0, exponent=2.0, kwargs=None)`.
- `LevenshteinSimilarityIndex(dictionary, alpha=1.8, beta=5.0, max_distance=2)`.

## Bundled helper

Run [`scripts/similarity_query_smoke.py`](scripts/similarity_query_smoke.py) to
check that the environment can transform a tiny corpus and perform similarity
queries with both in-memory and sharded indexes.

## Boundaries and routing

- For corpus construction and BoW vectorization, route to
  [`../corpora-and-vector-spaces/SKILL.md`](../corpora-and-vector-spaces/SKILL.md).
- For topic models and transformations, route to
  [`../topic-modeling-and-transformations/SKILL.md`](../topic-modeling-and-transformations/SKILL.md).
- For embeddings and `KeyedVectors`, route to
  [`../embeddings-and-phrases/SKILL.md`](../embeddings-and-phrases/SKILL.md).
- For downloader and conversion CLIs, route to
  [`../data-and-cli-utilities/SKILL.md`](../data-and-cli-utilities/SKILL.md).

## Common decisions

- Use `MatrixSimilarity` for small corpora where simplicity matters.
- Use `SparseMatrixSimilarity` when the vectors are sparse and you want an in-memory sparse representation.
- Use `Similarity` when the index must be sharded or the corpus may exceed memory.
- Use `SoftCosineSimilarity` when semantically related terms should contribute to similarity.
- Use `WordEmbeddingSimilarityIndex` when you already have learned embeddings and want term similarity.
- Use `LevenshteinSimilarityIndex` for string-edit similarity over a fixed dictionary.
- Treat Annoy/NMSLIB as optional accelerators, not required base dependencies.

## Troubleshooting

Read [`references/troubleshooting.md`](references/troubleshooting.md) for vector
space mismatch, missing `num_features`, dense index memory pressure, output
prefix/shard files, empty queries, optional dependency failures, and WMD cost.

Files in this skill

  • SKILL.md4.1 KB
  • references/api-reference.md2.4 KB
  • references/optional-indexes-and-metrics.md1.5 KB
  • references/troubleshooting.md2 KB
  • references/workflows.md1.6 KB
  • scripts/similarity_query_smoke.py1.9 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.