文章目录
- 📚语言生成模型
- 📚平滑
- 🐇线性插值平滑方法(Lelinek-Mercer)
- 🐇dirichlet 平滑
- 🐇Vector space(向量空间) vs BM25 vs LM
📚语言生成模型
-
传统的语言生成模型可以用于识别或生成字符串。如果每个自动机的节点都有一个生成不同此项概率分布,便可以得到一个语言模型。
-
一个最简单的语言模型等价于一个概率有穷自动机,仅有一个节点组成,只有一个生成不同词项的概率分布,以及停止的概率。从而我们就可以计算一个词序列出现的概率。
-
在ir中,对文档集中的每篇文档d构建其对应的语言模型Md,检索的目标是将文档按照其与查询相关的概率P(d|p)排序。
- P(q)是证据,对所有文档都一样,可以忽略,P(d)是先验,往往视为均匀分布,也可以忽略。所以仅需考虑似然,P(q|d)是在文档d对应的语言模型下生成q的概率,因此ir中的语言建模方法实际是在对查询的生成过程进行建模
- 等价于:
- P(q)是证据,对所有文档都一样,可以忽略,P(d)是先验,往往视为均匀分布,也可以忽略。所以仅需考虑似然,P(q|d)是在文档d对应的语言模型下生成q的概率,因此ir中的语言建模方法实际是在对查询的生成过程进行建模
- 考虑MLE:
-
MLE
(Maximum Likelihood Estimation,最大似然估计)是一种常用的参数估计方法,用于从观测数据中推断出最有可能产生这些观测数据的模型参数。- 在MLE中,我们假设观测数据是从一个已知参数化模型生成的,但是我们并不知道真实的参数取值。我们的目标是找到使得观测数据出现的概率最大化的参数取值。
-
步骤:
- 定义参数化模型:首先,我们需要定义一个参数化模型,该模型描述了观测数据的生成过程。模型可以是概率分布,回归模型或其他类型的模型,具体取决于问题的性质。
- 构建似然函数:根据模型的参数化形式,我们可以计算观测数据出现的概率或密度函数,称为似然函数。似然函数是参数的函数,表示给定参数下观测数据出现的可能性。
- 最大化似然函数:我们通过最大化似然函数来求解参数的最优值。最大化似然函数等价于寻找使得观测数据出现概率最大的参数取值。通常使用优化算法(如梯度下降、牛顿法或拟牛顿法)来求解最大似然估计。
- 参数估计:最大化似然函数后,得到的参数值即为最大似然估计值。这些估计值通常用来描述模型的参数,以便进行预测、推断或其他进一步的分析。
-
优点:
- 易于理解和实现
- 在大样本情况下具有良好的统计性质,例如一致性和渐近正态性
-
但是当一个query词项未出现时,整体结果均为0,所以要进行平衡smoothing以避免0值的出现,同时平滑也实现了词项权重计算的主要部分。
📚平滑
(平滑一般用加上某个项然后重新归一化)
🐇线性插值平滑方法(Lelinek-Mercer)
-
方法分析:在一般的参照概率分布中,文档中未出现的查询项的概率在某种程度上接近但是不可能超过在整个文档集中偶然出现的概率,即如果tf=0,那么P(t|M)<=cft/T=P(T|Mc),其中cft是t在整个文档集的出现次数,T是所有文档集中词条的个数。用上界来近似。
-
函数公式:
-
将二者进行线性插值,将基于文档的多项式分布和基于全部文档集估计出的多项式分布结合⭐️。
-
参数分析:
- λ \lambda λ较高时适用于类连词搜索,倾向于检索出的文档包含所有query词;
- λ \lambda λ较低时,更适合长检索
- 正确的选择超参的取值很关键, λ \lambda λ越小越平滑
🐇dirichlet 平滑
-
函数公式:
-
将从全部文档集中获得的语言模型看成贝叶斯更新过程的一个先验分布。
-
参数分析:
- α \alpha α决定了先验的影响有多强, α \alpha α越大越平滑
- dirichlet分布更适合关键词查询,而Lelinek-Mercer更适合长查询
- 两个模型都对平滑参数非常敏感
🐇Vector space(向量空间) vs BM25 vs LM
- 数学模型:BM25和LM都基于概率模型,而向量空间是基于相似度,是几何代数
- 长度归一化:向量空间是余弦归一;LM:概率本质上就是归一的;BM25:通过调节参数可以优化长度归一化
- tf:都在三个模型中直接使用
- idf:BM25和向量空间都直接使用;LM是将tf和cf融合,有效的近似idf
- cf、df:LM用到了cf,而BM25和向量空间都只使用了df