- 博客(4)
- 收藏
- 关注
原创 BM25源码解读(构建稀疏矩阵)
BM25搜索引擎实现流程解析:索引阶段先构建词汇表并转换token为ID,通过计算文档频率、逆文档频率和BM25得分构建稀疏矩阵;检索阶段利用预计算矩阵快速匹配查询。该方法分离了耗时的索引构建和高效的检索过程,核心公式结合词频、文档长度和逆文档频率计算相关性。代码实现通过scipy稀疏矩阵优化存储和查询效率,支持多种输入格式处理。项目开源地址提供了完整实现细节。
2025-12-05 14:48:10
494
原创 基于Gestalt Pattern Matching的SequenceMatcher
SequenceMatcher是Python difflib库中的序列比对类,基于Gestalt Pattern Matching算法实现。其核心是通过动态规划方法递归查找最长公共子序列(LCS),并采用分治策略处理匹配块。主要特点包括:1) 高效初始化机制,支持多次比对时复用序列b的索引;2) 提供三种相似度计算方法(ratio系列),精度和速度成反比;3) 创新的垃圾字符处理机制,支持用户定义和自动识别高频垃圾字符;4) 强调连续匹配而非离散匹配。适用于文本比对、代码差异检测等场景,在保持算法精度的同时
2025-10-23 16:23:00
1594
原创 TF-IDF和BM25词匹配算法
文本匹配技术TF-IDF和BM25通过词频和文档频率衡量查询与文档的相关性。TF-IDF由词频(TF)和逆文档频率(IDF)组成,其中TF计算词在文档中的频率,IDF惩罚常见词以突出重要词。BM25是改进版本,引入参数k和b分别控制词频影响和文档长度归一化,使匹配更精准。两者都通过统计方法评估相关性,BM25因参数调节性能更优。
2025-10-15 15:06:10
1317
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅