CN109388743B - 语言模型的确定方法和装置 - Google Patents
语言模型的确定方法和装置 Download PDFInfo
- Publication number
- CN109388743B CN109388743B CN201710685946.XA CN201710685946A CN109388743B CN 109388743 B CN109388743 B CN 109388743B CN 201710685946 A CN201710685946 A CN 201710685946A CN 109388743 B CN109388743 B CN 109388743B
- Authority
- CN
- China
- Prior art keywords
- language model
- corpus
- language
- word
- segmentation unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 59
- 238000012549 training Methods 0.000 claims abstract description 54
- 238000012216 screening Methods 0.000 claims abstract description 46
- 230000011218 segmentation Effects 0.000 claims description 112
- 238000004364 calculation method Methods 0.000 claims description 71
- 238000011156 evaluation Methods 0.000 claims description 23
- 238000012545 processing Methods 0.000 claims description 16
- 238000007476 Maximum Likelihood Methods 0.000 claims description 9
- 238000001914 filtration Methods 0.000 claims description 7
- 230000004927 fusion Effects 0.000 claims description 5
- 238000000605 extraction Methods 0.000 claims description 3
- 238000012163 sequencing technique Methods 0.000 claims 1
- 238000011161 development Methods 0.000 description 31
- 230000018109 developmental process Effects 0.000 description 31
- 239000013598 vector Substances 0.000 description 16
- 230000008569 process Effects 0.000 description 11
- 239000000463 material Substances 0.000 description 10
- 238000012360 testing method Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 230000000717 retained effect Effects 0.000 description 4
- 238000012935 Averaging Methods 0.000 description 3
- 241000238631 Hexapoda Species 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000009193 crawling Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000005034 decoration Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000037452 priming Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/216—Parsing using statistical methods
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/06—Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
- G10L15/063—Training
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Probability & Statistics with Applications (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Machine Translation (AREA)
Abstract
本发明公开了一种语言模型的确定方法和装置。其中,该方法包括:获取第一语料,其中,第一语料为在预设语境下选取的语言文本;通过对第一语料进行训练得到第一语言模型;采用第一语言模型对目标文本进行筛选以得到第二语料,并通过对第二语料进行训练得到第二语言模型,其中,目标文本是利用从所述第一语料中提取的关键词集合作为索引检索得到。本发明解决了由于现有技术中语言模型仅通过堆砌语料的策略获取,导致语料的性能低下的技术问题。
Description
技术领域
本发明涉及语言模型领域,具体而言,涉及一种语言模型的确定方法和装置。
背景技术
目前,在语音识别中,语言模型为整个识别过程中的一个重要环节,甚至在自然语言理解中也非常重要,从而对语音识别的性能产生了深远的影响。然而,语料对数据的匹配程度非常敏感,比如,对于某个特定的领域,语料是否匹配会严重制约语言模型的性能,从而制约整个系统的性能。
传统的语言模型训练往往采用堆砌语料的方法。在语料不足的情况下,语料数量对于语言模型性能的影响,远远超过了语料质量对于语言模型性能的影响。在语料数量还满足不了需求的时候,人们还没有余力去有针对性地提升语料性能。随着语言模型建立的流程的成熟以及互联网的普及,对于海量语料数据的获取不再是不可能实现的任务。在可以获取海量数据的基础上,可以针对具体任务查找更加贴合实际应用的领域内的语料。在查找语料的过程中,只是根据开发人员自身对于任务的理解,人为地有选择地去获取一些与任务相关的语料。
在获取语言模型时,目前通过对开发集词向量聚类获得开发集的主题模型,通过逐句计算海量语料中语句与主题的距离,并设置阈值进行数据的筛选。但是,该方法有以下缺陷:
(1)需要很大的计算资源,用于训练词向量映射网络。当训练词向量映射网络需要较多的计算资源时,对于大规模大词标语料,训练一个词向量模型的计算量远大于训练一个N元文法(N-Gram)语言模型,这在语言模型领域是一个不小的开销。另外,词向量网络的好坏,也会直接影响整个系统的性能;
(2)聚类中心数难以确定,且容易陷入局部最优。词向量方法基于聚类的策略体现对主题的建模。但是,经典而快速的聚类算法常容易陷入局部最优,比如,K-Means算法,较难在完全没有监督的情况下获得较好地区分,造成语言模型的性能低下;
(3)逐词求得平均值作为句子的向量的操作有一定的不合理性。词向量网络将词转化成向量,而在基于词向量的聚类方法里,需要通过计算句中词向量的均值作为该句的向量并用于下一步的主题模型建模。然而在句子中辅助词的比例往往较高,却不对语义产生明确影响,简单的平均方法使得句向量过多地偏重到了辅助词,毕竟很多辅助词本身并不能很好地表征语义,但却占了语句中较大的比例,而忽略了语句中本该起作用的关键词,从而使语言模型的性能低下;
(4)工程实现较为复杂。虽然词向量网络有开源工具实现,但之后的词句向量转换、主题中心聚类、逐句余弦距离等,难以借助开源工具直接实现,需要工程人员自己编写代码等进行实现,为获取语言模型造成了一定的不便。
科大讯飞在INTERSPEECH 2016国际会议上发表了一篇通过词向量余弦距离判断相关度的文章,同样存在上述问题。
针对由于现有技术中语言模型仅通过堆砌语料的策略获取,导致语料的性能低下的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种语言模型的确定方法和装置,以至少解决由于现有技术中语言模型仅通过堆砌语料的策略获取,导致语料的性能低下的技术问题。
根据本发明实施例的一个方面,提供了一种语言模型的确定方法,包括:获取第一语料,其中,第一语料为在预设语境下选取的语言文本;通过对第一语料进行训练得到第一语言模型;采用第一语言模型对目标文本进行筛选以得到第二语料,并通过对第二语料进行训练得到第二语言模型,其中,目标文本是利用从第一语料中提取的关键词集合作为索引检索得到。
根据本发明实施例的另一方面,还提供了一种语言模型的确定装置,包括:第一获取模块,用于获取第一语料,其中,第二语料为在预设语境下选取的语言文本;训练模块,用于通过对第一语料进行训练得到第一语言模型;处理模块,用于采用第一语言模型对目标文本进行筛选以得到第二语料,并通过对第二语料进行训练得到第二语言模型,其中,目标文本是利用从第一语料中提取的关键词集合作为索引检索得到。
在本发明实施例中,采用通过在预设语境下选取的语言文本训练的第一语言模型,对利用关键词集合作为引索检索到的目标文本进行筛选得到第二语料,并对第二语料进行训练得到第二语言模型。由于第二语言模型为第一语言模型作为开发集筛选出的语言模型,并且第二语言模型与特定语境的相关性强,因此上述方案具有较强的领域性,并且由于目标文本为通过关键词利用预设搜索引擎检索到的,因此可以通过搜索引擎过滤掉反扒虫网站,以保证数据的纯净。
由此,上述实施例提出的方案解决了由于现有技术中语言模型仅通过堆砌语料的策略获取,导致语料的性能低下的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种语言模型的确定系统的示意图;
图2是根据本发明实施例的语言模型的确定方法的流程图;
图3是根据本发明实施例对一种可选的语言模型的确定方法的流程图;
图4是根据本发明实施例的一种语言模型的确定装置的示意图;以及
图5是根据本发明实施例的一种计算机终端的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
下面,为了方便对实施例的理解,对本申请实施例中出现的专业名词进行解释:
网页DUMP,网页DUMP是通过预设的网络操作插件,获得给定URL的网页内容,经过处理后可以获得网页文本数据;
语言模型:语言模型是根据语言客观事实而进行的语言抽象数字建模,是一种对应关系。
实施例1
本发明实施例提供了一种语言模型的确定系统。图1是根据本发明实施例的一种语言模型的确定系统的示意图。如图1所示,该语言模型的确定系统100包括:输入装置102、处理器104和输出装置106。
输入装置102,用于向处理器104输入第一语料,其中,第一语料为在预设语境下选取的语言文本。
语料作为待使用的语言模型的训练集语料,可以是日常生活中各个来源的语料,比如,信息标注中的语料、网页爬取中的语料、开源库中的语料、用户提供的某个领域的有效语料等,来源广泛,数据量大。该语料可以对应一定量的任务领域,其中。第一语料可以是在预设语境下,或指定语境下的语料。
在该实施例中,获取用于进行训练的语料,其中,获取在预设语境下选取的语言文本作为第一语料,在一种可选的实施例中,预设的语料池子中储备有10亿条语料,两个对象有1万条语料,如果以两个对象的对话内容为特定语境,则可以获取具有1万条语料的第一语料。
处理器104,与输入装置102相连接,用于通过对第一语料进行训练得到第一语言模型,以及通过对第一语料进行训练得到第一语言模型;采用第一语言模型对目标文本进行筛选以得到第二语料,并通过对第二语料进行训练得到第二语言模型,其中,目标文本是利用从第一语料中提取的关键词集合作为索引检索得到。
具体的,上述目标文本可以是网页文本,在一种可选的实施例中,可以在第一语料中提取关键词集合,并在预设的搜索引擎中对关键词集合进行检索,从而得到作为目标文本的网页文本。
在上述方案中,可以通过N-GRAM模型对第二语料进行训练,得到第二语言模型。
由于第一语言模型为对特定语境的语料进行训练得到的语言模型,因此上述方案采用第一语言模型对目标文本进行筛选得到的第二语料,也是与特定语境相关的语料,可以作为筛选语言模型。其中,上述目标文本为通过第一语料中提取的关键词集合作为索引,从网络中检索到的语料。在一种可选的实施例中,仍以两个对象的对话内容作为特定语境,获取第二语料的步骤可以是:首先获取第一语料,并提取第一语料的关键词,最后根据第一语料的关键词在网络中进行搜索,得到的检索结果即为第二语料。在上述方案中,可以通过N-GRAM模型对第二语料进行训练以得到第二语言模型。
输出装置106,与处理器104相连接,用于输出第二语言模型。
此处需要说明的是,本申请上述方案采用通过在预设语境下选取的语言文本训练的第一语言模型,对利用关键词集合作为引索检索到的目标文本进行筛选得到第二语料,并对第二语料进行训练得到第二语言模型。由于第二语言模型为第一语言模型作为开发集筛选出的语言模型,并且第二语言模型与特定语境的相关性强,因此上述方案具有较强的领域性,并且由于目标文本为通过关键词利用预设搜索引擎检索到的,因此可以通过搜索引擎过滤掉反扒虫网站,以保证数据的纯净。
由此,上述实施例提出的方案解决了由于现有技术中语言模型仅通过堆砌语料的策略获取,导致语料的性能低下的技术问题。
作为一种可选的实施例,上述输入装置102还用于向处理器104输入第三语料,其中,第三语料为随机采集的语言文本;处理器104还用于通过对第三语料进行训练得到第三语言模型;将第二语言模型和第三语言模型融合成待使用的语言模型;输出装置106还用于输出待使用的语言模型。
具体的,上述第三语料可以是在语料池子中随机采集的语料,在一种可选的实施例中,预设的语料池子中储备有10亿条语料,两个对象有1万条语料,如果以两个对象的对话内容为特定语境,则可以获取具有10亿条语料的第三语料和具有1万条语料的第一语料。
在上述方案中,可以通过N-GRAM模型对第三语料进行训练,并采用SRILM开源工具的ngram-count命令代为实现这一功能,得到第三语言模型。可以将第三语料对应的第三语料模型作为打底语料模型。
N-GRAM模型基于这样一种假设,第N个词出现至于前面N-1个词相关,而与其他任何词都不相关,整句的概率就是各个词出现概率的乘机。这些概率可以通过直接从语料中统计N个词同时出现的次数得到。例如:该模型假设对于任意单词W,其概率仅由其之前的N-1个词唯一确定,即P(W)=P(W|W1W2…WN-1),其中Wi为单词W之前第i个词。为此,在训练过程中,可以通过最大似然估计各个元组出现的概率P:统计每一个X元组(W1,W2,…WX)的在语料中出现的次数,其中X≤N,然后将各个计数除以对应元组的总和,即为P(WX|WX-1…W1)。
融合成待使用的语言模型可以为处理器对第二语言模型和第三语言模型进行模型差值,获取插值系数,根据插值系数将多个N-GRAM语言模型合成一个统一的语言模型,得到待使用的语言模型。该待使用的语言模型可以通过测试集测试该语言模型的性能。可选地,对插值系数进行估计,可以根据经验进行估计。
此处需要说明的是,由于第三语言模型为通过语料池中大量的第三语料获取的语言模型,第二语言模型为与特定语境相关的语言模型,将第三语言模型和第二语言模型结合后形成的待使用语言不仅能够满足语言模型对语料数量的需求,还能够满足某一特定领域对语言模型的需求,即语料的泛化需求;即该待使用的语言模型同时满足泛化能力和领域内需求。
此处还需要说明的是,如果直接使用第二语言模型作为待使用的语言模型,由于第二语言模型为第一语言模型作为开发集筛选出的语言模型,而开发集与用于测试语言模型的测试集往往不同,并且第二语言模型与特定语境的相关性太强,即领域性过强,会导致其泛化能力不足。为此,本申请上述方案通过将第三语言模型和第二语言模型进行融合,即使用全量语料训练一个较大的N-GRAM语言模型(即第三语言模型)作为打底模型,同时训练筛选数据对应的筛选模型(即第二语言模型)以满足领域内测试的需要,再将两者按照一定的权重进行按权平均,则能够得到最终的待使用的语言模型,待使用的语言模型即为同时满足泛化能力和领域内需求的语言模型。
作为一种可选的实施例,上述处理器104还用于从第一语言模型中提取关键词集合;对关键词集合中的部分或全部关键词进行随机组合,通过预设搜索引擎确定与目标文本对应的索引标识;根据索引标识获取目标文本。
作为一种可选的实施例,上述处理器104还用于统计第一语料中每个单词的第一出现概率,以及统计第一语料中每个单词在第三语料中的第二出现概率;通过计算每个单词的第一出现概率与每个单词的第二出现概率的对数概率差,得到与每个单词对应的估算结果;按照每个单词对应的估算结果由大到小进行排序,提取排列在前N位的多个单词组成关键词集合,其中,N为预设正整数。
作为一种可选的实施例,上述处理器104还用于确定目标文本中的语言分割单位;采用第一语言模型对目标文本中每个语言分割单位所包含的词序列分别进行混淆度计算,依次得到与每个语言分割单位对应的计算结果,其中,与每个语言分割单位对应的计算结果用于表明该语言分割单位所包含的词序列与第一语言模型之间的相似度;按照预设阈值对计算得到的与每个语言分割单位对应的计算结果进行筛选,得到第二语料。
作为一种可选的实施例,上述处理器104还用于计算每个语言分割单位所包含的词序列在目标文本中的出现概率;利用出现概率求取与每个语言分割单位所包含的词序列对应的交叉熵;将交叉熵设置为指数并且将预设数值设置为底数进行指数运算,得到与每个语言分割单位对应的计算结果。
作为一种可选的实施例,上述处理器104还用于依次求取每个语言分割单位所包含的每个词序列相对于前N-1个词序列的单词概率,其中,N的取值是根据第一语言模型预先确定的;通过对每个词序列对应的单词概率进行乘积运算得到出现概率。
作为一种可选的实施例,上述处理器104还用于利用最大似然估计算法计算每个词序列对应的单词概率。
作为一种可选的实施例,上述处理器104还用于确定步骤:确定多组权重值组合,其中,每组权重值组合包括:与第二语言模型对应的第一权重值以及与第三语言模型对应的第二权重值;计算步骤:利用当前选取的权重值组合对第二语言模型和第三语言模型进行加权平均计算,得到备选语言模型;处理步骤:采用备选语言模型对第一语料中每个语言分割单位所包含的词序列分别进行混淆度计算,得到与第一语料对应的混淆度评估结果;判断多组权重值组合中是否存在尚未选取的权重值组合,如果是,则返回计算步骤;如果否,则继续执行比较步骤;比较步骤:对每组权重值组合对应的混淆度评估结果进行综合比较,选取混淆度评估结果最低的备选语言模型作为待使用的语言模型。
实施例2
根据本发明实施例,提供了一种语言模型的确定方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图2是根据本发明实施例的语言模型的确定方法的流程图,如图2所示,该方法包括如下步骤:
步骤S21,获取第一语料,其中,第一语料为在预设语境下选取的语言文本。
在上述步骤中,语料作为待使用的语言模型的训练集语料,可以是日常生活中各个来源的语料,比如,信息标注中的语料、网页爬取中的语料、开源库中的语料、用户提供的某个领域的有效语料等,来源广泛,数据量大。该语料可以对应一定量的任务领域。上述第一语料可以是在预设语境下,或指定语境下的语料。
在该实施例中,获取用于进行训练的语料,其中,获取堆积采集的语言文本作为第三语料,并或在预设语境下选取的语言文本作为第一语料,在一种可选的实施例中,预设的语料池子中储备有10亿条语料,两个对象有1万条语料,如果以两个对象的对话内容为特定语境,则可以获取具有1万条语料的第一语料。
步骤S23,通过对第一语料进行训练得到第一语言模型。
在上述步骤中,可以通过N-GRAM模型对第一语料进行训练。
步骤S25,采用第一语言模型对目标文本进行筛选以得到第二语料,并通过对第二语料进行训练得到第二语言模型,其中,目标文本是利用从第一语料中提取的关键词集合作为索引检索得到。
具体的,上述目标文本可以是网页文本,在一种可选的实施例中,可以在第一语料中提取关键词集合,并在预设的搜索引擎中对关键词集合进行检索,从而得到作为目标文本的网页文本。
由于第一语言模型为对特定语境的语料进行训练得到的语言模型,因此上述采用第一语言模型对目标文本进行筛选得到的第二语料,也是与特定语境相关的语料,可以作为筛选语言模型。其中,上述目标文本为通过第一语料中提取的关键词作为索引,从网络中检索到的语料。在一种可选的实施例中,仍以两个对象的对话内容作为特定语境,获取第二语料的步骤可以是:首先获取第一语料,并提取第一语料的关键词,最后根据第一语料的关键词在网络中进行搜索,得到的检索结果即为第二语料。
在上述方案中,可以通过N-GRAM模型对第二语料进行训练以得到第二语言模型。
此处需要说明的是,本申请上述方案采用通过在预设语境下选取的语言文本训练的第一语言模型,对利用关键词集合作为引索检索到的目标文本进行筛选得到第二语料,并对第二语料进行训练得到第二语言模型。由于第二语言模型为第一语言模型作为开发集筛选出的语言模型,并且第二语言模型与特定语境的相关性强,因此上述方案具有较强的领域性,并且由于目标文本为通过关键词利用预设搜索引擎检索到的,因此可以通过搜索引擎过滤掉反扒虫网站,以保证数据的纯净。
由此,上述实施例提出的方案解决了由于现有技术中语言模型仅通过堆砌语料的策略获取,导致语料的性能低下的技术问题。
作为一种可选的实施例,在获取第一语料之后,还包括:
步骤S27,获取第三语料,其中,第三语料为随机采集的语言文本。
具体的,上述第三语料可以是在语料池子中随机采集的语料,在一种可选的实施例中,预设的语料池子中储备有10亿条语料,两个对象有1万条语料,如果以两个对象的对话内容为特定语境,则可以获取具有10亿条语料的第三语料和具有1万条语料的第一语料。
步骤S29,通过对第三语料进行训练得到第三语言模型。
在上述方案中,可以通过N-GRAM模型对第三语料进行训练,并采用SRILM开源工具的ngram-count命令代为实现这一功能,得到第三语言模型。可以将第三语料对应的第三语料模型作为打底语料模型。
N-GRAM模型基于这样一种假设,第N个词出现至于前面N-1个词相关,而与其他任何词都不相关,整句的概率就是各个词出现概率的乘机。这些概率可以通过直接从语料中统计N个词同时出现的次数得到。例如:该模型假设对于任意单词W,其概率仅由其之前的N-1个词唯一确定,即P(W)=P(W|W1W2…WN-1),其中Wi为单词W之前第i个词。为此,在训练过程中,可以通过最大似然估计各个元组出现的概率P:统计每一个X元组(W1,W2,…WX)的在语料中出现的次数,其中X≤N,然后将各个计数除以对应元组的总和,即为P(WX|WX-1…W1)。
步骤S311,将第二语言模型和第三语言模型融合成待使用的语言模型。
可选地,上述步骤可以为对第二语言模型和第三语言模型进行模型差值,获取插值系数,根据插值系数将多个N-GRAM语言模型合成一个统一的语言模型,得到待使用的语言模型。该待使用的语言模型可以通过测试集测试该语言模型的性能。可选地,对插值系数进行估计,可以根据经验进行估计。模型插值是对于多个N-GRAM语言模型,根据一定的插值系数,将其按权融合成一个统一的语言模型。插值后的模型可以按权兼顾两者,获得更加全面的建模能力。
此处需要说明的是,由于第三语言模型为通过语料池中大量的第三语料获取的语言模型,第二语言模型为与特定语境相关的语言模型,将第三语言模型和第二语言模型结合后形成的待使用语言不仅能够满足语言模型对语料数量的需求,还能够满足某一特定领域对语言模型的需求,即语料的泛化需求;即该待使用的语言模型同时满足泛化能力和领域内需求。
此处还需要说明的是,如果直接使用第二语言模型作为待使用的语言模型,由于第二语言模型为第一语言模型作为开发集筛选出的语言模型,而开发集与用于测试语言模型的测试集往往不同,并且第二语言模型与特定语境的相关性太强,即领域性过强,会导致其泛化能力不足。为此,本申请上述方案通过将第三语言模型和第二语言模型进行融合,即使用全量语料训练一个较大的N-GRAM语言模型(即第三语言模型)作为打底模型,同时训练筛选数据对应的筛选模型(即第二语言模型)以满足领域内测试的需要,再将两者按照一定的权重进行按权平均,则能够得到最终的待使用的语言模型,待使用的语言模型即为同时满足泛化能力和领域内需求的语言模型。
作为一种可选的实施例,在采用第一语言模型对目标文本进行筛选以得到第二语料之前,还包括:从第一语言模型中提取关键词集合;对关键词集合中的部分或全部关键词进行随机组合,通过预设搜索引擎确定与目标文本对应的索引标识;根据索引标识获取目标文本。
上述第一语言模型为以在预设语境下选取的语言文本为语料训练得到的模型,提取第一语言模型的关键词可以根据语料中每个词的词频来确定关键词。
在目标文本为网页文本的情况下,引索标识可以是网页文本的URL地址。为了增加对关键词进行检索的命中率,还可以对关键词进行随机组合,组合的方式可以是和、或等多种方式,通过预设搜索引擎对关键词进行检索,从而得到与关键词相关的网页文本的引索标识,再通过网页dump根据网页文本对应的索引标识返回网页文本数据。
在一种可选的实施例中,可以通过网络爬虫软件对在网页中对关键词进行爬取,可以设置爬取的层数,例如,设置爬去层数为五层,那么在通过搜索引擎搜索关键词时,网络爬虫软件在网络中进行第一层爬取,找到与关键词相关的网页文本,然后在第一层爬取得到的网页中进行第二层爬取,直至完成五层爬取,并返回每一层爬取到的网页文本。
作为一种可选的实施例,从第一语言模型中提取关键词集合包括:统计第一语料中每个单词的第一出现概率,以及统计第一语料中每个单词在第三语料中的第二出现概率;通过计算每个单词的第一出现概率与每个单词的第二出现概率的对数概率差,得到与每个单词对应的估算结果;按照每个单词对应的估算结果由大到小进行排序,提取排列在前N位的多个单词组成关键词集合,其中,N为预设正整数。
可以将第一语料中每个单词的第一出现概率作为第一词频,第一语料中每个单词在第三语料中的第二出现概率作为第二词频。在一种可选的实施例中,仍以两个对象的对话内容作为特定语境,第一语料即为两个对象的对话内容,那么可以获取两个人对话内容中每个词字在对话内容中出现的概率,作为第一词频,获取两个人对话内容中每个词在语料池子中出现的概率,作为第二词频;按照每个单词对应的估算结果由大到小进行排序,提取排列在前N位的多个单词组成关键词集合,其中,N为预设正整数。
由于每个词出现的概率的差别可能非常大,在实际计算过程中较小的概率可能被忽略,因此采用对数概率差的方法来确定每个单词对应的结果。即将第一词频和第二词频分别取对数之后再做差,取对数之后能够消除数据在数量级上的差别,但不会影响数据的大小关系,上述方案不仅保留了每个词的词频,而且不影响每个词的估算结果。
此处需要说明的是,如果一个词是语料中的关键词,那么该词在语料中出现的概率应该高于其他词汇,但由于存在类似于“的”、“通过”、“以及”等通用的,在多个语料中出现概率都很高,但又不能作为关键词的词汇,仅通过单词在第一语料中出现的概率来筛选关键词的准确度是远远不足的。为了筛选出第一语料的关键词,上述方案采用了以第一词频和第二词频的对数概率差作为估算结果,也即将单词在第一语料中出现的频率与单词在第三语料中出现的频率分别计算对数后做差,由于第三语料为语料池,因此如果某个单词的对数概率差较大,则说明该单词在第一语料中出现的概率概高于在其他语料中出现的概率,以你可以作为关键词。
由此,上述方案还解决了现有技术中,人为的筛选关键词导致效率低且准确率低的技术问题。
在一种可选的实施例中,可以假设每个单词在文本中都是一次采样,而每个样本在这个段文本中按照某一个固定先验概率P(W)独立生成,则我们可以根据词频对采样概率进行估计其中Ci为第i个词在该段文本中的词频,C为该段文本的总词频。
以能表征一段语料中关键词的先验概率,远高于其出现在其它文本中的概率为基础,因此可以通过单词在该文本中的概率是否远大于在其他文本中出现的概率来确定单词是否为关键词。其中,上述其他文本可以用通用语料代替,即第三语料,因此该词在其它文本中的概率,可以用通用语言模型的一元概率进行估计。
由于实际操作中概率的取值范围横跨多个数量级,除存储、计算较为复杂之外,大数吃小数的计算问题也会影响计算结果。因此本实施例采用对数概率的方式,通过对数化操作限制数值范围,通过概率差值反应该文本中词频比其它地方概率差异的评价指标。除此之外,我们还通过词频数作为评价指标。如果一次词的先验概率很低,那它在一段较短的文本中出现一次可能就是个很大的对数概率差了。但如果只出现过一次,则不认为该词为关键词,由此可以过滤掉更多的无效关键词,使得之后的搜索具有更高的命中率。
作为一种可选的实施例,采用第一语言模型对目标文本进行筛选以得到第二语料包括:确定目标文本中的语言分割单位;采用第一语言模型对目标文本中每个语言分割单位所包含的词序列分别进行混淆度计算,依次得到与每个语言分割单位对应的计算结果,其中,与每个语言分割单位对应的计算结果用于表明该语言分割单位所包含的词序列与第一语言模型之间的相似度;按照预设阈值对计算得到的与每个语言分割单位对应的计算结果进行筛选,得到第二语料。
在上述步骤中,上述混淆度(PPL)可以用于描述一段文本(或一个词、一句话)与N-GRAM语言模型的相似程度;网页文本的语言分割单位可以是对网页文本的内容进行分割,得到的段落或句子,语言分割单位中包含词序列,采用第一语言模型对网页文本中每个语言分割单位所包含的词序列分别进行混淆度计算,从而得到每个语言分割单位对应的计算结果,该计算结果用于表示语言分割单位与第一语言模型之间的相似度。其中,如果计算得到的语言分割单位的混淆度越高,认为该语言分割单元与第一语言模型的相似度越低,如果语言分割单位的混淆度越低,认为该语言分割单元与第一语言模型的相似度越高。
在得到每个语言分割单位与第一语言模型的混淆度之后,可以通过设置混淆度阈值来进行筛选,如果混淆度低于预设的混淆度阈值,则为第二语料。
在一种可选的实施例中,仍以目标文本为网页文本为例,由于通过第一语料的关键词获取的网页文本质量参差不齐,甚至包括一些无效信息,例如:广告、反扒虫内容、随机文本组合等信息,无效的信息不仅对训练模型没有益处,还是增加计算的复杂程度,因此上述方案通过数据筛选的手段过滤掉无效信息。具体的筛选过程可以如上述方案所示:首先通过开发集语料(第一语料)训练一个语言模型(第二语言模型);然后通过开发集语言模型(第一语言模型)对网络文本计算混淆度(PPL),即进行打分;最后设置一个阈值(比如1000),仅保留PPL低于这个阈值的语句。由于相关性越高,其对应的PPL也就越低,这样相关的语料就被保留下来,而不相关的语料则被丢弃。
上述方案通过计算目标文本中语言分割单位与第一语言模型的混淆度来确定每个语言分割单位与第一语言模型的相似度,并通过设置混淆度阈值来提取与第一语言模型相似度较高的语言分割单位,从而从目标文本中滤除无效信息。
作为一种可选的实施例,采用第一语言模型对目标文本中每个语言分割单位所包含的词序列分别进行混淆度计算,依次得到与每个语言分割单位对应的计算结果包括:计算每个语言分割单位所包含的词序列在目标文本中的出现概率;利用出现概率求取与每个语言分割单位所包含的词序列对应的交叉熵;将交叉熵设置为指数并且将预设数值设置为底数进行指数运算,得到与每个语言分割单位对应的计算结果。
在一种可选的实施例中,对于一段包含词序列W1,W2,…WN的内容,可以定义该词序列的交叉熵为此时2H即为该序列的PPL。这个值越低,表明该句话越符合该模型的分布,即与模型越相似,这个值越高,则表明与模型店相似度越低。
可选地,与N-GRAM相关的开源工具很多,该实施例可以利用支持N-GRAM模型的开源工具实现确定第三语料中的语言分割单位,采用第一语言模型对第三语料中每个语言分割单位所包含的词序列分别进行混淆度计算,依次得到与每个语言分割单位对应的计算结果,该开源工具可以为SRILM开源工具,通过SRILM开源工具中的ngram命令可以实现上述功能,仅做少许脚本级的操作,就可以完成整个筛选过程,非常便于工程实现以及各种系统的集成。
作为一种可选的实施例,计算每个语言分割单位所包含的词序列在目标文本中的出现概率包括:依次求取每个语言分割单位所包含的每个词序列相对于前N-1个词序列的单词概率,其中,N的取值是根据第一语言模型预先确定的;通过对每个词序列对应的单词概率进行乘积运算得到出现概率。
上述步骤通过预先设置的参数N来计算得到词序列对应的单词概率,再将每个语言分割单元中词序列对应的单词概率相乘,从而得到词序列在目标文本中的出现概率。每个语言分割单位所包含的每个词序列相对于前N-1个词序列的单词概率可以通过条件概率公式P(W)=P(W|W1W2…WN-1)获取,其中Wi为单词W之前第i个词。
作为一种可选的实施例,利用最大似然估计算法计算每个词序列对应的单词概率。
在上述步骤中,可以通过最大似然估计每个词序列出现的概率,例如:统计每一个X元组(W1,W2,…WX)的在语料中出现的次数,其中X≤N,然后将各个计数除以对应元组的总和,即为P(WX|WX-1…W1)。在一种可选的实施例中,元组的数量是假设的上限,比如,在“我想申请专利”中,“专利”的概率应该是“我想申请专利”这个组合出现的概率,或者由P(“专利”的出现次数|“我”“想”“申请”的出现次数)得到,如果只考虑前2个词的影响,于是“专利”出现的概率就为P(“专利”的出现次数|“我”“想”的出现次数)。
作为一种可选的实施例,将第三语言模型和第二语言模型融合成待使用的语言模型包括:确定步骤:确定多组权重值组合,其中,每组权重值组合包括:与第三语言模型对应的第一权重值以及与第二语言模型对应的第二权重值;计算步骤:利用当前选取的权重值组合对第三语言模型和第二语言模型进行加权平均计算,得到备选语言模型;处理步骤:采用备选语言模型对第一语料中每个语言分割单位所包含的词序列分别进行混淆度计算,得到与第一语料对应的混淆度评估结果;判断多组权重值组合中是否存在尚未选取的权重值组合,如果是,则返回计算步骤;如果否,则继续执行比较步骤;比较步骤:对每组权重值组合对应的混淆度评估结果进行综合比较,选取混淆度评估结果最低的备选语言模型作为待使用的语言模型。
上述步骤首先设置多组权重值,每组权重值抖包括与第三语言模型对应的第一权重值以及与第二语言模型对应的第二权重值;分别采用多组权重值对第三语言模型和第二语言模型进行加权平均计算,得到多个备选语言模型,再通过计算每个备选语言模型与第一语言模型中每个语言分割单元中的词序列的混淆度,来确定每个备选语言模型与第一语料的相似度;根据计算得到的混淆度筛选出与第一语言模型中的每个语言分割单元所包括的词序列相似度最高的备选模型,该备选模型即为第三语言模型和第一语言模型融合得到的待使用语言模型。
需要说明的是,上述综合比较的方法可以是求备选语言模型与第一语言模型中每个语言分割单元所包括的词序列的混淆度的平均值、也可以给每个词序列设置权重值,可以对包括关键词的词序列设置较高的权重值,然后在求每个混淆度的加权平均值,对求平均值或加权平均值得到的混淆度进行比较。
在一种可选的实施例中,以第三语言模型为M1,第二语言模型为M3为例,确定五组权重值以(QM1,QM2)进行表示,包括(1,9)、(2,8)、(3,7)、(4,6)、(1,9),根据五组权重值得到五个备选语言模型,然后计算五个备选语言模型相对于第一语言模型中每个语言分割单元所包括的词序列的混淆度,选择混淆度最低的备选语言模型作为待使用的语言模型。
此处需要说明的是,由于第一语言模型为对特定语境的语料进行训练得到的语言模型,因此上述采用第一语言模型对目标文本进行筛选得到的第二语料也是与特定语境相关的语料,可以作为筛选语言模型。其中,上述目标文本为通过第一语料中提取的关键词作为索引,从网络中检索到的语料。在一种可选的实施例中,仍以两个对象的对话内容作为特定语境,获取目标文本的步骤可以是:首先获取第一语料,并提取第一语料的关键词,最后根据第一语料的关键词在网络中进行搜索,得到的检索结果即为目标文本。
图3是根据本发明实施例对一种可选的语言模型的确定方法的流程图,下面结合图3所示的示例,对上述语言模型当确定方法进行进一步的详细描述。
步骤S301,获取开发集语料,并得到开发集语言模型。
具体的,上述开发集语料相当于上述第一语料,可以为预设语境下选取的语言文本。在上述步骤中,可以通过N-GRAM模型对开发集语料进行训练,并采用SRILM开源工具的ngram-count命令代为实现这一功能,得到开发集语言模型。
步骤S302,获取开发集语言模型中的关键字。
具体的,在上述步骤中,获取开发集语料中的关键字的步骤可以包括:从第开发集语言模型中提取关键词集合,对关键词集合中的部分或全部关键词进行随机组合,通过预设搜索引擎确定与网页文本对应的索引标识,并根据索引标识获取网页文本。其中,从开发集语言模型中提取关键词集合包括:统计开发集语言语料中每个单词的第一出现概率,以及统计开发集语料中每个单词在池子中的第二出现概率;通过计算每个单词的第一出现概率与每个单词的第二出现概率的对数概率差,得到与每个单词对应的估算结果;按照每个单词对应的估算结果由大到小进行排序,提取排列在前N位的多个单词组成关键词集合,其中,N为预设正整数。其中,池子为预料池,用于存放随机采集的语言文本。
由于每个词出现的概率的差别可能非常大,在实际计算过程中较小的概率可能被忽略,因此采用对数概率差的方法来确定每个单词对应的结果。即将第一词频和第二词频分别取对数之后再做差,取对数之后能够消除数据在数量级上的差别,但不会影响数据的大小关系,上述方案不仅保留了每个词的词频,而且不影响每个词的估算结果。
此处需要说明的是,如果一个词是语料中的关键词,那么该词在语料中出现的概率应该高于其他词汇,但由于存在类似于“的”、“通过”、“以及”等通用的,在多个语料中出现概率都很高,但又不能作为关键词的词汇,仅通过单词在第一语料中出现的概率来筛选关键词的准确度是远远不足的。为了筛选出第一语料的关键词,上述方案采用了以第一词频和第二词频的对数概率差作为估算结果,也即将单词在第一语料中出现的频率与单词在第三语料中出现的频率分别计算对数后做差,由于第三语料为语料池,因此如果某个单词的对数概率差较大,则说明该单词在第一语料中出现的概率概高于在其他语料中出现的概率,以你可以作为关键词。
步骤S303,通过预设搜索引擎搜索关键字,得到对应的URL。
步骤S304,通过网页dump根据URL获取网页文本。
为了增加对关键词进行检索的命中率,还可以对关键词进行随机组合,组合的方式可以是和、或等多种方式,通过预设搜索引擎对关键词进行检索,从而得到与关键词相关的网页文本的引索标识,再通过网页dump根据网页文本对应的索引标识返回网页文本数据。
步骤S305,通过开发集语料从网页文本中筛选得到筛选文本。
在上述步骤中,上述筛选文本即为第二语料。
通过开发集语料从网页文本中筛选得到筛选文本可以包括如下步骤:确定网页文本中的语言分割单位;采用开发集语言模型对网页文本中每个语言分割单位所包含的词序列分别进行混淆度计算,依次得到与每个语言分割单位对应的计算结果,其中,与每个语言分割单位对应的计算结果用于表明该语言分割单位所包含的词序列与开发集语言模型之间的相似度;按照预设阈值对计算得到的与每个语言分割单位对应的计算结果进行筛选,得到筛选文本。
在上述步骤中,上述混淆度(PPL)可以用于描述一段文本(或一个词、一句话)与N-GRAM语言模型的相似程度;网页文本的语言分割单位可以是对网页文本的内容进行分割,得到的段落或句子,语言分割单位中包含词序列,采用第一语言模型对网页文本中每个语言分割单位所包含的词序列分别进行混淆度计算,从而得到每个语言分割单位对应的计算结果,该计算结果用于表示语言分割单位与第一语言模型之间的相似度。其中,如果计算得到的语言分割单位的混淆度越高,认为该语言分割单元与第一语言模型的相似度越低,如果语言分割单位的混淆度越低,认为该语言分割单元与第一语言模型的相似度越高。
在得到每个语言分割单位与第一语言模型的混淆度之后,可以通过设置混淆度阈值来进行筛选,如果混淆度低于预设的混淆度阈值,则为第二语料。
在一种可选的实施例中,由于通过第一语料的关键词获取的网页文本质量参差不齐,甚至包括一些无效信息,例如:广告、反扒虫内容、随机文本组合等信息,无效的信息不仅对训练模型没有益处,还是增加计算的复杂程度,因此上述方案通过数据筛选的手段过滤掉无效信息。具体的筛选过程可以如上述方案所示:首先通过开发集语料(第一语料)训练一个语言模型(第二语言模型);然后通过开发集语言模型(第一语言模型)对网络文本计算混淆度(PPL),即进行打分;最后设置一个阈值(比如1000),仅保留PPL低于这个阈值的语句。由于相关性越高,其对应的PPL也就越低,这样相关的语料就被保留下来,而不相关的语料则被丢弃。
仍在上述实施例中,关于混淆度的计算可以采用如下方法:对于一段包含词序列W1,W2,…WN的内容,可以定义该词序列的交叉熵为此时2H即为该序列的PPL。这个值越低,表明该句话越符合该模型的分布,即与模型越相似,这个值越高,则表明与模型店相似度越低。
步骤S306,对筛选文本进行模型训练,得到关键词语言模型。
在上述步骤中,可以通过N-GRAM模型对筛选文本进行训练,从而得到关键词语言模型。
步骤S307,获取打底语言模型。
在上述步骤中,可以现获取打底语料,即随机从语料池中获取的语料,通过N-GRAM模型对打底语料进行训练,从而得到打底语言模型。
步骤S308,对打底语言模型和关键词语言模型进行模型差值,得到最终语言模型。
将打底语言模型和关键词语言模型融合成待使用的语言模型包括:确定步骤:确定多组权重值组合,其中,每组权重值组合包括:与打底语言模型对应的第一权重值以及与关键词语言模型对应的第二权重值;计算步骤:利用当前选取的权重值组合对打底语言模型和关键词语言模型进行加权平均计算,得到备选语言模型;处理步骤:采用备选语言模型对开发集语料中每个语言分割单位所包含的词序列分别进行混淆度计算,得到与开发集语料对应的混淆度评估结果;判断多组权重值组合中是否存在尚未选取的权重值组合,如果是,则返回计算步骤;如果否,则继续执行比较步骤;比较步骤:对每组权重值组合对应的混淆度评估结果进行综合比较,选取混淆度评估结果最低的备选语言模型作为待使用的语言模型。
上述步骤首先设置多组权重值,每组权重值都包括与打底语言模型对应的第一权重值以及与关键词语言模型对应的第二权重值;分别采用多组权重值对打底语言模型和关键词语言模型进行加权平均计算,得到多个备选语言模型,再通过计算每个备选语言模型与开发集语言模型中每个语言分割单元中的词序列的混淆度,来确定每个关键词语言模型与第一语料的相似度;根据计算得到的混淆度筛选出与第一语言模型中的每个语言分割单元所包括的词序列相似度最高的备选模型,该备选模型即为打底语言模型和开发集语言模型融合得到的待使用语言模型。
由于开发集语言模型为对特定语境的语料进行训练得到的语言模型,因此上述采用开发集语言模型对网页文本进行筛选得到的语料,也是与特定语境相关的语料,可以作为筛选语言模型。其中,上述网页文本为通过开发集语料中提取的关键词作为索引,从网络中检索到的语料。
实施例3
根据本发明实施例,还提供了一种用于实施上述语言模型的确定方法的语言模型的确定装置。图4是根据本发明实施例的一种语言模型的确定装置的示意图。如图4所示,该语言模型的确定装置400包括:第一获取模块402、第一训练模块404和处理模块406,其中。
第一获取模块402,用于获取第一语料,其中,第二语料为在预设语境下选取的语言文本。
第一训练模块404,用于通过对第一语料进行训练得到第一语言模型。
处理模块406,用于采用第一语言模型对目标文本进行筛选以得到第二语料,并通过对第二语料进行训练得到第二语言模型,其中,目标文本是利用从第一语料中提取的关键词集合作为索引检索得到。
作为一种可选的实施例,上述装置还包括:第二获取模块408,用于获取第一语料之后,获取第三语料,其中,第三语料为随机采集的语言文本;第二训练模块410,用于通过对第三语料进行训练得到第三语言模型;融合模块412,用于将第一语言模型和第三语言模型融合成待使用的语言模型。
作为一种可选的实施例,上述装置还包括:提取模块414,用于从第一语言模型中提取关键词集合;搜索模块416,用于对关键词集合中的部分或全部关键词进行随机组合,通过预设搜索引擎确定与目标文本对应的索引标识;第三获取模块418,用于根据索引标识获取目标文本。
作为一种可选的实施例,上述提取模块414包括:统计单元420,用于统计第一语料中每个单词的第一出现概率,以及统计第一语料中每个单词在第三语料中的第二出现概率;估算单元422,用于通过计算每个单词的第一出现概率与每个单词的第二出现概率的对数概率差,得到与每个单词对应的估算结果;提取单元424,用于按照每个单词对应的估算结果由大到小进行排序,提取排列在前N位的多个单词组成关键词集合,其中,N为预设正整数。
作为一种可选的实施例,上述处理模块406包括:第一确定单元426,用于确定目标文本中的语言分割单位;第一计算单元428,用于采用第一语言模型对目标文本中每个语言分割单位所包含的词序列分别进行混淆度计算,依次得到与每个语言分割单位对应的计算结果,其中,与每个语言分割单位对应的计算结果用于表明该语言分割单位所包含的词序列与第一语言模型之间的相似度;筛选单元430,用于按照预设阈值对计算得到的与每个语言分割单位对应的计算结果进行筛选,得到第二语料。
作为一种可选的实施例,上述第一计算单元428包括:第一计算子单元432,用于计算每个语言分割单位所包含的词序列在目标文本中的出现概率;第二计算子单元434,用于利用出现概率求取与每个语言分割单位所包含的词序列对应的交叉熵;第三计算子单元436,用于将交叉熵设置为指数并且将预设数值设置为底数进行指数运算,得到与每个语言分割单位对应的计算结果。
作为一种可选的实施例,上述第一计算子单元432用于依次求取每个语言分割单位所包含的每个词序列相当于前N-1个词序列的单词概率,并通过对每个词序列对应的单词概率进行乘积运算得到出现概率,其中,N的取值是根据第一语言模型预先确定的。
作为一种可选的实施例,上述第一计算子单元432用于利用最大似然估计算法计算每个词序列对应的单词概率。
作为一种可选的实施例,上述融合模块412包括:第二确定单元434,用于确定多组权重值组合,其中,每组权重值组合包括:与第二语言模型对应的第一权重值以及与第三语言模型对应的第二权重值;第二计算单元436,用于利用当前选取的权重值组合对第二语言模型和第三语言模型进行加权平均计算,得到备选语言模型;处理单元438,用于采用备选语言模型对第一语料中每个语言分割单位所包含的词序列分别进行混淆度计算,得到与第一语料对应的混淆度评估结果;判断多组权重值组合中是否存在尚未选取的权重值组合,如果是,则返回第二计算单元;如果否,则继续执行比较单元;比较单元440,用于对每组权重值组合对应的混淆度评估结果进行综合比较,选取混淆度评估结果最低的备选语言模型作为待使用的语言模型。
需要说明的是,本实施例中的优选实施方式可以参见实施例1和2中的相关描述,此处不再赘述。
实施例5
本发明的实施例可以提供一种终端,该终端可以是终端群中的任意一个终端设备。可选地,在本实施例中,上述终端也可以替换为移动终端等终端设备。
可选地,在本实施例中,上述终端可以位于计算机网络的多个网络设备中的至少一个网络设备。
在本实施例中,上述终端可以执行语言模型的确定方法中以下步骤的程序代码:获取第一语料,其中,第一语料为在预设语境下选取的语言文本;通过对第一语料进行训练得到第一语言模型;采用第一语言模型对目标文本进行筛选以得到第二语料,并通过对第二语料进行训练得到第二语言模型,其中,目标文本是利用从第一语料中提取的关键词集合作为索引检索得到。
可选地,图5是根据本发明实施例的一种计算机终端的结构框图。如图5所示,该计算机终端A可以包括:一个或多个(图中仅示出一个)处理器502、存储器504、以及传输模块506。
其中,存储器可用于存储软件程序以及模块,如本发明实施例中的语言模型的确定方法和装置对应的程序指令/模块,处理器通过运行存储在存储器内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的语言模型的确定方法。存储器可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端A。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
处理器可以通过传输模块调用存储器存储的信息及应用程序,以执行下述步骤:获取第一语料,其中,第一语料为在预设语境下选取的语言文本;通过对第一语料进行训练得到第一语言模型;采用第一语言模型对目标文本进行筛选以得到第二语料,并通过对第二语料进行训练得到第二语言模型,其中,目标文本是利用从第一语料中提取的关键词集合作为索引检索得到。
可选地,上述处理器还可以执行如下步骤的程序代码:获取第三语料,其中,第三语料为随机采集的语言文本;通过对第三语料进行训练得到第三语言模型;将第二语言模型和第三语言模型融合成待使用的语言模型。
可选地,上述处理器还可以执行如下步骤的程序代码:从第一语言模型中提取关键词集合;对关键词集合中的部分或全部关键词进行随机组合,通过预设搜索引擎确定与目标文本对应的索引标识;根据索引标识获取目标文本。
可选地,上述处理器还可以执行如下步骤的程序代码:统计第一语料中每个单词的第一出现概率,以及统计第一语料中每个单词在第三语料中的第二出现概率;通过计算每个单词的第一出现概率与每个单词的第二出现概率的对数概率差,得到与每个单词对应的估算结果;按照每个单词对应的估算结果由大到小进行排序,提取排列在前N位的多个单词组成关键词集合,其中,N为预设正整数。
可选地,上述处理器还可以执行如下步骤的程序代码:确定目标文本中的语言分割单位;采用第一语言模型对目标文本中每个语言分割单位所包含的词序列分别进行混淆度计算,依次得到与每个语言分割单位对应的计算结果,其中,与每个语言分割单位对应的计算结果用于表明该语言分割单位所包含的词序列与第一语言模型之间的相似度;按照预设阈值对计算得到的与每个语言分割单位对应的计算结果进行筛选,得到第二语料。
可选地,上述处理器还可以执行如下步骤的程序代码:计算每个语言分割单位所包含的词序列在目标文本中的出现概率;利用出现概率求取与每个语言分割单位所包含的词序列对应的交叉熵;将交叉熵设置为指数并且将预设数值设置为底数进行指数运算,得到与每个语言分割单位对应的计算结果。
可选地,上述处理器还可以执行如下步骤的程序代码:依次求取每个语言分割单位所包含的每个词序列相对于前N-1个词序列的单词概率,其中,N的取值是根据第一语言模型预先确定的;通过对每个词序列对应的单词概率进行乘积运算得到出现概率。
可选地,上述处理器还可以执行如下步骤的程序代码:利用最大似然估计算法计算每个词序列对应的单词概率。
可选地,上述处理器还可以执行如下步骤的程序代码:确定步骤:确定多组权重值组合,其中,每组权重值组合包括:与第二语言模型对应的第一权重值以及与第三语言模型对应的第二权重值;计算步骤:利用当前选取的权重值组合对第二语言模型和第三语言模型进行加权平均计算,得到备选语言模型;处理步骤:采用备选语言模型对第一语料中每个语言分割单位所包含的词序列分别进行混淆度计算,得到与第一语料对应的混淆度评估结果;判断多组权重值组合中是否存在尚未选取的权重值组合,如果是,则返回计算步骤;如果否,则继续执行比较步骤;比较步骤:对每组权重值组合对应的混淆度评估结果进行综合比较,选取混淆度评估结果最低的备选语言模型作为待使用的语言模型。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (16)
1.一种语言模型的确定方法,其特征在于,包括:
获取第一语料,其中,所述第一语料为在预设语境下选取的语言文本;
通过对所述第一语料进行训练得到第一语言模型;
采用所述第一语言模型对目标文本进行筛选以得到第二语料,并通过对所述第二语料进行训练得到第二语言模型,其中,所述目标文本是利用从所述第一语料中提取的关键词集合作为索引检索得到;
其中,采用所述第一语言模型对所述目标文本进行筛选以得到所述第二语料包括:确定所述目标文本中的语言分割单位;采用所述第一语言模型对所述目标文本中每个语言分割单位所包含的词序列分别进行混淆度计算,依次得到与每个语言分割单位对应的计算结果,其中,与每个语言分割单位对应的计算结果用于表明该语言分割单位所包含的词序列与所述第一语言模型之间的相似度;按照预设阈值对计算得到的与每个语言分割单位对应的计算结果进行筛选,得到所述第二语料。
2.根据权利要求1所述的方法,其特征在于,在获取所述第一语料之后,还包括:
获取第三语料,其中,所述第三语料为随机采集的语言文本;
通过对所述第三语料进行训练得到第三语言模型;
将所述第二语言模型和所述第三语言模型融合成待使用的语言模型。
3.根据权利要求2所述的方法,其特征在于,在采用所述第一语言模型对所述目标文本进行筛选以得到所述第二语料之前,还包括:
从所述第一语言模型中提取所述关键词集合;
对所述关键词集合中的部分或全部关键词进行随机组合,通过预设搜索引擎确定与所述目标文本对应的索引标识;
根据所述索引标识获取所述目标文本。
4.根据权利要求3所述的方法,其特征在于,从所述第一语言模型中提取所述关键词集合包括:
统计所述第一语料中每个单词的第一出现概率,以及统计所述第一语料中每个单词在所述第三语料中的第二出现概率;
对每个单词的第一出现概率与每个单词的第二出现概率分别计算对数后做差,得到与每个单词对应的估算结果;
按照每个单词对应的估算结果由大到小进行排序,提取排列在前N位的多个单词组成所述关键词集合,其中,N为预设正整数。
5.根据权利要求1所述的方法,其特征在于,采用所述第一语言模型对所述目标文本中每个语言分割单位所包含的词序列分别进行混淆度计算,依次得到与每个语言分割单位对应的计算结果包括:
计算每个语言分割单位所包含的词序列在所述目标文本中的出现概率;
利用所述出现概率求取与每个语言分割单位所包含的词序列对应的交叉熵;
将所述交叉熵设置为指数并且将预设数值设置为底数进行指数运算,得到与每个语言分割单位对应的计算结果。
6.根据权利要求5所述的方法,其特征在于,计算每个语言分割单位所包含的词序列在所述目标文本中的出现概率包括:
依次求取每个语言分割单位所包含的每个词序列相对于前N-1个词序列的单词概率,其中,所述N的取值是根据所述第一语言模型预先确定的;
通过对每个词序列对应的单词概率进行乘积运算得到所述出现概率。
7.根据权利要求6所述的方法,其特征在于,利用最大似然估计算法计算每个词序列对应的单词概率。
8.根据权利要求2所述的方法,其特征在于,将所述第二语言模型和所述第三语言模型融合成所述待使用的语言模型包括:
确定步骤:确定多组权重值组合,其中,每组权重值组合包括:与所述第二语言模型对应的第一权重值以及与所述第三语言模型对应的第二权重值;
计算步骤:利用当前选取的权重值组合对所述第二语言模型和所述第三语言模型进行加权平均计算,得到备选语言模型;
处理步骤:采用所述备选语言模型对所述第一语料中每个语言分割单位所包含的词序列分别进行混淆度计算,得到与所述第一语料对应的混淆度评估结果;判断所述多组权重值组合中是否存在尚未选取的权重值组合,如果是,则返回所述计算步骤;如果否,则继续执行比较步骤;
所述比较步骤:对每组权重值组合对应的混淆度评估结果进行综合比较,选取混淆度评估结果最低的备选语言模型作为所述待使用的语言模型。
9.一种语言模型的确定装置,其特征在于,包括:
第一获取模块,用于获取第一语料,其中,所述第一语料为在预设语境下选取的语言文本;
第一训练模块,用于通过对所述第一语料进行训练得到第一语言模型;
处理模块,用于采用所述第一语言模型对目标文本进行筛选以得到第二语料,并通过对所述第二语料进行训练得到第二语言模型,其中,所述目标文本是利用从所述第一语料中提取的关键词集合作为索引检索得到;
其中,所述处理模块包括:第一确定单元,用于确定所述目标文本中的语言分割单位;第一计算单元,用于采用所述第一语言模型对所述目标文本中每个语言分割单位所包含的词序列分别进行混淆度计算,依次得到与每个语言分割单位对应的计算结果,其中,与每个语言分割单位对应的计算结果用于表明该语言分割单位所包含的词序列与所述第一语言模型之间的相似度;筛选单元,用于按照预设阈值对计算得到的与每个语言分割单位对应的计算结果进行筛选,得到所述第二语料。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括:
第二获取模块,用于获取所述第一语料之后,获取第三语料,其中,所述第三语料为随机采集的语言文本;
第二训练模块,用于通过对所述第三语料进行训练得到第三语言模型;
融合模块,用于将所述第二语言模型和所述第三语言模型融合成待使用的语言模型。
11.根据权利要求10所述的装置,其特征在于,所述装置还包括:
提取模块,用于从所述第一语言模型中提取所述关键词集合;
搜索模块,用于对所述关键词集合中的部分或全部关键词进行随机组合,通过预设搜索引擎确定与所述目标文本对应的索引标识;
第三获取模块,用于根据所述索引标识获取所述目标文本。
12.根据权利要求11所述的装置,其特征在于,所述提取模块包括:
统计单元,用于统计所述第一语料中每个单词的第一出现概率,以及统计所述第一语料中每个单词在所述第三语料中的第二出现概率;
估算单元,用于对每个单词的第一出现概率与每个单词的第二出现概率分别计算对数后做差,得到与每个单词对应的估算结果;
提取单元,用于按照每个单词对应的估算结果由大到小进行排序,提取排列在前N位的多个单词组成所述关键词集合,其中,N为预设正整数。
13.根据权利要求9所述的装置,其特征在于,所述第一计算单元包括:
第一计算子单元,用于计算每个语言分割单位所包含的词序列在所述目标文本中的出现概率;
第二计算子单元,用于利用所述出现概率求取与每个语言分割单位所包含的词序列对应的交叉熵;
第三计算子单元,用于将所述交叉熵设置为指数并且将预设数值设置为底数进行指数运算,得到与每个语言分割单位对应的计算结果。
14.根据权利要求13所述的装置,其特征在于,所述第一计算子单元,用于依次求取每个语言分割单位所包含的每个词序列相对于前N-1个词序列的单词概率,并通过对每个词序列对应的单词概率进行乘积运算得到所述出现概率,其中,所述N的取值是根据所述第一语言模型预先确定的。
15.根据权利要求14所述的装置,其特征在于,所述第一计算子单元,用于利用最大似然估计算法计算每个词序列对应的单词概率。
16.根据权利要求10所述的装置,其特征在于,所述融合模块包括:
第二确定单元,用于确定多组权重值组合,其中,每组权重值组合包括:与所述第二语言模型对应的第一权重值以及与所述第三语言模型对应的第二权重值;
第二计算单元,用于利用当前选取的权重值组合对所述第二语言模型和所述第三语言模型进行加权平均计算,得到备选语言模型;
处理单元,用于采用所述备选语言模型对所述第一语料中每个语言分割单位所包含的词序列分别进行混淆度计算,得到与所述第一语料对应的混淆度评估结果;判断所述多组权重值组合中是否存在尚未选取的权重值组合,如果是,则返回所述第二计算单元;如果否,则继续执行比较单元;
所述比较单元,用于对每组权重值组合对应的混淆度评估结果进行综合比较,选取混淆度评估结果最低的备选语言模型作为所述待使用的语言模型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710685946.XA CN109388743B (zh) | 2017-08-11 | 2017-08-11 | 语言模型的确定方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710685946.XA CN109388743B (zh) | 2017-08-11 | 2017-08-11 | 语言模型的确定方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109388743A CN109388743A (zh) | 2019-02-26 |
CN109388743B true CN109388743B (zh) | 2021-11-23 |
Family
ID=65413909
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710685946.XA Active CN109388743B (zh) | 2017-08-11 | 2017-08-11 | 语言模型的确定方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109388743B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110265001B (zh) * | 2019-05-06 | 2023-06-23 | 平安科技(深圳)有限公司 | 用于语音识别训练的语料筛选方法、装置及计算机设备 |
CN110349568B (zh) * | 2019-06-06 | 2024-05-31 | 平安科技(深圳)有限公司 | 语音检索方法、装置、计算机设备及存储介质 |
CN110598205B (zh) * | 2019-08-12 | 2021-08-17 | 大箴(杭州)科技有限公司 | 一种截断文本的拼接方法、装置及计算机存储介质 |
CN110491394B (zh) * | 2019-09-12 | 2022-06-17 | 北京百度网讯科技有限公司 | 唤醒语料的获取方法和装置 |
CN111291551B (zh) * | 2020-01-22 | 2023-04-18 | 腾讯科技(深圳)有限公司 | 文本处理方法、装置、电子设备及计算机可读存储介质 |
CN111540343B (zh) * | 2020-03-17 | 2021-02-05 | 北京捷通华声科技股份有限公司 | 一种语料识别方法和装置 |
CN111508481B (zh) * | 2020-04-24 | 2022-11-08 | 展讯通信(上海)有限公司 | 语音唤醒模型的训练方法、装置、电子设备及存储介质 |
CN111798986B (zh) * | 2020-07-07 | 2023-11-03 | 云知声智能科技股份有限公司 | 一种数据增强的方法和设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101604204A (zh) * | 2009-07-09 | 2009-12-16 | 北京科技大学 | 智能情感机器人分布式认知技术 |
CN106294418A (zh) * | 2015-05-25 | 2017-01-04 | 北京大学 | 检索方法和检索系统 |
CN106328147A (zh) * | 2016-08-31 | 2017-01-11 | 中国科学技术大学 | 语音识别方法和装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8326820B2 (en) * | 2009-09-30 | 2012-12-04 | Microsoft Corporation | Long-query retrieval |
US9652452B2 (en) * | 2012-01-06 | 2017-05-16 | Yactraq Online Inc. | Method and system for constructing a language model |
-
2017
- 2017-08-11 CN CN201710685946.XA patent/CN109388743B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101604204A (zh) * | 2009-07-09 | 2009-12-16 | 北京科技大学 | 智能情感机器人分布式认知技术 |
CN106294418A (zh) * | 2015-05-25 | 2017-01-04 | 北京大学 | 检索方法和检索系统 |
CN106328147A (zh) * | 2016-08-31 | 2017-01-11 | 中国科学技术大学 | 语音识别方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109388743A (zh) | 2019-02-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109388743B (zh) | 语言模型的确定方法和装置 | |
CN108829822B (zh) | 媒体内容的推荐方法和装置、存储介质、电子装置 | |
CN106649818B (zh) | 应用搜索意图的识别方法、装置、应用搜索方法和服务器 | |
CN108959270B (zh) | 一种基于深度学习的实体链接方法 | |
CN110427463B (zh) | 搜索语句响应方法、装置及服务器和存储介质 | |
CN106156204B (zh) | 文本标签的提取方法和装置 | |
KR102288249B1 (ko) | 정보 처리 방법, 단말기, 및 컴퓨터 저장 매체 | |
CN105302810B (zh) | 一种信息搜索方法和装置 | |
CN111159485B (zh) | 尾实体链接方法、装置、服务器及存储介质 | |
CN110502738A (zh) | 中文命名实体识别方法、装置、设备和查询系统 | |
CN105069143B (zh) | 提取文档中关键词的方法及装置 | |
CN107729468A (zh) | 基于深度学习的答案抽取方法及系统 | |
CN107544988B (zh) | 一种获取舆情数据的方法和装置 | |
CN110737774B (zh) | 图书知识图谱的构建、图书推荐方法、装置、设备及介质 | |
CN111291177A (zh) | 一种信息处理方法、装置和计算机存储介质 | |
CN104484380A (zh) | 个性化搜索方法及装置 | |
KR20190128246A (ko) | 검색 방법 및 장치 및 비-일시적 컴퓨터-판독가능 저장 매체 | |
CN113342958B (zh) | 问答匹配方法、文本匹配模型的训练方法和相关设备 | |
CN110019832B (zh) | 语言模型的获取方法和装置 | |
CN110147494A (zh) | 信息搜索方法、装置,存储介质及电子设备 | |
CN111090771A (zh) | 歌曲搜索方法、装置及计算机存储介质 | |
CN108345694B (zh) | 一种基于主题数据库的文献检索方法及系统 | |
CN113282754A (zh) | 针对新闻事件的舆情检测方法、装置、设备和存储介质 | |
CN111813993A (zh) | 视频内容的拓展方法、装置、终端设备及存储介质 | |
CN110543603A (zh) | 基于用户行为的协同过滤推荐方法、装置、设备和介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |