BM25
1.0.0
BM25 排名函数的 Python 实现。
该程序有4个主要模块:解析器、查询处理器、排名函数和数据结构。解析器模块解析查询文件和语料库文件以分别产生列表和字典。查询处理器获取查询列表中的每个查询,并根据术语对文档进行评分。排名函数是BM25排名函数的实现;它在计算中使用自然对数。最后,数据结构模块包含倒排索引和文档长度表。倒排索引使用字典,将每个单词映射到字典;该辅助词典将每个文档 ID 映射到外部词典中的词频。文档长度表包含每个文档的长度,并且还具有计算集合的平均文档长度的功能。
要运行,只需在 src 文件夹中运行$ python main.py
即可。