Fast BM25
1.0.0
Python 中 BM25 的快速实现。
BM25 是一个简单且快速的搜索引擎排名功能,用于对单词(令牌)进行操作。
它不能很好地处理拼写错误,因此仅在拼写错误不成问题的情况下使用它。
基本 BM25 实现来自 dorianbrown/rank_bm25。
通过向 BM25 传递语料库(也称为标记化文档(字符串列表)上的迭代器)来初始化 BM25。
from fast_bm25 import BM25
# Load your corpus
corpus = ...
bm25 = new BM25 ( corpus )
results = bm25 . get_top_n ([ "largest" , "city" , "in" , "Japan" ], corpus );
它不是一个python包,如果你想使用它,请复制该文件
在文本语料库中,最常见的单词(the、a、an...)通常信息量最少。
通过将它们从查询中剔除并仅搜索至少包含查询单词的文档,BM25 获得了很大的速度,同时损失了很少的精度。
这种权衡由参数alpha
控制:更高的 alpha => 更快的速度和更多的单词截断。
在