NLP相关算法¶
BM25¶
BM25,全称为 Best Matching 25,是 Okapi BM25 的简写。
在搜索和信息检索领域,BM25 是一种用于排序文档相关性的重要算法。具体来说,BM25 是一种基于概率模型的打分函数,它可以评估每个文档与查询之间的匹配程度。
BM25 是 TF-IDF(Term Frequency-Inverse Document Frequency)的改进版本,解决了 TF-IDF 在长文档与短文档评分上的一些不足之处。
[历史]它基于 Stephen E. Robertson、Karen Spärck Jones 等人在 1970 年代和 1980 年代开发的概率检索框架。
经典的 BM25 分为三个部分:单词和目标文档的相关性、单词和查询关键词的相关性、单词的权重部分
这三个部分的乘积组成某一个单词的分数。然后,整个文档相对于某个查询关键字的分数,就是所有查询关键字里所有单词分数的总和。
BM25 算法变种¶
BM25F,也就是在 BM25 的基础上再多个“域”(Field)文档上的计算。
把BM25和其他文档信息(非文字)结合起来。这个想法是在“学习排序”(Learning To Rank)这一思路出现以前的一种普遍的做法,往往就是用线性加权的形式直接把各种信息相结合。
TextRank 算法¶
TextRank 是一种基于图的排序算法,类似于 PageRank 算法,它可以根据句子之间的相似度和重要性来对句子进行排序,从而抽取最重要的句子作为摘要。
TF-IDF 算法¶
TF-IDF 是一种常用的文本特征提取方法,它可以根据单词在文档中的频率和在整个语料库中的频率来计算单词的重要性。可以将每个句子表示为单词的 TF-IDF 加权向量,并根据向量之间的相似度来抽取最重要的句子。
BERT 算法¶
BERT 是一个预训练的语言模型,可以用于文本摘要生成任务。可以使用预训练的 BERT 模型来计算每个句子的表示,并根据句子之间的相似度和重要性来抽取最重要的句子作为摘要。