使用Transformers和Faiss构建语义搜索引擎( 三 )

我们输入的文字讨论了错误信息 , 事实检查 , WhatsApp和巴西和印度的选举 。我们希望基于矢量的搜索引擎返回有关这些主题的结果 。通过检查论文标题 , 大多数结果看起来与我们的查询非常相关 。我们的搜索引擎可以正常工作!
使用Transformers和Faiss构建语义搜索引擎文章插图
结论在本教程中 , 我们使用Sentence Transformers和Faiss构建了一个基于矢量的搜索引擎 。我们的索引效果很好 , 并且相当简单 。我们可以使用像SciBERT这样的领域特定的转换器来提高嵌入的质量 , 该转换器已在语义库的语料库上的论文中进行了预训练 。我们还可以在返回结果之前删除重复项并尝试其他索引 。
对于使用Elasticsearch的人员 , Open Distro引入了近似的k-NN相似性搜索功能 , 该功能也是AWS Elasticsearch服务的一部分 。
最后 , 您可以在GitHub上找到代码(github/kstathou/vectorengine) , 并通过Google Colab进行尝试(colab/github/kstathou/vectorengine/blob/master/notebooks/001vectorsearch.ipynb) 。
作者:Kostas Stathoulopoulos
【使用Transformers和Faiss构建语义搜索引擎】deephub翻译组