Skip to content

v0.2.2 – Improved ranking algorithm

Latest

Choose a tag to compare

@francomano francomano released this 28 Aug 14:23
· 3 commits to main since this release

What's Changed

🔧 Fixed: Ranking algorithm completely rewritten

The file selector (selector.py) has been rewritten from scratch with a much smarter ranking algorithm:

  • Multilingual stopword filtering – English, Italian, and code-noise stopwords are filtered out so common words like "con", "the", "function" no longer dominate scoring
  • TF-IDF scoring – Term frequency is weighted by inverse document frequency computed across the entire repository
  • Path/filename boosting – Files whose path contains query terms get a 3x score boost
  • Phrase matching – Bigram and trigram phrases (e.g. "lambda function") are detected and heavily rewarded
  • Document length normalization – TF is normalized by document size to prevent large files from unfairly ranking higher
  • Coverage bonus – Files matching more distinct query terms get a quadratic bonus

📊 Before vs After

Query: lambda function con logica principale

  • Before: ❌ utility_test/test_file_conv.py
  • After: ✅ src/lambda_function.py

Query: chatbot main logic

  • Before: ❌ irrelevant file
  • After: ✅ src/bosa_chatbot/lambda_function.py

Query: lambda function converse API

  • Before: ❌ irrelevant file
  • After: ✅ src/deep_test_lambda/lambda_function.py

Full Changelog: v0.2.1...v0.2.2

Full Changelog: v0.2.1...v0.2.2