BERT embeddings search (Natural language question answering)
- Dominant language
- HTML
- Stars
- 93
- Forks
- 14
- PR merge metrics
- No merged PRs in 30d
Description
I don't know if it's an appropriate place to submit such proposals, but I'd like to introduce the idea somewhere.
BERT is an encoder-decoder language model that can extract the meaning of words, sentences, passages, and documents into a 768 dimensional vectors. This allows the creation of new models to map things like images to it, translators that can map between languages, complex NLP classifiers, do topic clustering, and most importantly here, search.
By preferably fine-tuning the model for search-like scenarios, embedding the search query, and finding vectors close to it in the index, we can get reliable search results that match concepts, not just text strings.
After playing around with [codequestion](https://github.com/neuml/codequestion), an offline StackExchange search tool, I found it to be quite accurate, small, and speedy. Its document db weights 1.5 GB, which ether means they've done some filtering or used a more efficient format. Its vector embeddings index only weights 260MB, which is quite little. While embeddings may take some compute to generate, they're very efficient to search afterwards.
Plus, I guess topic clustering and classification may help with filtering out non-essential data in large archives, like spam or niche categories.
Contributor guide
Assessment
This issue has not been assessed yet.