信息检索与数据挖掘 2019/4/71 信息检索与数据挖掘 第9章基于语言建模的检索模型
信息检索与数据挖掘 2019/4/7 1 信息检索与数据挖掘 第9章 基于语言建模的检索模型
信息检索与数据挖掘 2019/4173 本讲内容:基于语言建模的检索模型 ·语言模型 ·什么是概率语言模型?如何比较两个模型? 。怎样由文档生成语言模型? 。语言模型的种类 ·语言模型如何应用到R中? ·查询似然模型(Query Likelihood Model) ·平滑的方法:线性插值LM 。扩展的LM方法
信息检索与数据挖掘 2019/4/7 3 本讲内容:基于语言建模的检索模型 • 语言模型 • 什么是概率语言模型?如何比较两个模型? • 怎样由文档生成语言模型? • 语言模型的种类 • 语言模型如何应用到IR 中? • 查询似然模型(Query Likelihood Model) • 平滑的方法:线性插值LM • 扩展的LM 方法
信息检索与数据挖掘 2019/4/74 最简单的语言生成模型 generative model 一个简单的有穷自动机及其生成语言中的一些字符串。 指向的是自动机的初始状态,而双圈节点对应的是 (可能的)终止状态 I wish I wish I wish I wish I wish I wish wish I wish I wish I wish I wish *wish I wish 如果上述自动机是带有概率的, 则是概率语言模型(probabilistic LM) 也称统计语言模型(Statistical Language Modeling,SLM)
信息检索与数据挖掘 2019/4/7 4 最简单的语言生成模型 generative model I wish I wish I wish I wish I wish I wish I wish I wish I wish I wish I wish … *wish I wish 一个简单的有穷自动机及其生成语言中的一些字符串。 → 指向的是自动机的初始状态,而双圈节点对应的是 (可能的)终止状态 如果上述自动机是带有概率的, 则是概率语言模型(probabilistic LM) 也称统计语言模型(Statistical Language Modeling,SLM)
信息检索与数据挖掘 2019/4175 有穷自动机→语言模型 ·一个语言模型(language model)是从某词汇表上抽取的字 符串到概率的一个映射函数。也就是说,对于字母表Σ上的 语言模型M有 ∑Ps)=1 ·最简单的语言模型仅包含一个节点,只有一个生成不同词 项的概率分布,因此有 ∑erP(t)=1 Model M the man likes the woman 0.2 the 0.1 a 0.2 0.01 0.02 0.2 0.01 0.01 man 0.01 woman 0.03 said multiply 0.02 likes 一个具体的字符串或文 档的概率往往非常小 P(s|D=0.00000008
信息检索与数据挖掘 2019/4/7 5 有穷自动机语言模型 • 一个语言模型(language model)是从某词汇表上抽取的字 符串到概率的一个映射函数。也就是说,对于字母表Σ上的 语言模型M有 • 最简单的语言模型仅包含一个节点,只有一个生成不同词 项的概率分布,因此有 0.2 the 0.1 a 0.01 man 0.01 woman 0.03 said 0.02 likes … the man likes the woman 0.2 0.01 0.02 0.2 0.01 multiply Model M P(s | M) = 0.00000008 一个具体的字符串或文 档的概率往往非常小
信息检索与数据挖掘 2019/4/76 统计语言模型(Statistical Language Modeling) 一个概率语言模型(SLM)的例子 ·单状态概率有穷状态自动机一一元语言模型一状态 发射概率分布如右表。其中STOP不是词,而是表 示自动机结束的一个标识符。这样,概率 P(frog said that toad likes frog)=(0.01×0.03×0.04×0.01×0.02×0.01) ×(0.8×0.8×0.8×0.8×0.8×0.8×0.2) ≈0.000000000001573 the 0.2 a 0.1 第一行是词项发射概率;第二行是生 frog 0.01 成每个词后继续前进或停止的概率 toad 0.01 一个有穷自动机要转变成一个良构 said 0.03 (weII-formed)的语言模型,必须要 likes 0.02 有一个显式的停止概率 that 0.04 P(STOPlq1)=0.2 …
信息检索与数据挖掘 2019/4/7 6 统计语言模型(Statistical Language Modeling) 一个概率语言模型(SLM)的例子 • 单状态概率有穷状态自动机—一元语言模型—状态 发射概率分布如右表。其中STOP不是词,而是表 示自动机结束的一个标识符。这样,概率 第一行是词项发射概率;第二行是生 成每个词后继续前进或停止的概率 一个有穷自动机要转变成一个良构 (well-formed)的语言模型,必须要 有一个显式的停止概率
信息检索与数据挖掘 2019/417 7 比较两个语言模型M1和M) 模式M 模式M the 0.2 the 0.15 a 0.1 a 0.12 frog 0.01 frog 0.0002 这里我们是对概率求积,但是通 toad 0.01 toad 0.0001 said 0.03 said 0.03 常在概率应用中,实际上往往采 likes 0.02 likes 0.04 that 0.04 that 0.04 用对数求和的计算方法 dog 0.005 dog 0.01 cat 0.003 cat 0.015 monkey 0.001 monkey 0.002 若P(dM)>P(dM2) 说明d由M,生成的可能性大 图12-3 两个一元语言模型的部分概率赋值 frog said that toad likes that dog M 0.01 0.03 0.04 0.01 0.02 0.04 0.005 M 0.0002 0.03 0.04 0.00010.04 0.04 0.01 P(sM)=0.00000000000048 P(s M)>P(s M) P(sM2)=0.000000000000000384
信息检索与数据挖掘 2019/4/7 7 比较两个语言模型M1 和M2 这里我们是对概率求积,但是通 常在概率应用中,实际上往往采 用对数求和的计算方法 若 P(d|M1 )>P(d|M2 ) 说明d由M1生成的可能性大
信息检索与数据挖掘 2019/4/78 语言模型的比较 。比较两个模型,可计算似然比(likelihood ratio) ,即将其中一个模型的数据生成概率除以另外一个 模型的数据生成概率。 P(R=1元,q) O(R|x,9)= P(R=0,g) ·假定停止概率是固定的,那么考虑它并不会改变似 然比的顺序,也不会改变两个语言模型生成同一字 符串的概率大小次序。因此,它不会影响文档的排 序。 。课程中后续内容将忽略停止概率
信息检索与数据挖掘 2019/4/7 8 语言模型的比较 • 比较两个模型,可计算似然比(likelihood ratio) ,即将其中一个模型的数据生成概率除以另外一个 模型的数据生成概率。 • 假定停止概率是固定的,那么考虑它并不会改变似 然比的顺序,也不会改变两个语言模型生成同一字 符串的概率大小次序。因此,它不会影响文档的排 序。 • 课程中后续内容将忽略停止概率
信息检索与数据挖掘 2019/41710 小结:语言模型 P(frog said that toad likes frog)F(0.01×0.03×0.04×0.01×0.02×0.01) ×(0.8×0.8×0.8×0.8×0.8×0.8×0.2) ≈0.000000000001573 the 0.2 a 0.1 frog 0.01 toad 0.01 said 0.03 likes 0.02 that 0.04 P(STOPlq1)=0.2 ·比较两个模型,可计算似然比(likelihood ratio) ,我们忽略停止概率 •若语言模型与文档是一一映射的关系,那么查询与 文档的相关性可以转化为查询与语言模型的相关性
信息检索与数据挖掘 2019/4/7 10 小结:语言模型 • 比较两个模型,可计算似然比(likelihood ratio) ,我们忽略停止概率 • 若语言模型与文档是一一映射的关系,那么查询与 文档的相关性可以转化为查询与语言模型的相关性
信息检索与数据挖掘 2019/4/711 本讲内容:基于语言建模的检索模型 ·语言模型 。什么是概率语言模型?如何比较两个模型? ·怎样由文档生成语言模型? 。语言模型的种类 ·语言模型如何应用到R中? ·查询似然模型(Query Likelihood Model) ·平滑的方法:线性插值LM 。扩展的LM方法
信息检索与数据挖掘 2019/4/7 11 本讲内容:基于语言建模的检索模型 • 语言模型 • 什么是概率语言模型?如何比较两个模型? • 怎样由文档生成语言模型? • 语言模型的种类 • 语言模型如何应用到IR 中? • 查询似然模型(Query Likelihood Model) • 平滑的方法:线性插值LM • 扩展的LM 方法
信息检索与数据挖掘 2019/41712 对于词项序列如何求解其生成的概率值? ·根据链式规则将一系列事件的概率分解成多个连续 的事件概率之积,每个概率是每个事件基于其历史 事件的条件概率。具体计算公式如下: P(ttt:t)=P(t)P(t2t)P(t:t tP(tattt •最简单的语言模型形式是:去掉所有条件概率中的 条件来独立地估计每个词项的概率。这种模型称为 一元语言模型(unigram language model).: Puni(tit2t;t=P(tP(tP(tP(t 词袋模型Bag of words
信息检索与数据挖掘 2019/4/7 12 对于词项序列如何求解其生成的概率值? • 根据链式规则将一系列事件的概率分解成多个连续 的事件概率之积,每个概率是每个事件基于其历史 事件的条件概率。具体计算公式如下: • 最简单的语言模型形式是:去掉所有条件概率中的 条件来独立地估计每个词项的概率。这种模型称为 一元语言模型(unigram language model): P(t1 t2 t3 t4 ) = P(t1 )P(t2 |t1 )P(t3 |t1 t2 )P(t4 |t1 t2 t3 ) Puni(t1 t2 t3 t4 ) = P(t1 )P(t2 )P(t3 )P(t4 ) 词袋模型 Bag of words