一种基于N元语法分布的语言模型自适应方法
- 格式:pdf
- 大小:199.18 KB
- 文档页数:4
基于改进Single-pass算法的新闻话题演化跟踪算法李天怡,应文豪*(常熟理工学院计算机科学与工程学院,江苏常熟215500)摘要:随着信息技术的发展,每天都有大量的新闻文本在互联网上发布、转发,在这样的海量信息环境下,如何快速定位自己感兴趣的话题、追踪其发展趋势已成了近年来的研究热点。
面向互联网上新闻文本,提出聚类阈值的估计方法对已有的Single-pass算法进行优化,进而基于时间片设计一个新闻文本演化算法。
在新华网等四个网站上采集新闻数据并进行实验,实验表明所提算法可有效跟踪新闻话题的演化过程。
关键词:Single-pass算法;网络爬虫;聚类;演化;跟踪中图分类号:TP311文献标识码:A文章编号:1009-3044(2021)10-0026-04开放科学(资源服务)标识码(OSID):News Topic Evolution Tracking Algorithm Based on Improved Single-pass AlgorithmLI Tian-yi,YING Wen-hao*(School of Computer Science and Engineering,Changshu Institute of Technology,Changshu215500,China) Abstract:With the development of information technology,a large number of news texts are published and forwarded on the Inter⁃net every day.In such a massive information environment,how to make people quickly locate and understand their topics of inter⁃est become a hot issue in recent years.For news texts on the Internet,a clustering threshold estimation method is proposed to opti⁃mize the existing Single-pass algorithm,and then a news text evolution algorithm is designed based on the time slice.News data on four websites including Xinhua net was collected and experimented.The experiments show that the proposed algorithm can effec⁃tively track the evolution of news topics.Key words:single-pass algorithm;Web Crawler;clustering;evolution;track1引言新闻报道是人们了解社会发展的趋向、生活演进的动态、事件变化过程的主要途径。
语言大模型的起源与发展语言大模型(Language Model,LM)是一种基于机器学习和自然语言处理技术,通过学习大规模文本数据来预测和生成自然语言的模型。
这种模型的起源可以追溯到上世纪50年代,而其发展至今已经取得了显著的进展。
一、起源语言大模型的起源可追溯到上世纪50年代提出的N元语法(N-gram),该模型用于统计语言学和信息论领域的研究。
N元语法基于前N-1个词来预测下一个词的概率,通过对大规模语料库进行统计分析,得到各个词之间的概率分布,从而实现对语言的建模。
虽然N元语法模型存在着数据稀疏性和词序问题,但对后续的语言大模型的发展起到了重要的基础性作用。
二、发展随着计算机技术和大数据的快速发展,语言大模型得到了进一步的推广和应用。
具有代表性的里程碑事件是Google于2012年发布的Word2Vec模型。
Word2Vec基于神经网络算法,将单词嵌入到一个连续的向量空间中,并通过训练模型,使得具有相似语义的词在该向量空间中距离较近。
这一模型的推出,标志着语言大模型进入了一个全新的阶段。
2018年,OpenAI发布的GPT(Generative Pre-trained Transformer)模型引起了广泛的关注。
GPT是一个基于Transformer架构的语言模型,通过大规模无标签的文本数据进行预训练,并在各类自然语言处理任务中取得了令人瞩目的成绩。
GPT的成功使得语言大模型在机器翻译、问答系统、文本生成等领域发挥了重要作用。
在不断地研究和发展中,语言大模型也面临着一些挑战和争议。
首先,由于大模型需要庞大的计算资源和海量额外数据进行训练,导致运行成本高昂,对硬件设备有一定要求。
此外,一些人担忧语言大模型可能过于强大,有可能被滥用或用于制造虚假信息等不良行为。
三、应用前景虽然面临一些挑战和争议,但语言大模型在各个领域仍有广阔的应用前景。
在自动对话系统中,语言大模型能够提供更加流畅自然的对话交互体验。
算法:N-gram语法⼀、N-gram介绍 n元语法(英语:N-gram)指⽂本中连续出现的n个语词。
n元语法模型是基于(n - 1)阶马尔可夫链的⼀种概率语⾔模型,通过n个语词出现的概率来推断语句的结构。
这⼀模型被⼴泛应⽤于概率论、通信理论、计算语⾔学(如基于统计的⾃然语⾔处理NLP)、计算⽣物学(如序列分析)、数据压缩等领域。
N-gram⽂本⼴泛⽤于⽂本挖掘和⾃然语⾔处理任务。
它们基本上是给定窗⼝内的⼀组同时出现的单词,在计算n元语法时,通常会将⼀个单词向前移动(尽管在更⾼级的场景中可以使X个单词向前移动)。
例如,对于句⼦"The cow jumps over the moon" ,N = 2(称为⼆元组),则 ngram 为:the cowcow jumpsjumps overover thethe moon 因此,在这种情况下,有 5 个 n-gram。
再来看看 N = 3,ngram 将为:the cow jumpscow jumps overjumps over theover the moon 因此,在这种情况下,有 4 个 n-gram。
所以,在⼀个句⼦中 N-grams 的数量有: Ngrams(K) = X - (N - 1) 其中,X 为给定句⼦K中的单词数,N 为 N-gram 的N,指的是连续出现的 N 个单词。
N-gram⽤于各种不同的任务。
例如,在开发语⾔模型时,N-grams不仅⽤于开发unigram模型,⽽且还⽤于开发bigram和trigram模型。
⾕歌和微软已经开发了⽹络规模的 n-gram模型,可⽤于多种任务,例如拼写校正、分词和⽂本摘要。
N-gram的另⼀个⽤途是为受监督的机器学习模型(例如SVM,MaxEnt模型,朴素贝叶斯等)开发功能。
其想法是在特征空间中使⽤标记(例如双字母组),⽽不是仅使⽤字母组合。
下⾯简单介绍⼀下如何⽤ Java ⽣成 n-gram。
大型语言模型概念大型语言模型(LargeLanguageModels)是指具有大量参数的深度学习模型,能够自动学习自然语言的语法和语义规则,进而生成自然语言文本。
近年来,随着深度学习技术的不断发展,大型语言模型在自然语言处理领域中得到了广泛应用,如机器翻译、语音识别、文本生成、问答系统等。
一、大型语言模型的发展历程大型语言模型的发展历程可以追溯到上世纪80年代,当时研究人员提出了基于统计语言模型的方法,即利用大规模语料库中的统计信息来估计语言模型的参数,从而实现语言模型的自动学习。
这种方法主要依赖于n-gram模型,即将文本分成n个连续的词或字符序列,然后利用贝叶斯公式计算出下一个词或字符的概率分布。
这种方法虽然简单有效,但是它只能考虑局部上下文,无法捕捉长距离的依赖关系,因此在生成长篇文本时表现不佳。
随着神经网络技术的发展,研究人员开始尝试使用神经网络来构建大型语言模型。
最早的神经网络语言模型是基于单层的前馈神经网络(Feedforward Neural Network)实现的,但是由于这种模型无法处理变长的输入序列,因此表现并不理想。
随后,研究人员提出了基于循环神经网络(Recurrent Neural Network,RNN)的语言模型,该模型可以处理任意长度的输入序列,并且能够捕捉长距离的依赖关系,因此在自然语言处理领域中得到了广泛应用。
然而,由于RNN模型存在梯度消失和梯度爆炸等问题,导致在训练过程中难以捕捉长期依赖关系,从而限制了模型的性能。
为了解决这一问题,研究人员提出了一种新的循环神经网络模型,即长短时记忆网络(Long Short-Term Memory,LSTM),该模型通过引入门控机制来控制信息的流动,从而有效地捕捉长期依赖关系,提高了模型的性能。
二、大型语言模型的应用领域1. 机器翻译机器翻译是指利用计算机程序将一种语言的文本自动翻译成另一种语言的文本。
大型语言模型在机器翻译中的应用主要是基于编码-解码框架,即将源语言文本编码为一个向量,然后将该向量解码为目标语言文本。
自然语言处理(NLP)是人工智能领域的一个重要分支,它致力于使计算机能够理解、解释、操作和回应人类语言。
文本生成模型是NLP中的一个重要部分,它可以通过学习大量的语言数据来生成符合语法和语义规则的文本。
本文将介绍几种常见的文本生成模型,包括N-gram模型、循环神经网络(RNN)、长短期记忆网络(LSTM)和生成对抗网络(GAN)等。
N-gram模型是一种基于统计的文本生成模型,它利用N-gram语法模型来预测下一个词的概率。
N-gram是指文本中连续的N个词或字符,通过统计语料库中不同N-gram出现的频率,可以得出下一个词出现的概率。
N-gram模型简单直观,但是在处理长文本和复杂语法时效果不佳。
循环神经网络(RNN)是一种能够处理序列数据的神经网络,它的内部结构包含循环连接,可以在处理序列数据时保留之前的信息。
RNN可以用于文本生成,通过学习语料库中的语言规律,可以生成符合语法和语义规则的文本。
然而,传统的RNN模型存在梯度消失和梯度爆炸的问题,导致长序列数据的依赖关系学习困难。
为了解决RNN模型的问题,长短期记忆网络(LSTM)被提出。
LSTM通过增加门控机制来控制信息的流动,有效地解决了梯度消失和梯度爆炸的问题,使得模型能够更好地处理长序列数据。
LSTM在文本生成任务中表现出色,可以生成更加连贯和合理的文本。
除了传统的生成模型之外,生成对抗网络(GAN)也被应用于文本生成任务。
GAN由生成器和判别器两部分组成,生成器负责生成文本,判别器负责判断生成的文本是否真实。
通过不断的对抗训练,生成器可以生成更加接近真实文本的结果。
GAN在文本生成任务中表现出色,可以生成更加真实和多样的文本。
总的来说,文本生成模型在NLP领域起到了至关重要的作用。
N-gram模型、RNN、LSTM和GAN等不同的模型在处理文本生成任务中都有各自的优势和局限性。
未来,随着NLP技术的不断发展,相信会有更多更先进的文本生成模型涌现出来,为人们的生活带来更多便利。
自然语言处理中常见的文本生成模型自然语言处理(Natural Language Processing,NLP)是人工智能领域的一个重要分支,它致力于让计算机能够理解、分析和生成自然语言。
文本生成模型是NLP领域中的一个重要研究方向,它们可以根据给定的输入来生成符合语法和语义规则的文本。
在本文中,我们将介绍一些常见的文本生成模型,包括传统的统计模型和基于深度学习的模型。
传统的统计模型在早期的NLP研究中,统计模型是主流的文本生成方法。
其中最经典的模型之一是n-gram模型。
n-gram模型基于n个连续的词或字符序列来预测下一个词或字符的概率分布。
通过统计大规模文本数据中的n-gram出现频率,可以建立一个概率模型来生成文本。
然而,n-gram模型存在数据稀疏和泛化能力差的问题,因此在处理复杂的自然语言表达时效果有限。
另一个常见的统计模型是隐马尔可夫模型(Hidden Markov Model,HMM)。
HMM是一种用于建模时序数据的统计模型,它在语音识别和文本生成等领域有着广泛的应用。
HMM将文本生成看作是一个隐藏状态序列和可观察状态序列之间的概率关系,通过训练模型参数,可以生成符合语法规则的文本。
然而,HMM模型对长距离依赖关系的建模能力较弱,难以捕捉文本的语义信息。
基于深度学习的模型随着深度学习技术的发展,基于神经网络的文本生成模型取得了巨大的进步。
其中最著名的模型之一是循环神经网络(Recurrent Neural Network,RNN)。
RNN 是一种递归神经网络,能够对序列数据进行建模,并且在训练过程中可以捕捉序列中的长距离依赖关系。
通过将RNN与词嵌入技术结合,可以构建一个端到端的文本生成模型,它能够生成连贯的自然语言文本。
除了RNN,还有一种特殊的RNN变体叫做长短时记忆网络(Long Short-Term Memory,LSTM)。
LSTM通过引入输入门、遗忘门和输出门等机制来控制信息的输入和输出,有效地解决了传统RNN模型中的梯度消失和梯度爆炸问题。
nltk计算困惑度的原理nltk(自然语言工具包)是一个广泛使用的Python库,用于处理和分析自然语言数据。
它提供了一系列功能,包括文本预处理、特征提取、词性标注、句法分析、语义分析等。
其中,nltk还提供了计算困惑度的方法,用于评估语言模型的好坏。
本文将介绍nltk计算困惑度的原理及其应用。
困惑度是一种用于评估语言模型预测能力的指标,它反映了模型对测试数据的预测准确性。
在自然语言处理中,语言模型是一种用于计算句子概率的模型,它可以用来判断一个句子在给定语料库中出现的可能性。
困惑度越低,说明模型对测试数据的预测越准确。
计算困惑度的方法基于信息论中的熵概念。
熵是一种度量不确定性的指标,用于衡量信息量的多少。
在语言模型中,我们可以将句子的困惑度定义为给定上文的情况下,预测下一个词的不确定性。
具体而言,困惑度是基于句子的概率计算的,即困惑度越低,句子的概率越高,模型的预测能力越好。
nltk中计算困惑度的方法主要有两种:基于n元语法的困惑度和基于平滑技术的困惑度。
基于n元语法的困惑度是一种常用的方法,它基于n元语法模型对给定句子的概率进行估计。
n元语法模型是一种基于统计的语言模型,它利用前面n-1个词来预测下一个词的概率。
n元语法模型可以通过计算训练语料库中n-1个词组成的序列和下一个词的概率来估计。
困惑度可以通过句子的概率的负对数来计算,即困惑度等于句子的概率的负对数的平均值。
基于平滑技术的困惑度是一种改善n元语法模型的方法,它主要用于解决数据稀疏性问题。
数据稀疏性是指在训练语料库中某些词组合的频率非常低,导致模型无法准确估计这些词组合的概率。
为了解决这个问题,平滑技术引入了一些修正因子,用于调整低频词组合的概率估计。
常见的平滑技术包括拉普拉斯平滑、加一平滑和Kneser-Ney平滑等。
这些平滑技术可以有效提高语言模型的预测能力,降低困惑度。
除了计算困惑度,nltk还提供了其他一些方法来评估语言模型的性能,包括交叉验证、语料库划分和生成句子等。
在自然语言处理领域,语言模型是一种重要的技术,它可以帮助计算机更好地理解和处理人类语言。
语言模型的训练方法多种多样,本文将介绍一些常见的语言模型训练方法。
一、基于统计的语言模型训练方法基于统计的语言模型是早期的语言模型训练方法,它的核心思想是利用大规模文本数据来统计单词或者短语的出现频率,从而推断出文本的语言规律。
其中最著名的方法是n-gram模型,它通过统计n个连续单词的出现概率来建模语言。
n-gram模型的训练方法包括基于频率的最大似然估计和平滑技术,通过这些方法可以有效地训练出一个较为准确的语言模型。
二、基于神经网络的语言模型训练方法随着深度学习技术的发展,基于神经网络的语言模型逐渐成为主流。
这类语言模型的训练方法一般包括两个阶段:首先是将文本数据转换成离散的表示,比如词向量或者字符向量;然后是利用神经网络模型对这些表示进行训练,从而学习文本的语言规律。
目前最流行的神经网络语言模型包括循环神经网络(RNN)、长短时记忆网络(LSTM)和Transformer模型等,它们在语言模型训练中取得了显著的成果。
三、迁移学习在语言模型训练中的应用迁移学习是一种利用已有知识来加速新任务学习的方法,它在语言模型训练中也被广泛应用。
一种常见的迁移学习方法是使用预训练的语言模型来初始化目标任务的模型参数,然后通过微调的方式对其进行训练。
这种方法能够显著减少目标任务的训练时间,并且通常能取得更好的效果。
目前,预训练的语言模型比如BERT、GPT等已经成为了许多自然语言处理任务的标配模型。
四、无监督学习在语言模型训练中的应用无监督学习是一种不依赖标注数据而进行模型训练的方法,它在语言模型训练中有着独特的优势。
例如,一种常见的无监督学习方法是使用自编码器来学习文本数据的低维表示,然后再利用这些表示进行语言模型的训练。
这种方法在缺乏大规模标注数据的场景下尤为有用,它能够帮助我们训练出更具泛化能力的语言模型。
五、结合知识图谱的语言模型训练方法知识图谱是一种用于表示丰富知识的图形结构,它在语言模型训练中也得到了广泛的应用。
n元语言模型
n元语言模型是一种统计语言模型,用于自然语言处理中的语言建模问题。
它是基于n元组(n-grams)的概率模型,其中n表示一个单词或字符序列中的元素数目。
该模型可以用来预测一个给定文本中下一个单词或字符的概率,或计算两个文本之间的相似度。
在n元语言模型中,每个单词或字符被认为是相互独立的,因此可以使用贝叶斯定理来计算一个给定文本的概率,即给定一个文本序列,计算每个单词或字符的概率,并将它们相乘得到整个文本序列的概率。
这个概率可以用来比较不同的文本序列之间的相似度,或作为文本分类和情感分析等自然语言处理任务的基础。
n元语言模型的应用广泛,包括机器翻译、语音识别、信息检索、自动文本摘要和自然语言生成等领域。
在这些领域中,n元语言模型可以用来提高系统的性能和准确性,同时也可以用来评估系统的表现和优化算法的参数。
总之,n元语言模型是一种重要的自然语言处理技术,它可以用来解决各种语言建模问题,并在多个领域中发挥重要作用。
2008年11月第34卷第11期北京航空航天大学学报Journal of Beijing University of Aer onautics and A str onautics November 2008Vol .34 No 111 收稿日期:2007211229 基金项目:教育部博士点基金资助项目(20050007023) 作者简介:尹继豪(1980-),男,河南叶县人,讲师,yjh@buaa .edu .cn .一种基于N 元语法分布的语言模型自适应方法尹继豪 姜志国(北京航空航天大学宇航学院,北京100191) 樊孝忠(北京理工大学计算机科学技术学院,北京100081) 摘 要:N 元语法分布能恰当地描述语料库的特性,为了有效利用普通领域训练数据,提出一种基于N 元语法分布的语言模型自适应方法.该方法定义一个小的领域内的高质量种子集和一个大的普通领域的质量不稳定的训练集,将训练集的N 元语法分布自适应到和种子集的N 元语法分布相似,以更好地进行特定领域单词识别.实验结果表明,基于N 元语法分布的语言模型自适应方法可以使单词困惑度和词错误率分别比传统的简单插值法降低11.1%和6.9%.关 键 词:N 元语法分布;种子集;训练集;自适应中图分类号:TP 391文献标识码:A 文章编号:100125965(2008)1121276204S ta tis ti ca l l anguage m o de l adap ta ti o n ba sed o n N 2g ram d is tri bu ti o nYin J ihao J iang Zhiguo(School of A str onautics,Beijing University of Aer onautics and A str onautics,Beijing 100191,China )Fan Xiaozhong(School of Computer Science and Technol ogy,Beijing I nstitute of Technol ogy,Beijing,100081,China )Ab s trac t:N 2gra m distributi on can rep resent the characters of cor pus correctly .So an app r oach was p r o 2posed f or statistical language modeling adap tati on,which is based on N 2gra m distributi on .Given a large set of out 2of 2task training data,called training set,and a s mall set of task 2s pecial training data,called seed set,one statistical language modeling was adap ted t owards the s pecial domain by adjusting the N 2gra m distributi on in the training set t o that in the seed set .The experi m ent results show p r om inent i m p r ove ments over conventi onal methods .Compared with the si m p le inter polati on method,the per p lexity and word err or rate decreases 11.1%and 6.9%res pectively .Ke y wo rd s:N 2gra m distributi on;seed set;training set;adap tati on 统计语言模型(成功地应用于很多领域,如语音识别[1]和信息抽取[2],尤其是N 元语法模型在这些领域中使用相当广泛,并取得了良好的效果.但是统计语言模型的建立基于以下前提:①具备大量的训练数据;②训练数据和测试数据来源于相同的领域[3].训练数据训练得到的语言模型的质量高低主要取决于训练数据的大小和质量,也就是说,如果不具备大量的训练数据,或者训练数据与测试数据不匹配,就不能得到精确的统计语言模型.传统的统计语言模型自适应技术是这样做的:将一个通用的、训练充分的模型和一个特定领域的、训练不充分的模型通过某种方式组合成一个新的模型.组合的方法一般有两种:插值法[4]和最大熵法[5].插值法比较常用,它最大的优点是易于实现,计算效率高,其缺点是难以保证模型的完整性,并且很难达到最优的插值结果.最大熵法的优点是能够达到较好的插值结果,但其明显的缺点是计算量大、计算效率低.N 元语法分布能恰当地描述训练数据的特性,因此,本文提出基于N元语法分布的语言模型自适应方法.该方法定义一个小的领域内的高质量训练数据集(种子集)和一个大的领域外的质量不稳定的训练数据集(训练集),其基本思路是将训练集的N元语法分布自适应到和种子集的N元语法分布相似.1 常用的语言模型自适应算法在以下的公式中,P(x)表示事件x的概率,C(x)表示事件x的出现次数.下标c表示通用(common)模型,对应从大规模的语料中训练出来的模型;下标a表示自适应(adap tati on)模型,对应从小规模特定领域语料中训练出来的模型;无下标表示自适应后的最终模型.w表示当前单元, h表示历史单元.本文使用的通用语言模型和自适应语言模型都是二元语法模型p(wn |wn-1),因为由二元语法很容易推广到N元语法.1.1 简单插值算法通常的插值算法是概率意义上的插值,即: P(w|h)=λP c(w|h)+(1-λ)P a(w|h)(1)为叙述方便,采用的是计数意义上的插值,即: C(h,w)=C c(h,w)+αC a(h,w)(2)事实上,它们的本质是相同的,这是因为P(w|h)=C(h,w)C(h)=C c(h,w)+αC a(h,w)C c(h)+αC a(h)=C c(h,w) C c(h)+αC a(h,w)C a(h)×C a(h)C c(h)1+αC a(h)C c(h)(3)如果令C a(h)C c(h)=A(h)则式(3)可以化为P(w|h)=11+α×A(h)P c(w|h)+α×A(h)1+α×A(h)P a(w|h)(4)显然,令λ=11+α×A(h)则式(1)和式(4)等价,但式(4)却可以针对不同的h,对λ进行更精细的调整.需要说明的是,α是预先设定的自适应插值参数,α越大,自适应模型起的作用越大.A(h)是和两个语料库相关的参数,它是h在自适应语料中出现次数与在通用语料中出现次数的比值,反映了h在两种语料中的重要性的不同,A(h)越大,则自适应模型起的作用越大.1.2 考虑Katz平滑的插值算法数据稀疏问题是N元语法所特有的,因为它们不能使用长距离的上下文,总是倾向于过低地估计那些在训练语料库中不是彼此邻近出现的符号串的概率.不过,可以使用一些技术给那些“零概率的N元语法”指派非零概率.这种给某些零概率和低概率的N元语法重新赋值并给它们指派非零的工作称为“平滑”[6].在此,采用已有的、著名的Katz平滑方法[7]:P Katz(w i|w i-1)=C(w i-1,w i)/C(w i-1) if C(w i-1,w i)>r Td r C(w i-1,w i)/C(w i-1)if0<C(w i-1,w i)≤r T α(wi-1)PKatz(wi)if C(wi-1,w i)=0(5)式中,rT是用于折扣的阈值,α(wi-1)和d r是平滑参数.采用了Katz平滑方法,实际上出现次数小于r T的单元会用于折扣.其意义在于表明出现次数较少的单元在统计上的可信度较低,所以把它们折扣给出现次数为0的单元;而出现次数较多的单元在统计上可信度较高,因此它们的统计结果保持不变.由于自适应语料相对通用语料较少,所以要想让自适应模型发挥出理想的作用,式(2)和式(4)中的经验参数α的取值一般都大于1.而对于出现次数较少(小于rT)的单元,这样的α就存在一定的问题了.因为,这些可信度低的单元,如果被加一个较大的权α,则概率有可能被人为地、过度地增大,而对于可信度低的单元,一般不应该给予较大概率.如果其概率过大,将导致其它单元的概率值不能领先,造成多个错误;如果让其概率较小,最坏的情况只是导致该单元概率该领先的时候没有领先,只影响到自身.因此,从直观上讲,对于此类可信度较低的单元,其概率宁可过小,不可过大[8].所以,应对式(2)做相应的修改:C(h,m)=C c(h,m)+αC a(h,m) if Cc(h,m)+βC a(h,m)>r TC c(h,m)+βC a(h,m) if Cc(h,m)+βC a(h,m)≤r T(6)在式(6)中,β要远小于α.7721 第11期 尹继豪等:一种基于N元语法分布的语言模型自适应方法2 N 元语法分布的语言模型自适应2.1 语言模型自适应算法词条分布模型在信息抽取领域被广泛地使用[9].定义p i (k )为单词w i 在一篇文档中出现k次的概率,在二元分布模型中,给出一个概率模型来计算单词对(w i -1,w i )在一篇新文档中出现的概率P (w i -1,w i ).描述词条分布效果比较好的模型是Katz 提出的K 重混合模型[10],它是一个简单的分布模型,因此使用K 重混合模型建立二元分布模型.在K 重混合模型中,单词w i 在一篇文档中出现k 次的概率为P i (k )=(1-η)δk,0+ηθ+1θθ+1k (7)式中,若k =0,则δk,0=0,否则δk,0=0.η和θ可以由观测均值λ和观测倒排文档频度I D F (I n 2verse Docu ment Frequency )计算:λ=N cf N (8)f I D F =log 2N N df(9)θ=λ×2f I D F -1=N cf -N dfN df(10)η=λθ(11)式中,N cf (collecti on frequency ,收集频度)是所有文档中单词w i 出现的总次数;N df (document fre 2quency ,文档频度)是出现单词w i 的文档数;N 是总的文档数目.参数θ是每个文档中出现次数大于1的词条数的均值,θθ+1=N cf -N dfN cf实际上决定了p i (k +1)p i (k )的大小.例如,如果这个比值为0.1,则表示出现该词条一次的文档数是出现两次的文档数的10倍.如果两词条有相同的θ,表示它们有相同的收集频度和文档频度之间的比率.参数η表示词条的绝对出现频度信息.二元语法分布模型是K 重混合模型的一个直接应用,通过式(12)计算单词对(w i -1,w i )在一篇文档中出现的频率:P (w i-1,w i )=1-∑Kk =1p i(k )(12)式中,K 的取值范围为1~2.p i (l )由式(7)得到,式中η和θ由式(8)~式(11)求得.N 元语法分布很好地表征了语料库的特征,能恰当地描述特定领域训练数据的特性.因此,文中有效地利用普通领域训练数据,提出一种基于N 元语法分布的语言模型自适应方法.自适应方法不是合并训练集和种子集的二元语法模型,而是直接合并二元计数C (w 1,w 2)和自适应权重W (w 1,w 2),合并式子如下:C (w 1,w 2)=∑iW i(w 1,w 2)×C i (w 1,w 2)(13)式中,W i (w 1,w 2)是第i 个训练集的自适应权重,通过式(14)计算:W i (w i ,w 2)=log 2p (w 1,w 2)p i (w 1,w 2)α(14)式中,α是自适应系数;p (w 1,w 2)是二元语法(w 1,w 2)在种子集中的出现频率;p i (w 1,w 2)是二元语法(w 1,w 2)在第i 个训练集中的出现频率,可以由式(15)计算:p i (w 1,w 2)=C i (w 1,w 2)∑w 1,w 2C i (w 1,w 2)(15)基于N 元语法分布的模型自适应方法的关键在于自适应系数α的选取.2.2 自适应系数选取使用交叉验证方法确定自适应系数,随机把特定领域训练数据分割成同样大小的5个部分,每一次,选择其中一部分作为测试集,其余4部分合并后作为种子集.然后使α从0~10,每隔1取一次值,并且通过式(13)~式(15)计算二元语法计数.最终估计一系列二元语法模型.图1给出了当α取不同值时,种子集困惑度和测试集困惑度大小的变化曲线.随着α的增长,种子集困惑度p p lx 降低,测试集困惑度先降低然后急剧升高.因此,选择当测试集困惑度将要升高时的α值,称这个点的α值为α关键值.本实验中,α关键值取值为3.5.图1 种子集和测试集P p lx 变化曲线3 实验与分析3.1 评测标准和数据集P p lx 和词错误率W ER (Word Err or Rate )是评8721北京航空航天大学学报 2008年 测语言模型最常用的两个指标.Pp lx是语言模型预计的词的候选个数,Pp lx越低语言模型越好;语言模型最终的评估标准应该是词的错误率,词的错误率越低,认为语言模型性能越好.本实验采用Pp lx和W ER作为评测标准.选用的训练集是《人民日报》1998年1~6月人工标注的语料,包括大约13000000个汉字.特定领域训练数据和测试数据均来源于“新华网简体中文版2网评频道”,特定领域训练数据包括大约3100000个汉字,测试数据包括大约1200000个汉字.3.2 实验结果与分析表1给出了基于N元语法分布的语言模型自适应方法的实验结果.以新华网简体中文版2网评频道XHC(Xinhuanet Comments)语料训练的语言模型测试结果为基准,与其它方法的实验结果进行比较.表1 不同方法下Pplx和词错误率比较训练集方法P p lx P p lx减小的分率/%词错误率/%词错误减小的分率/%XHC基准536.72- 6.91-XHC+P D SI348.3735.09 6.239.84 XHC+P D KSI315.6841.18 5.9713.60 XHC+P D AND309.7142.30 5.8016.06 第3行是使用简单插值法SI(Si m p le I nter po2 lati on),把XHC训练得到的语言模型和由普通领域数据人民日报语料P D(Peop le Daily)训练得到的模型合并后的实验结果;第4行是考虑Katz平滑的插值算法KSI得到的实验结果;第5行是使用基于N元语法分布的语言模型自适应方法AND(LM Adap tati on Based on N2gra m s D istribu2 ti on)得到的实验结果.通过以上实验,可以得到如下结论:①考虑Katz平滑的插值算法可以在一定程度上降低单词困惑度和词错误率.②基于N元语法分布的模型自适应方法可以使系统识别效果达到最优,单词困惑度和词错误率比传统的简单插值算法分别降低了11.1%和6.9%.4 结束语本文针对普通领域训练语料和特定领域训练语料存在的差异,提出基于N元语法分布的语言模型自适应算法.该算法不是合并训练集和种子集的N元语法模型,而是合并N元计数和自适应权重.N元语法分布很好地表征了语料库的特征,能恰当地描述特定领域训练数据的特性,因此,可以将训练语料的N元语法分布自适应到和种子集的N元语法分布相似,以便更好地进行特定领域单词的识别.需要说明的是,本文在自适应系数选取过程中,如果领域发生了变化,则需重新进行模型训练确定自适应系数,这在应用中是很不方便的,如何找到更好的方法来解决这个问题是后继研究的重点之一.另外,综合考虑Katz平滑和基于N元语法分布的模型自适应方法,可能会进一步提高系统的识别效果,这也将是后继研究的重点.参考文献(References)[1]Jelinek F.Self2organized language modeling for s peech recogni2ti on[C]//Readings in Speech Recogniti on.Morgan2Kauf2 mann,CA:San Mateo,1990:450-506[2]M iller D,Leek T,Schwartz RM.A hidden Markov model infor2mati on retrieval syste m[C]//Pr oceedings of22nd I nternati onal Conference on Research and Devel opment in I nfor mati on Retriev2 A:Berkeley,1999:214-221[3]Ki m nguage model adap tati on for aut omatic s peech recog2niti on and statistical machine translati on[D].US A:Depart m ent of Computer Science,Johns Hopkins University,2004[4]I yer R,O stendorf M,Gish H.U sing out2of2domain data t o i m2p r ove in2domain language models[J].I EEE Signal Pr ocessing Letters,1997,4(8):221-223[5]Rosenfeld R.A maxi m um entr opy app r oach t o adap tive statisticallanguage model[J].Computer Speech&Language,1996,10: 187-228[6]Jurafsky D,Martin J H.Speech and language p r ocessing:an in2tr oducti on t o natural language p r ocessing,computati onal linguis2 tics and s peech recogniti on[M].US A:Prentice Hall,2000 [7]Katz S M.Esti m ati on of p r obabilities fr om s parse data f or thelanguage model component of a s peech recognizer[J].I EEE Transacti on Acoustics,Speech and Signal Pr ocessing,1987,35(3):400-401[8]W u Genqing,Zheng Fang,W u W enhu.I m p r oved Katz s moot2hing for language modeling in s peech recogniti on[C]//I nterna2 ti onal Conference on Spoken Language Pr A: Col orado,2002:925-928[9]Manning C D,Sch tze H.Foundati on of statistical natural lan2guage p r ocessing[M].US A:The M I T Press,1999[10]Katz SM.D istributi on of content words and phrases in text andlanguage modeling[J].Natural Language Engineering,1996, 2:15-59(责任编辑:张 嵘)9721 第11期 尹继豪等:一种基于N元语法分布的语言模型自适应方法。