`

语言模型方法

阅读更多

2.4语言模型方法

统计语言模型是关于某种语言所有语句或者其他语言单位的分布概率。也可以将统计语言模型看作是生成某种语言文本的统计模型。一般来说语言模型的研究任务是:已知文本序列中前面(i-1)个词汇,第i个词汇为单词w的可能性有多大?在大多数统计语言模型的应用比如语音识别、信息检索等研究中,一个句子的概率常常被分解为若干n-gram概率的乘积,也就是n元语言模型。我们假设S代表了某个长度为k的特定单词序列,S=w1w2,……wkn元语言模型将词汇序列S看作是具有以下概率值的马尔科夫过程:

 

p(S)=P(wi|wi-1, wi-2, wi-3, …, wi-n+1)      (i=1, …, k)

 

         其中n代表了马尔科夫过程的阶数。当n=2时,我们常常称之为二元语言模型。它利用词汇对的同现信息来进行相关参数的概率估计。n=1时,我们称之为一元语言模型,它利用了每个词汇的出现频率作为参数进行概率估计。在语音识别或者机器翻译中,词汇序列是很重要的信息所以常常采用高阶的语言模型。在信息检索领域,词汇序列的作用还不是很清楚,所以经常采用的语言模型是一元语言模型。

为了建立基于词汇的n元语言模型,常常通过训练数据集合来获得n元模式的频率信息以建立相关的统计参数。很有可能即使是训练语料集合很大,某个n元模式在训练语料中仍然没有出现过。这样的话对于不常见的n元模式来说,根据这种频率信息建立的统计模型就会产生问题。通常我们把这个问题叫做数据稀疏问题。在统计语言模型研究中,许多数据平滑技术被提出用来解决数据稀疏问题。

将统计语言模型和信息检索相结合是由PonteCroft[ponte1998]1998年首次提出的。这个新的检索模型提出后受到了广泛的关注,之后几年内有不少学者在此基础上提出了一些改进的方法或者模型。许多实验结果显示基于统计语言模型的方法在检索性能上普遍优于以前普遍采用的向量空间模型方法[Townsend2002]

PonteCroft最初提出的语言模型检索方法现在经常被称为“查询条件概率模型”。这个模型假设用户头脑中有一个能够满足他的信息需求的理想文档,用户从这个理想文档中抽取词汇作为查询条件,用户所选择的查询条件词汇能够将这个理想文档同文档集合中其他文档区分开来。这样查询条件可以看作是由理想文档生成的能够表征该理想文档的文本序列。由这个假设我们可以看出信息检索系统的任务被转化为判断文档集合中每个文档与理想文档哪个最接近的问题。也就是说,我们需要计算:

 

arg maxP(D|Q)=arg maxP(Q|D)P(D)

 

其中,Q代表查询条件,D代表文档集合中某个文档。先验概率P(D)对于文档集合中每篇文档来说都是相同的。所以关键是估计每篇文档的语言模型P(QlD)换句话说,我们首先需要估计每篇文档的词汇概率分布,然后计算从这个分布抽样得到查询条件的概率。并按照查询条件的生成概率来对文档进行排序。

PonteCroft在他们的工作中采取了“多变量伯努利”方法来近似估计P(Q|D)。他们将查询条件表示为二值属性构成的向量,词汇表中每个不同词汇代表了向量中的一维用来表示该词汇是否在查询条件中出现。查询条件词汇的出现次数没有列在考虑范围之内。在这个方法后面隐藏着以下几个假设:

(1)二值假设:所有属性是二值的。如果一个词汇出现在查询条件中,代表该词汇的属性值被设置成l。否则设置为0

(2)词汇独立假设:文档中词汇之间的关系是正交关系,也就是说是相互独立的,不考虑词汇之间的相互影响。

基于以上假设,查询条件生成概率p(Q|D)可以转化为两个概率的乘积:一个是生成查询条件词汇的概率,另一个是没有生成查询条件词汇的概率:

 

P(Q|D)=P(w|D)(1.0-P(w|D))    (wQ)

 

其中P(w|D)利用包含词汇w的所有文档的平均概率和风险因子来计算。对于没有出现的词汇,使用文档集合的全局概率来计算。

在这个模型中,一些统计信息比如词频信息(Term Frequency)和文档频率(Document Frequency)等信息成为语言模型检索方法中的有机组成部分。这一点与传统检索模型不同,在传统检索模型中,这些信息都是作为启发规则性质的计算因子引入的。另外,文档长度归一因素化成为不必单独计算的因子,因为它已经隐含在语言模型中的概率参数中了。

实验数据表明,尽管Ponte等人提出的语言模型还只是很简单的模型,但是在检索效果方面己经可以和目前性能最好的概率检索模型相当或者更好。

统计语言模型研究中面临的数据稀疏问题在检索中更显得突出。因为事实上每篇文档所包含的词汇数量并不多,利用如此少的数据量来对参数进行经验估计产生的结果并不理想,因为它低估了出现频率少的词汇概率而相应地高估了高频词汇的概率。另外如果某个词汇只在查询条件中出现而并没有被文档包含,很明显其经验估计值为0,尽管实际上还有很多其它查询词汇与文档内容相匹配,这仍将导致查询条件整体结果为0为了减轻上述问题的影响,研究人员提出了不同的数据平滑方法来对公式的经验估计值进行调整。最常用的平滑方法包括贝叶斯平滑方法,线性插值平滑方法等。

这个经典的基于语言模型的信息检索范型为信息检索领域开辟了一个很有前景同时也具有相当挑战性的方向。与传统检索模型相比,语言模型检索方法有下列优点:

(1)能够利用统计语言模型来估计与检索有关的参数是使用语言模型信息检索系统的一个优点。

(2)使用语言模型的另外一个好处是,我们可以通过对语言模型更准确的参数估计或者使用更加合理的语言模型来获得更好的检索性能。这样,与传统的模型相比较,在如何改善检索系统性能方面有更加明确的指导方向。

(3)另外,语言模型方法对于文档中的子主题结构和文档间的冗余度建立统计模型也是有帮助的。

尽管实验表明该方法检索性能优于一些传统的检索模型,但是其本身还是存在一定的缺点:

1.该方法隐含着词汇相互独立关系,没有考虑词汇间的相互影响。

2.传统检索模型中常用的查询反馈技术在概念层面融入语言模型框架比较困难。

 

2.4.1隐马尔可夫模型方法(Hidden Markov Model)

Miller等人在1999年的SIGIR国际会议上一篇论文中提出将隐马尔可夫模型引入信息检索领域[Millor1999],该方法在本质上是一种统计语言模型方法而且根据该方法推导出的查询条件和文档相似度计算公式与Ponte经典语言模型方法基本一致。实验结果表明了这是一种有效的方法。

离散隐马尔可夫模型一般来说由以下四个参数集合构成:状态集合,状态集合中各个状态间的转移概率集合,状态输出的可见符合集合与每个状态产生可见符号的概率集合。系统从初始状态集合中的状态开始,根据状态转移概率随机地从一个状态向另一个状态转移,直到转移到某个最终状态为止。在这个随机状态转移过程中,由于每个状态都可以按照一定的概率分布发出某些可见符号,所以在状态转移过程中伴随着一系列可见符号的产生。之所以称之为隐马尔可夫模型,是因为对于外界观察者来说,系统的状态转移过程是不可见的,能够观察到的仅仅是由状态转移过程中发出的可见符号系列。

HMM方法将信息检索过程看作是上述的离散隐马尔可夫模型。假设文档集合S包含N个不同文档,HMM方法根据每一篇文档d和文档集合S构造包含两个状态的离散隐马尔可夫模型,这样得到N个不同的隐马尔可夫模型的集合。任一个离散隐马尔可夫模型由以下四组参数集合构成:文档d本身和文档集合S构成状态集合;状态间的转移概率集合T={a1, a2, …, ai};状态输出可见符号集合由文档集合中出现的所有词汇构成;而每个状态产生可见符号的概率集合通过以下最大似然估计得到:

 

P(term|Dk)=tfterm/|Dk|

 

P(term|GE)=Σktfterm/Σk|DK|

 

其中tfterm代表词汇term在文档Dk中出现的次数,|Dk|代表文档Dk的长度,也就是文档包含的单词个数。

HMM方法将已知的查询条件看作是由上述的N个不同隐马尔可夫模型产生的观察到的可见符号序列。这样文档和查询条件的相关计算就转化为马尔可夫模型生成可见符号序列的概率问题,该方法认为这个生成概率越大也就说明该文档与查询条件越相关.判断两者相关度的公式如下:

 

p(QIDk)=(a0P(q|GE)+a1P(q|Dk))

 

HMM方法从不同的理论角度推出了和经典语言模型检索方法类似的结论,实验结果表明其检索效果与经典方法相当,但是它也存在和经典方法类似的缺陷。

 

2.4.2统计翻译方法

无论是经典语言模型检索方法还是HMM方法都隐含着词汇间相互独立关系的假设,也就是说认为词汇间没有任何联系,很明显这种假设与事实是不符的。统计翻译方法的目的就在于改善经典语言模型检索方法这一假设,将词汇间的同义词因素考虑进来。

统计翻译方法将统计翻译模型引入信息检索领域,其将信息检索过程看作是一个从文档向查询条件进行翻译的过程。在这种框架下,经典语言模型方法中的查询条件生成过程被看作是由文档中出现的词汇通过翻译模型向查询条件中相关词汇的一个映射过程。

Berger在文献[Berger1999]中参考机器翻译领域中的统计翻译模型引入了两种文档一查询条件翻译模型:混合翻译模型和指数翻译模型。混合翻译模型将语言模型和翻译模型相结合构造查询条件的翻译概率,其计算公式如下:

 

P(Q|D)=β(m|D)(n/(n+1) * p(qj|D) + 1/(n+1) * t(w|<null>))        (j=1, 2, …, m)

 

其中p(qj|D)=Σt(qj|w)l(w|D)

 

在上式中l(w|D)是文档的语言模型,t(qj|w)是词汇间的翻译模型。β(m|D)是由文档D生成长度为m的查询条件的概率。t(w|<null>)是考虑到查询条件中查询无关词汇因素。

指数翻译模型在混合翻译模型的基础上考虑查询词汇重复出现等情况来构造查询条件的翻译概率,其计算公式如下:

 

P(Q|D)=e-β(D)(eβ(D)p(qi|D)-1)  (i=1, …, m)

 

翻译模型方法由于采用的是统计机器翻译的思路,这在本质上决定了其主要考虑因素是将词汇间的同义词关系引入语言模型信息检索方法中,对于检索系统的性能提高有一定帮助。其作用类似与传统检索模型中的查询扩展技术,但是该方法有个很明显的缺点,就是在训练统计翻译模型的参数的时候,需要大量的查询条件和对应的相关文档,而事实上很难找到类似的训练数据,所以该方法只能采取信息抽取等技术来模拟得到所需训练集合。

 

2.4.3风险最小化框架(Risk Minimization Framework)

LaffertyZhai基于贝叶斯决策理论提出了一个风险最小化框架检索模型。在这个框架中,查询条件和文档利用统计语言模型来建立模型,用户需求偏好(User Preference)通过风险函数来进行建模。这样的话,信息检索就被转换为风险最小化问题。文档和查询条件的相似性度量采取了如下的文档语言模型和查询条件语言模型之间的Ku11back-Leibler距离:

 

KL(Q||D)=ΣP(w|Q)log(P(w|Q)/p(w|D)) (wV)

 

与其它相关研究比较,风险最小化框架的一个重要优点在于这个理论不仅能够利用统计语言模型对文档进行建模,而且同样可以利用统计语言模型对查询条件建模。这样使得相关检索参数的自动获得成为可能,同时还通过统计参数估计方法来改善检索性能。这个框架和概率检索模型有一定的相似性的同时能够将现有的语言模型检索方法融入该框架。LaffertyZhai2001年使用马尔科夫链方法来估计扩展查询条件语言模型以克服上述的统计翻译方法的缺陷。在进一步的相关工作中,ZhaiLafferty建议使用两阶段语言模型来探讨查询条件和文档集合对于检索参数设置的不同影响[Zhai2002]。在第一个阶段,与查询条件无关的文档语言模型通过参数估计得到。在第二个阶段,根据查询条件语言模型来计算查询条件的生成概率。这个查询条件语言模型是根据第一阶段获得的文档语言模型和查询条件背景语言模型获得的。这个方法和Ponte最初提出的语言模型方法有相似的地方,那就是都涉及到了文档语言模型的估计和查询条件的生成概率计算。不同点在于,Ponte提出的方法在计算查询条件概率的时候是直接使用估计的文档语言模型,而两阶段方法是使用估计的查询条件语言模型来进行查询条件生成概率的计算。在两阶段方法中,一种两阶段数据平滑方法被提出来完全自动地设置相关检索参数。实验数据表明,两阶段数据平滑方法在性能上要优于其它只考虑单阶段的数据平滑方法。

 

2.4.4相关模型(Relevanee Model)

与其他试图建立查询条件生成概率方法的思路不同,LavrenkoCroft[Lavrenko2001]明确地对“相关性”进行建模并提出了一种无需训练数据来估计相关模型的新的方法。从概念角度讲,相关模型是对用户信息需求的一种描述,换句话说,是对用户信息需求相关的主题领域的描述。相关模型的假设如下:给定一个文档集合与用户查询条件Q,存在一个未知的相关模型R,相关模型R为相关文档中出现的词汇赋予一个概率值P(w|R)。这样相关文档被看作是从概率分布P(w|R)中随机抽样得到的样本。同样的,查询条件也被看作是根据这个分布随机抽样得到的样本。

所以,对于相关模型来说,最根本的就是如何估计分布P(w|R)P(wlR)代表了从相关文档中随机抽取一个词汇正好是词汇w的概率值。如果我们知道哪些文档是相关文档的话,这个概率值的估计是很容易得到的。但是在一个典型的检索任务中,这些相关文档是不可知的。LavrenkoCroft[Lavrenko2001][Lavrenko2002]提出了一种合理的方法来近似估计P(w|R),他们使用以下联合概率来对这个值进行估计:

 

P(w|R)P(w|Q)=P(w, q1, …, qm)/ P(q1, …, qm)= P(w, q1, …, qm)/ ΣP(v, q1, …, qm)        

(vvocabulary)

 

Lavrenko提出两种估计上述联合概率分布的方法。这两种方法都假设存在一个概率分布集合U,相关词汇就是从U中某个分布随机抽样得到的。不同点在于它们的独立假设。

方法一假设所有查询条件词汇和相关文档中的词汇是从同一个分布随机抽样获得,这样一旦我们从集合U中选定某个分布M后,这些词汇是相互无关的、独立的。如果我们假设U是一元语言模型分布的全集并且文档集合中每个文档都有一个分布,那么我们得到:

 

P(w, q1, …, qm)=ΣP(M)P(w, q1, …, qm|M)=P(M)(P(w|M)P(qi|M))        (MU, i=1, …, m)

 

其中,P(M)代表集合U中的一些先验概率分布。P(w|M)是我们从M中随机抽取词汇而观察到词汇w的概率。

方法二假设查询条件词汇q1, …, qm是相互独立的但是和词汇w是相关的。也就是说:

 

P(w, q1, …, qm)= P(w|M)P(qi|M)  ( i=1, …, m)

 

条件概率分布P(qi|w)可以通过对于一元语言模型的全集u进行如下计算得到:

 

P(qi|w)=ΣP(qi|Mi)P(Mi|w)      (MiU)

 

在这里又作了如下假设:一旦选定一个分布Mi,查询条件词汇q,就和词汇w是相互独立的。

相关模型是一种将查询扩展技术融合进入语言模型检索框架的比较自然的方法。实验结果表明,与简单语言模型方法相比检索性能得到了很大提高。

 

参考:基于语言模型的信息检索系统研究

分享到:
评论

相关推荐

    自然语言处理常用模型方法总结

    自然语言处理常用模型方法总结 自然语言处理常用模型方法总结

    大语言模型的工作原理与发展.pdf

    随着人工智能领域的迅速发展,大语言模型已经成为了自然语言处理和人工智能研究的焦点之一。...本文将深入探讨大语言模型的工作原理,从基本概念到模型结构,再到训练方法和应用领域,带你一窥大语言模型的奥秘。

    中文版多角度对大语言模型综述

    在过去的二十年中得到了广泛的研究,其从统计语言模型发展为神经语言模型。近年来,通过在大规模语料库上预训练,基于 Transformer 架构的预训练语言模型在解决各种自然语言处理任务方面表现出强大的能力。由于研究...

    ChatGPT论大语言模型在教育中的机遇与挑战 .pdf

    此外,为了在学习环境和教学课程中整合和充分利用大型语言模型,需要在教育系统中有一个明确的策略和一个明确的教学方法,重点关注批判性思维和事实检查策略。其他挑战,如输出中的潜在偏见,需要持续的人工监督,...

    除了ChatGPT之外,还有哪些大语言模型?

    除了ChatGPT之外,还有很多大型的语言模型。下面小编介绍一些主要的大型语言模型。 1. BERT(Bidirectional Encoder Representations from Transformers):BERT是由Google在2018年开发的一种预训练语言模型。它使用...

    基于N元语言模型的文本分类方法

    基于N元语言模型的文本分类方法.pdf 汉语n元模型统计软件.ppt 基于N元语法的汉语自动分词系统研究.pdf 一种基于N元语法分布的语言模型自适应方法.pdf 语言模型的基本概念.doc N元语言模型的解码算法.doc N元语言模型...

    自然语言处理-基于预训练模型的方法 笔记

    自然语言处理-基于预训练模型的方法 笔记

    统计语言模型及汉语音字转换的一些新结果

    一篇利用统计语言模型来解决汉语音字转换问题的专业论文。

    统计语言模型详细讲解

    统计语言模型详细讲解,各种类型,以及相应的平滑方法吗,各自的优缺点

    论文研究-面向哈萨克语LVCSR的语言模型构建方法研究.pdf

    一个好的语言模型不仅可以压缩语音识别过程中的搜索空间,而且还可以提高识别准确率。N-gram统计语言模型是目前广泛使用的语言模型之一。从文本的收集和处理开始,介绍了哈萨克语语言模型的构建相关技术,并以此为...

    ChatGPT原理介绍:从语言模型走近ChatGPT

    其基本原理是使用语言模型来预测下一个单词或字符的概率分布,并将其作为生成响应的基础。ChatGPT通过多层的Transformer模型进行建模,能够自动学习语言的特征,并在对话中不断优化模型,从而提供更加流畅、自然的...

    论文研究-语种确认中基于段长的语言模型修正方法.pdf

    为了改善语言模型提出了一种新型的语言模型修正方法,先利用音素段长的筛选性来获得部分音素的语言模型修正因子,再对修正因子加以权重用于纠正语言模型的偏差,从而能够有效提高系统识别性能。在CALLFRIEND Corpus...

    大语言模型发展与现状分析

    本次会议主要关注生成...本次会议还介绍了生成式大语言模型的发展历程,包括基于统计的句子建模、N-gram语言模型和Transformer等方法。同时,还讨论了涌现能力的出现改变了语言模型的训练范式,使得大语言模型能够完成

    自然语言处理-基于预训练模型的方法-笔记

    哈工大的那本书,很好的一本书。 html/website/markdown 格式请查阅本人博客:https://zenmoore.github.io

    论文研究-融合主题与语言模型的蒙古文信息检索方法研究.pdf

    为了从日益丰富的蒙古文信息中快速准确地检索用户需求的主题信息,提出了一种融合主题模型LDA与语言模型的方法。该方法用语言模型与LDA模型对蒙古文文档进行建模,利用吉普斯抽样方法进行推理间接计算模型的参数,...

    基于大语言模型的中文科技文献标注方法

    ├── chat_scie.py # 基于大语言模型的中文科技文献标注方法 ├── config.py # 配置信息 ├── dataset # CSL 与 ACSL 数据集 ├── handle_error.py # 标注错误样本的处理 ├── output # 输出文件 ├── ...

    面向自然语言处理任务的预训练模型综述.pdf

    面向自然语言处理任务的预训练模型综述.pdf

    AI大语言模型技术分析报告

    一般来说,AI 大语言模型的训练采用的是监督学习的方法,即在一个巨大的语 料库中,将每个文本序列作为一个样本输入到模型中,对其进行训练,从而使得 模型能够在预测下一个词的时候,根据前面的语境信息选择最可能...

Global site tag (gtag.js) - Google Analytics