CN102880611B - 一种语言建模方法及语言建模装置 - Google Patents

一种语言建模方法及语言建模装置 Download PDF

Info

Publication number
CN102880611B
CN102880611B CN201110197062.2A CN201110197062A CN102880611B CN 102880611 B CN102880611 B CN 102880611B CN 201110197062 A CN201110197062 A CN 201110197062A CN 102880611 B CN102880611 B CN 102880611B
Authority
CN
China
Prior art keywords
word
probability
caching
user
input
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
Application number
CN201110197062.2A
Other languages
English (en)
Other versions
CN102880611A (zh
Inventor
肖镜辉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Shiji Guangsu Information Technology Co Ltd
Original Assignee
Shenzhen Shiji Guangsu Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Shiji Guangsu Information Technology Co Ltd filed Critical Shenzhen Shiji Guangsu Information Technology Co Ltd
Priority to CN201110197062.2A priority Critical patent/CN102880611B/zh
Priority to PCT/CN2012/078591 priority patent/WO2013007210A1/zh
Priority to JP2014519401A priority patent/JP5926378B2/ja
Priority to US14/232,737 priority patent/US9176941B2/en
Priority to EP12811503.7A priority patent/EP2733582A4/en
Publication of CN102880611A publication Critical patent/CN102880611A/zh
Application granted granted Critical
Publication of CN102880611B publication Critical patent/CN102880611B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Machine Translation (AREA)

Abstract

本发明公开了一种语言建模方法及语言建模装置。该方法包括:根据预先建立的标准Ngram语言模型,分别计算用户输入中各词语的标准条件概率;按照预先设置的基于缓存的语言建模策略,根据用户的输入以及预先缓存的用户输入,分别计算用户输入中各词语的缓存条件概率;根据各词语的标准条件概率以及缓存条件概率计算融合条件概率,基于融合条件概率获取各输出语句的语句概率;选择概率最大的输出语句输出并缓存该输出语句。应用本发明,可以满足不同用户对汉语输入的需求、提高识别准确率。

Description

一种语言建模方法及语言建模装置
技术领域
本发明涉及语言识别技术,特别涉及一种语言建模方法及语言建模装置。
背景技术
随着计算机硬件性能的不断提升和软件智能的不断提高,人们越来越期望计算机能够提供更加自然的人机交互方式,主要表现在:(1)提供更加智能的汉语输入法;(2)提供语音识别功能;(3)提供手写字符识别功能。而这三种交互方式的实现,底层都需要有语言建模技术的支持。因而,语言建模方法的优劣,直接决定了语言模型性能的高低,也决定了上述人机交互软件效果的好坏。
目前最常用的语言建模方法包括统计语言模型建模方法以及Ngram语言模型建模方法,下面进行简要说明。
统计语言模型以概率论和数理统计理论为基础,用来计算汉语语句的概率,使得输出的正确语句的概率大于错误语句的概率。例如,对于汉语输入的汉语语句“说明此处汉语语句的概率”,在统计语言模型中,该汉语语句可以分解为若干个词语,如:说明\此处...,对于一个包含m(m为自然数)个词的汉语语句S=w1w2K wm,根据Bayes理论,该汉语语句概率(输出正确的概率)可以分解为包含多个词语的条件概率的乘积,即:
式中,wi为汉语语句中包含的第i个词语;
p(wi/w1w2K wi-1)为词语wi在该汉语语句w1w2K wm中的条件概率。
由上述公式可见,条件概率p(wi/w1w2K wi-1)的参数空间随着变量i的增加呈指数级增长,当变量i较大时,以现有训练语料的规模,还无法准确地估计出概率p(wi/w1w2Kwi-1)的值,训练语料是指采用统计的方法从大规模训练文本中,按照一定的类别进行组织形成的有序文本集合,训练语料可以由计算机执行规模处理。因而,目前实用化的语言模型建模方法中,均对条件概率p(wi/w1w2K wi-1)进行了不同程度的简化,提出了标准Ngram语言模型建模方法。
标准Ngram语言模型是目前最常用的统计语言模型。它将汉语语句看作是一个马尔科夫序列,满足马尔科夫属性。具体来讲,标准Ngram语言模型对统计语言模型中的条件概率p(wi/w1w2K wi-1)作如下基本假设:
(1)有限历史假设:当前输入语句中词语的条件概率仅仅与它前n-1个词相关,而与整个汉语语句无关,其中,n为预先设置的自然数;
(2)时齐性假设:当前词语的条件概率与它在汉语语句句子中出现的位置无关。
基于上述两个假设,标准Ngram语言模型的语句概率计算公式可以简化为:
可见,基于上述两个假设,标准统计语言模型中的条件概率p(wi/w1w2K wi-1)被简化成了标准Ngram语言模型中的条件概率p(wi/wi-n+1wi-n+2K wi-1),新概率的计算公式中,与当前词语相关的历史词语的个数固定为常数n-1,而不是标准统计语言模型中的变数i-1。这样,整体降低了语言模型参数空间的大小,使得在现有训练语料的基础上,能够正确地估计出Ngram概率的值,从而使得标准Ngram语言模型可以实用化。
在标准Ngram语言模型中,条件概率p(wi/wi-n+1wi-n+2K wi-1)的值采用最大似然估计的方法进行估计,估计公式如下:
式中,c(wi-n+1K wi-1wi)表示词语序列wi-n+1K wi-1wi(语句中的一部分词语)在标准Ngram语言模型的训练语料中出现的次数。
然而,标准Ngram语言模型建模方法也存在明显的缺点,一方面,标准Ngram语言模型是单一的模型,而实际应用中,用户的汉语输入、手写识别、语音识别等需求是多变的、也是无限的,例如,用户有时需要撰写技术报告,有时在网上聊天,在这两种情境下,用户的汉语输入需求是不同的;再例如,不同年龄段的用户,由于生活经历的不同,说话习惯存在很大不同,反映在汉语输入上,就是这些人群经常输入的内容差别很大。因而,单一模型无法满足不同年龄段的用户、以及同一用户在不同输入场景下对汉语输入的不同需求,不同的输入需求采用同一模型,使得对用户不同需求的输入,影响了识别的准确性;另一方面,标准Ngram语言模型本身没有自动学习的机制,标准Ngram语言模型中的参数一经训练便被确定下来,无法根据用户的输入习惯进行学习和智能调整,使得对用户输入的识别准确率较低。
发明内容
有鉴于此,本发明的主要目的在于提出一种语言建模方法,能够满足不同用户对汉语输入的需求、提高识别准确率。
本发明的另一目的在于提出一种语言建模装置,能够满足不同用户对汉语输入的需求、提高识别准确率。
为达到上述目的,本发明提供了一种语言建模方法,该方法包括:
根据预先建立的标准Ngram语言模型,分别计算用户输入中各词语的标准条件概率;
按照预先设置的基于缓存的语言建模策略,根据所述用户输入以及预先缓存的用户输入,分别计算所述用户输入中各词语的缓存条件概率;
根据各词语的标准条件概率以及缓存条件概率计算融合条件概率,基于融合条件概率获取各输出语句的语句概率;
选择概率最大的输出语句输出并缓存该输出语句。
计算用户输入中第i个词语的缓存条件概率包括:
获取包含该第i个词语及该第i个词语之前预设常数个词语的词语序列在缓存的训练语料中出现的次数ki
获取包含该第i个词语之前预设常数个词语的词语序列在缓存的训练语料中出现的次数ki-1
获取该第i个词语的时间函数值;
计算次数ki与次数ki-1的比值,将计算得到的比值与该第i个词语的时间函数值相乘,得到所述用户输入中第i个词语的缓存条件概率。
将预先设置的常数与第i个词语进入缓存区中的时间点与当前用户输入语句的时间点之间的时间间隔进行相比得到所述时间函数值。
计算用户输入中第i个词语的标准条件概率包括:
获取包含该第i个词语及该第i个词语之前预设常数个词语的词语序列在标准Ngram语言模型的训练语料中出现的次数k′i
获取包含该第i个词语之前预设常数个词语的词语序列在标准Ngram语言模型的训练语料中出现的次数k′i-1
计算次数k′i与次数k′i-1的比值,将计算得到的比值作为所述用户输入中第i个词语的标准条件概率。
计算第i个词语的融合条件概率包括:
A1、确定取值在0至1之间的插值系数;
A2、计算该插值系数与第i个词语的标准条件概率的乘积;
A3、计算1与该插值系数的差与第i个词语的缓存条件概率的乘积;
A4、计算步骤A2、A3得到的乘积的和,作为第i个词语的融合条件概率。
计算输出语句的语句概率包括:
分别获取语句包含的各词语的融合条件概率;
将获取的各词语的融合条件概率依次相乘得到输出语句的语句概率。
所述缓存的用户输入采用队列的数据结构,所述第i个词语的时间间隔的取值为第i个词语在缓存队列中的位置。
在所述选择概率最大的输出语句输出后,缓存该输出语句前,进一步包括:对输出语句进行修正。
所述用户输入包括:输入法输入、手写识别输入以及语音识别输入。
在所述预先缓存的用户输入为空时,所述用户输入中各词语的缓存条件概率等于该词语的标准条件概率。
一种语言建模装置,该装置包括:标准Ngram语言模型模块、缓存模块、基于缓存的语言建模模块以及混合模型模块,其中,
标准Ngram语言模型模块,用于接收用户的输入,分别计算用户输入中各词语的标准条件概率,输出至混合模型模块;
缓存模块,用于缓存混合模型模块输出的语句;
基于缓存的语言建模模块,用于按照预先设置的基于缓存的语言建模策略,根据用户的输入以及缓存模块缓存的语句,分别计算用户输入中各词语的缓存条件概率,输出至混合模型模块;
混合模型模块,用于根据各词语的标准条件概率以及缓存条件概率计算融合条件概率,基于融合条件概率获取各输出语句的语句概率,选择概率最大的输出语句输出。
所述标准Ngram语言模型模块包括:第一词语序列频次计数单元、第二词语序列频次计数单元以及标准条件概率计算单元,其中,
第一词语序列频次计数单元,用于获取包含该第i个词语及该第i个词语之前预设常数个词语的词语序列在标准Ngram语言模型的训练语料中出现的次数k′i,输出至标准条件概率计算单元;
第二词语序列频次计数单元,用于获取包含该第i个词语之前预设常数个词语的词语序列在标准Ngram语言模型的训练语料中出现的次数k′i-1,输出至标准条件概率计算单元;
标准条件概率计算单元,用于计算次数k′i与次数k′i-1的比值,将计算得到的比值作为所述用户输入中第i个词语的标准条件概率。
所述基于缓存的语言建模模块包括:第三词语序列频次计数单元、第四词语序列频次计数单元、时间函数值获取单元以及缓存条件概率计算单元,其中,
第三词语序列频次计数单元,用于获取包含该第i个词语及该第i个词语之前预设常数个词语的词语序列在缓存的训练语料中出现的次数ki,输出至缓存条件概率计算单元;
第四词语序列频次计数单元,用于获取包含该第i个词语之前预设常数个词语的词语序列在缓存的训练语料中出现的次数ki-1,输出至缓存条件概率计算单元;
时间函数值获取单元,用于获取该第i个词语的时间函数值,输出至缓存条件概率计算单元;
缓存条件概率计算单元,用于计算次数ki与次数ki-1的比值,将计算得到的比值与该第i个词语的时间函数值相乘,得到所述用户输入中第i个词语的缓存条件概率。
所述混合模型模块包括:插值系数存储单元、第一乘积单元、第二乘积单元、融合条件概率计算单元、语句概率计算单元以及输出语句选择单元,其中,
插值系数存储单元,用于存储预先设置在0至1之间的插值系数;
第一乘积单元,用于根据插值系数存储单元存储的插值系数,计算该插值系数与第i个词语的标准条件概率的乘积,输出至融合条件概率计算单元;
第二乘积单元,用于计算1与该插值系数的差与第i个词语的缓存条件概率的乘积,输出至融合条件概率计算单元;
融合条件概率计算单元,用于将接收的与第i个词语相关的乘积进行相加,作为第i个词语的融合条件概率;
语句概率计算单元,用于将融合条件概率计算单元获取的各词语的融合条件概率依次相乘得到输出语句的语句概率;
输出语句选择单元,用于选择语句概率计算单元计算得到的最大语句概率,将该最大语句概率对应的输出语句输出。
由上述的技术方案可见,本发明提供的一种语言建模方法及语言建模装置,根据预先建立的标准Ngram语言模型,分别计算用户输入中各词语的标准条件概率;按照预先设置的基于缓存的语言建模策略,根据用户的输入以及预先缓存的用户输入,分别计算用户输入中各词语的缓存条件概率;根据各词语的标准条件概率以及缓存条件概率计算融合条件概率,基于融合条件概率获取各输出语句的语句概率;选择概率最大的输出语句输出并缓存该输出语句。这样,通过对用户输入进行缓存,建立基于缓存的语言建模模型,使基于缓存的语言建模模型与用户输入的历史信息以及用户输入场景相关,并将标准Ngram语言模型与基于缓存的语言建模模型相结合,对用户输入进行识别,能够满足不同用户对汉语输入的需求,可以提高识别准确率。
附图说明
图1为本发明实施例的语言建模方法流程示意图。
图2为本发明实施例的语言建模方法具体流程示意图。
图3为本发明实施例的语言建模装置结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图及具体实施例对本发明作进一步地详细描述。
现有的用于语言建模的标准Ngram语言模型,是单一的模型,无法满足不同用户对语句输入的不同需求,且由于自身没有自动学习机制,无法根据用户的输入习惯进行学习和智能调整,使得对用户输入的识别准确率较低。以下以用户输入为汉语为例进行说明。
实际应用中,通过统计分析发现,用户当前输入的内容(语句)具有短时稳定性的特点,即用户在一段时间内的输入,一般围绕着同一个话题进行或展开的。因此,用户当前的输入内容,在接下来的输入中,存在较大的可能性再次出现、或者出现类似的输入内容。也就是说,无论以何种输入方式,例如,语音、手写或键盘输入,用户在一段时间内的输入是围绕着同一个话题进行的,其当前输入的话题或内容具有“短时稳定性”。
因而,基于上述统计分析,本发明实施例中,针对标准Ngram语言模型的缺点,提出基于缓存的语言建模方法,通过利用缓存数据结构,存储用户当前的输入内容,并对缓存的内容进行数学分析,从而建立用户输入的数学模型,并随着用户的不断输入,通过不断更新缓存数据结构中的内容,实时学习用户的输入习惯、适应用户的输入需求,从而使人机交互变得更加智能,使建立的用户输入数学模型也越来越精确,越来越符合用户的真实输入需求,从而在用户接下来的输入过程中,利用建立的数学模型对用户的输入内容做出更准确的识别,实现动态学习和适应用户的输入需求。
图1为本发明实施例的语言建模方法流程示意图。参见图1,该流程包括:
步骤101,接收用户的输入,根据预先建立的标准Ngram语言模型分别计算用户输入中各词语的条件概率;
本步骤中,用户的输入包括:输入法输入、手写识别输入以及语音识别输入等。其中,
对于输入法输入,键盘处理程序接收用户输入的字符,根据采用的输入法进行识别处理,得到拼音信息,输出至映射器,经过映射器的映射处理,将拼音信息映射为相应的候选汉字,形成用户输入;
对于手写识别输入,预置的笔迹识别程序提取用户手写笔迹的信息,获取笔迹信息,经过映射器的映射处理,将笔迹信息映射为相应的候选汉字,形成用户输入;
对于语音识别输入,预置的音频处理程序对输入的用户音频进行采样、量化、滤波及去噪等处理,获取音频信息,经过映射器的映射处理,将音频信息映射为相应的候选汉字,形成用户输入。
上述示例中,映射器对于拼音信息、笔迹信息以及音频信息的映射处理,具体可参见相关技术文献,在此不再赘述。
根据标准Ngram语言模型分别计算用户输入中各词语的条件概率,与现有技术相同,在此不再赘述。
步骤102,确定预先缓存有用户输入,根据用户的输入以及预先缓存的用户输入,按照预先设置的基于缓存的语言建模策略分别计算用户输入中各词语的条件概率;
本步骤中,如果用户的输入为首次输入,则预先缓存的用户输入为空,计算各输出语句的语句概率与现有技术相同。
预先设置的基于缓存的语言建模策略公式为:
式中,
为第i个词语wi的缓存条件概率;
c(wi-n+1K wi-1wi)表示词语序列wi-n+1K wi-1wi在缓存的训练语料中出现的次数,即包含第i个词语及该第i个词语之前预设常数(n)个词语的词语序列在缓存的训练语料中出现的次数;
c(wi-n+1K wi-2wi-1)表示词语序列wi-n+1K wi-2wi-1在缓存的训练语料中出现的次数,即包含该第i个词语之前预设常数个词语的词语序列在缓存的训练语料中出现的次数;
f(ti)为时间函数。
关于该公式,后续再进行详细描述。
步骤103,根据基于标准Ngram语言模型计算得到的各词语的条件概率以及基于缓存的建模策略计算得到的各词语的条件概率计算融合条件概率,基于融合条件概率获取各输出语句的语句概率;
本步骤中,融合条件概率的计算公式为:
式中,α为插值系数,是一个常数,取值在0和1之间,可以根据实际需要确定;
p(wi/wi-n+1wi-n+2K wi-1)为基于标准Ngram语言模型计算得到的第i个词语wi的标准条件概率。
输出语句的语句概率计算公式为:
步骤104,选择概率最大的输出语句输出并缓存该输出语句。
图2为本发明实施例的语言建模方法具体流程示意图。参见图2,该流程包括:
步骤201,预先建立标准Ngram语言模型;
本步骤中,建立标准Ngram语言模型可以参照现有技术,根据最大似然估计的方法利用训练语料训练出标准Ngram语言模型。
此时,用户还没有进行输入,预先设置的缓存区中缓存的内容为空。
步骤202,接收用户的输入内容,根据预先建立的标准Ngram语言模型对用户的输入内容计算各输出语句的语句概率;
本步骤中,用户可以通过语音、手写字符、光学字符或键盘按键输入内容,当用户开始输入内容时,通过映射器的映射处理,映射为候选文字,再根据标准Ngram语言模型对映射的候选文字进行处理,即进行输入内容的内核计算过程,根据标准Ngram语言模型计算各种可能的输出语句的概率,与现有技术相同,在此不再赘述。
步骤203,选择概率最大的输出语句输出;
本步骤中,根据标准Ngram语言模型计算得到的各种可能的输出语句的概率,从中选择概率最大的输出语句作为用户输出,即将概率最大的输出语句作为识别出的汉语语句,一条汉语语句可以包括一个或多个词语。
步骤204,对输出语句进行修正,并将修正的输出语句输出至预先设置的缓存区进行缓存;
本步骤中,用户可以查验输出语句是否与自身的输入需求相匹配,如果不匹配,则进行修正,例如,用户期望的输入语句为“这是事实”,根据标准Ngram语言模型计算得到的概率最大的输出语句,即输入法对用户输入语句的识别结果为“这是实时”,则与用户期望的输入需求不相匹配,此时用户需要根据输入法的候选将“实时”修正为“事实”,并输出至预先设置的缓存区进行缓存。
实际应用中,缓存区缓存的内容可以以用户为标识。
步骤205,以缓存区的语句为训练语料,建立基于缓存的语言模型;
本步骤中,基于缓存的语言模型是建立在缓存区中存储内容的基础之上。缓存区中的内容是根据用户的最近输入得到的,可以看作是一个用户特定的、小规模的训练语料库。
一方面,基于缓存的语言模型同标准Ngram语言模型一样,通过计算词语和词语之间的条件概率,用以描述用户当前输入的统计特征,汉语语句的概率可以用如下公式计算:
式中,Pcache(S)表示根据缓存区中缓存的内容统计出的汉语语句的概率值;
m为汉语语句包含的词语个数;
wi为汉语语句中包含的第i个词语;
pcache(wi/wi-n+1wi-n+2K wi-1)为词语wi在该汉语语句中的条件概率;
n为预先设置的常数。
另一方面,由前述的统计分析可知,用户的输入具有“短时稳定性”特点,其中,“短时”为表征时间的维度,即用户当前的输入内容仅仅与该用户最近一段时间的输入内容相关,而与该用户很久以前的输入内容无关。也就是说,用户当前输入的内容通常比较稳定,用户当前的输入内容同当前的输入话题相关,经过一段时间,当用户输入的话题转移之后,用户的输入内容与该用户从前的话题关联性不大。因而,对于基于缓存的语言模型来说,用户当前输入的词语,与最近进入缓存区中的词语关系最密切,而与较长时间前进入缓存区的词语的关联度较低。
与标准Ngram语言模型不同的是,缓存区中当前词语的条件概率,不仅与该当前词语的上下文词语相关,而且与该当前词语进入缓存区的时间相关。因而,考虑时间因素,则基于缓存的语言模型中,可以将语句概率计算公式修正为:
可见,与前述的条件概率相比,修正后的公式中的语句概率考虑了时间变量参数t,即当前词语wi出现的条件概率不仅与上下文词语wi-n+1wi-n+2K wi-1相关,而且与wi上一次进入缓存区的时间相关。
由于基于缓存的语言模型中,每个词语的条件概率不仅与该词语的上下文相关,而且与该词语上一次进入缓存区的时间相关。而标准Ngram语言模型中的最大似然估计方法,只考虑了上下文相关的词汇,没有考虑到时间信息,因而,不能够直接用于训练基于缓存的语言模型所需的参数。为了估计基于缓存的语言模型中词语的条件概率,通过改进最大似然估计方法,在其中加入时间信息,采用如下公式来计算条件概率的值:
与最大似然估计方法不同的是,上式中,考虑了时间函数f(ti),用以描述时间因素对语句条件概率的影响。定义时间函数f(ti)如下:
式中,ti为时间变量参数,即词语wi进入缓存区中的时间点与当前用户输入语句的时间点之间的时间间隔。
实际应用中,如果缓存区的底层数据结构采用队列来实现,则时间变量参数ti的取值可以为词语wi在缓存队列中的位置。例如,对于首次进入缓存区中的词语,如果该词语wi排列在队列首端,假设位置序号为1,则公式中的该词语wi对应的时间变量参数ti的取值为1。
为预先设置的常数,用以调节时间变量参数信息在条件概率估计时的权重。
由上述公式可知,如果词语wi进入缓存区的时间点越早,则与当前用户输入语句的时间间隔越长,则时间变量参数ti的取值越大,使得时间函数f(ti)的取值越小,从而使得条件概率的取值也就越小;反之,词语wi进入缓存区越晚,则与当前用户输入的时间间隔越短,则时间变量参数ti的取值越小,时间函数f(ti)的取值越大,从而使得条件概率的取值越大。
步骤206,接收用户的输入内容,根据预先建立的标准Ngram语言模型以及基于缓存的语言模型对用户的输入内容分别计算各输出语句的语句概率;
本步骤中,在用户接下来的输入过程中,由标准Ngram语言模型和新建立的基于缓存的语言模型共同组成混合模型,由混合模型对用户的输入进行处理,并综合产生处理结果。
本发明实施例中,采用线性插值的方法,将基于缓存的语言模型中的条件概率与标准Ngram语言模型中的条件概率p(wi/wi-n+1wi-n+2K wi-1)相融合,计算得出融合后的条件概率pmixture(wi/wi-n+1wi-n+2Kwi-1),公式如下:
式中,α为插值系数,是一个常数,取值在0和1之间,用于调节基于缓存的语言模型中的条件概率和标准Ngram语言模型中的条件概率在最终混合模型中概率的比重。
依据上述混合模型,一个包含m个词语的汉语语句S=w1w2K wm的概率可以由以下公式计算得出:
举例来说,如果用户在前输入了“肖镜辉是腾讯员工”,经标准Ngram语言模型识别后,缓存区中缓存了“肖”、“镜”、“辉”三个单字词以及词语“是”、“腾讯员工”,当用户再输入“肖镜辉写了一篇专利”时,基于缓存的语言模型中缓存区存储的“肖”、“镜”、“辉”三个单字词就对当前的输入语句发生作用:如果没有缓存区存储的“肖”、“镜”、“辉”三个单字词,在用户新输入时,“肖镜辉”被转换错误的概率相对就较高,而根据缓存区缓存的信息,“肖镜辉”被正确转换的概率就较高,因而,使得输入的“肖镜辉写了一篇专利”被输入法正确转换出来的概率就较大。
从上述过程中可以看到,基于缓存的语言模型是根据用户的当前输入不断建立起来的,一方面反映了用户当前的输入场景信息,另一方面也反映了用户本身的输入习惯。标准Ngram语言模型结合基于缓存的语言模型,能够有效地对用户的输入场景和输入习惯进行学习和自适应。
步骤207,选择概率最大的输出语句输出;
步骤208,根据输出语句更新缓存区中缓存的语句。
实验表明,同标准Ngram语言模型相比,本发明实施例的基于缓存的语言模型建模方法,对用户输入的识别具有更高的准确率,并且,在此基础之上构建的汉语输入软件具有更高的智能性。
所应说明的是,本发明实施例的语言建模方法,不仅可应用于汉语输入法,也可应用于日语、韩语、柬埔寨等其它亚洲语言的输入法,其语言建模方法与汉语语言建模方法相类似,在此不再赘述。
图3为本发明实施例的语言建模装置结构示意图。参见图3,该装置包括:标准Ngram语言模型模块、缓存模块、基于缓存的语言建模模块以及混合模型模块,其中,
标准Ngram语言模型模块,用于接收用户的输入,分别计算用户输入中各词语的标准条件概率,输出至混合模型模块;
本发明实施例中,标准Ngram语言模型模块计算词语条件概率的公式为:
式中,C(wi-n+1K wi-1wi)表示词语序列wi-n+1K wi-1wi在标准Ngram语言模型的训练语料中出现的次数;
wi为汉语语句中包含的第i个词语;
n为预先设置的常数。
缓存模块,用于缓存混合模型模块输出的语句;
基于缓存的语言建模模块,用于按照预先设置的基于缓存的语言建模策略,根据用户的输入以及缓存模块缓存的语句,分别计算用户输入中各词语的条件概率,输出至混合模型模块;
本发明实施例中,基于缓存的语言建模模块计算词语条件概率的公式为:
式中,c(wi-n+1K wi-1wi)表示词语序列wi-n+1K wi-1wi在缓存的训练语料中出现的次数;
wi为汉语语句中包含的第i个词语;
n为预先设置的常数;
f(ti)为时间函数。
混合模型模块,用于根据各词语的标准条件概率以及缓存条件概率计算融合条件概率,基于融合条件概率获取各输出语句的语句概率,选择概率最大的输出语句输出。
本发明实施例中,融合条件概率的计算公式为:
式中,α为插值系数,是一个常数,取值在0和1之间。
输出语句的语句概率计算公式为:
式中,m为汉语语句包含的词语个数。
其中,
标准Ngram语言模型模块包括:第一词语序列频次计数单元、第二词语序列频次计数单元以及标准条件概率计算单元(图中未示出),其中,
第一词语序列频次计数单元,用于获取包含该第i个词语及该第i个词语之前预设常数个词语的词语序列在标准Ngram语言模型的训练语料中出现的次数k′i,输出至标准条件概率计算单元;
第二词语序列频次计数单元,用于获取包含该第i个词语之前预设常数个词语的词语序列在标准Ngram语言模型的训练语料中出现的次数k′i-1,输出至标准条件概率计算单元;
标准条件概率计算单元,用于计算次数k′i与次数k′i-1的比值,将计算得到的比值作为所述用户输入中第i个词语的标准条件概率。
基于缓存的语言建模模块包括:第三词语序列频次计数单元、第四词语序列频次计数单元、时间函数值获取单元以及缓存条件概率计算单元(图中未示出),其中,
第三词语序列频次计数单元,用于获取包含该第i个词语及该第i个词语之前预设常数个词语的词语序列在缓存的训练语料中出现的次数ki,输出至缓存条件概率计算单元;
第四词语序列频次计数单元,用于获取包含该第i个词语之前预设常数个词语的词语序列在缓存的训练语料中出现的次数ki-1,输出至缓存条件概率计算单元;
时间函数值获取单元,用于获取该第i个词语的时间函数值,输出至缓存条件概率计算单元;
缓存条件概率计算单元,用于计算次数ki与次数ki-1的比值,将计算得到的比值与该第i个词语的时间函数值相乘,得到所述用户输入中第i个词语的缓存条件概率。
混合模型模块包括:插值系数存储单元、第一乘积单元、第二乘积单元、融合条件概率计算单元、语句概率计算单元以及输出语句选择单元(图中未示出),其中,
插值系数存储单元,用于存储预先设置在0至1之间的插值系数;
第一乘积单元,用于根据插值系数存储单元存储的插值系数,计算该插值系数与第i个词语的标准条件概率的乘积,输出至融合条件概率计算单元;
第二乘积单元,用于计算1与该插值系数的差与第i个词语的缓存条件概率的乘积,输出至融合条件概率计算单元;
融合条件概率计算单元,用于将接收的与第i个词语相关的乘积进行相加,作为第i个词语的融合条件概率;
语句概率计算单元,用于将融合条件概率计算单元获取的各词语的融合条件概率依次相乘得到输出语句的语句概率;
输出语句选择单元,用于选择语句概率计算单元计算得到的最大语句概率,将该最大语句概率对应的输出语句输出。
由上述可见,本发明实施例的语言建模方法及语言建模装置,通过对用户输入进行缓存,使得缓存的用户输入与用户输入的历史信息以及用户输入场景相关,这样,基于缓存建立的语言建模模型一方面具有自学习的功能,从而提高了语言模型的智能性;另一方面,通过对每个用户的输入习惯进行学习和适应,也使得人机交互软件能够适应不同用户群体和应用场景。具体来说,具有如下有益技术效果:
一、本发明提高了语言模型的性能,能够满足不同用户对汉语输入的需求、提高预测准确率,进而可以应用到语音识别、手写体字符识别、汉语键盘输入法、光学字符识别等领域,提高相关系统的准确率;
二、在本发明的基础上可以建立基于语言模型的信息检索系统,提高信息检索系统的性能,例如,准确率、召回率等。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换以及改进等,均应包含在本发明的保护范围之内。

Claims (11)

1.一种语言建模方法,其特征在于,该方法包括:
根据预先建立的标准Ngram语言模型,分别计算用户输入中各词语的标准条件概率;其中,用户的输入包括:输入法输入、手写识别输入以及语音识别输入;
按照预先设置的基于缓存的语言建模策略,根据所述用户输入以及预先缓存的用户输入,分别计算所述用户输入中各词语的缓存条件概率;
根据各词语的标准条件概率以及缓存条件概率计算融合条件概率,基于融合条件概率获取各输出语句的语句概率;
选择概率最大的输出语句输出;
对输出语句进行修正;
缓存该输出语句;
其中,所述方法还包括:
在所述预先缓存的用户输入为空时,所述用户输入中各词语的缓存条件概率等于该词语的标准条件概率。
2.如权利要求1所述的方法,其特征在于,计算用户输入中第i个词语的缓存条件概率包括:
获取包含该第i个词语及该第i个词语之前预设常数个词语的词语序列在缓存的训练语料中出现的次数ki
获取包含该第i个词语之前预设常数个词语的词语序列在缓存的训练语料中出现的次数ki-1
获取该第i个词语的时间函数值;
计算次数ki与次数ki-1的比值,将计算得到的比值与该第i个词语的时间函数值相乘,得到所述用户输入中第i个词语的缓存条件概率。
3.如权利要求2所述的方法,其特征在于,将预设常数与第i个词语进入缓存区中的时间点与当前用户输入语句的时间点之间的时间间隔进行相比得到所述时间函数值。
4.如权利要求3所述的方法,其特征在于,计算用户输入中第i个词语的标准条件概率包括:
获取包含该第i个词语及该第i个词语之前预设常数个词语的词语序列在标准Ngram语言模型的训练语料中出现的次数k'i
获取包含该第i个词语之前预设常数个词语的词语序列在标准Ngram语言模型的训练语料中出现的次数k'i-1
计算次数k'i与次数k'i-1的比值,将计算得到的比值作为所述用户输入中第i个词语的标准条件概率。
5.如权利要求4所述的方法,其特征在于,计算第i个词语的融合条件概率包括:
A1、确定取值在0至1之间的插值系数;
A2、计算该插值系数与第i个词语的标准条件概率的乘积;
A3、计算1与该插值系数的差与第i个词语的缓存条件概率的乘积;
A4、计算步骤A2、A3得到的乘积的和,作为第i个词语的融合条件概率。
6.如权利要求5所述的方法,其特征在于,计算输出语句的语句概率包括:
分别获取语句包含的各词语的融合条件概率;
将获取的各词语的融合条件概率依次相乘得到输出语句的语句概率。
7.如权利要求6所述的方法,其特征在于,所述缓存的用户输入采用队列的数据结构,所述第i个词语的时间间隔的取值为第i个词语在缓存队列中的位置。
8.一种语言建模装置,其特征在于,该装置包括:标准Ngram语言模型模块、缓存模块、基于缓存的语言建模模块以及混合模型模块,其中,
标准Ngram语言模型模块,用于接收用户的输入,分别计算用户输入中各词语的标准条件概率,输出至混合模型模块;其中,用户的输入包括:输入法输入、手写识别输入以及语音识别输入;
缓存模块,用于缓存混合模型模块输出的语句;
基于缓存的语言建模模块,用于按照预先设置的基于缓存的语言建模策略,根据用户的输入以及缓存模块缓存的语句,分别计算用户输入中各词语的缓存条件概率,输出至混合模型模块;其中,在预先缓存的用户输入为空时,所述用户输入中各词语的缓存条件概率等于该词语的标准条件概率;
混合模型模块,用于根据各词语的标准条件概率以及缓存条件概率计算融合条件概率,基于融合条件概率获取各输出语句的语句概率,选择概率最大的输出语句输出,对输出语句进行修正,缓存该输出语句。
9.如权利要求8所述的装置,其特征在于,所述标准Ngram语言模型模块包括:第一词语序列频次计数单元、第二词语序列频次计数单元以及标准条件概率计算单元,其中,
第一词语序列频次计数单元,用于获取包含第i个词语及第i个词语之前预设常数个词语的词语序列在标准Ngram语言模型的训练语料中出现的次数k'i,输出至标准条件概率计算单元;
第二词语序列频次计数单元,用于获取包含该第i个词语之前预设常数个词语的词语序列在标准Ngram语言模型的训练语料中出现的次数k'i-1,输出至标准条件概率计算单元;
标准条件概率计算单元,用于计算次数k'i与次数k'i-1的比值,将计算得到的比值作为所述用户输入中第i个词语的标准条件概率。
10.如权利要求9所述的装置,其特征在于,所述基于缓存的语言建模模块包括:第三词语序列频次计数单元、第四词语序列频次计数单元、时间函数值获取单元以及缓存条件概率计算单元,其中,
第三词语序列频次计数单元,用于获取包含该第i个词语及该第i个词语之前预设常数个词语的词语序列在缓存的训练语料中出现的次数ki,输出至缓存条件概率计算单元;
第四词语序列频次计数单元,用于获取包含该第i个词语之前预设常数个词语的词语序列在缓存的训练语料中出现的次数ki-1,输出至缓存条件概率计算单元;
时间函数值获取单元,用于获取该第i个词语的时间函数值,输出至缓存条件概率计算单元;
缓存条件概率计算单元,用于计算次数ki与次数ki-1的比值,将计算得到的比值与该第i个词语的时间函数值相乘,得到所述用户输入中第i个词语的缓存条件概率。
11.如权利要求10所述的装置,其特征在于,所述混合模型模块包括:插值系数存储单元、第一乘积单元、第二乘积单元、融合条件概率计算单元、语句概率计算单元以及输出语句选择单元,其中,
插值系数存储单元,用于存储预先设置在0至1之间的插值系数;
第一乘积单元,用于根据插值系数存储单元存储的插值系数,计算该插值系数与第i个词语的标准条件概率的乘积,输出至融合条件概率计算单元;
第二乘积单元,用于计算1与该插值系数的差与第i个词语的缓存条件概率的乘积,输出至融合条件概率计算单元;
融合条件概率计算单元,用于将接收的与第i个词语相关的乘积进行相加,作为第i个词语的融合条件概率;
语句概率计算单元,用于将融合条件概率计算单元获取的各词语的融合条件概率依次相乘得到输出语句的语句概率;
输出语句选择单元,用于选择语句概率计算单元计算得到的最大语句概率,将该最大语句概率对应的输出语句输出。
CN201110197062.2A 2011-07-14 2011-07-14 一种语言建模方法及语言建模装置 Active CN102880611B (zh)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN201110197062.2A CN102880611B (zh) 2011-07-14 2011-07-14 一种语言建模方法及语言建模装置
PCT/CN2012/078591 WO2013007210A1 (zh) 2011-07-14 2012-07-13 文字输入方法、装置及系统
JP2014519401A JP5926378B2 (ja) 2011-07-14 2012-07-13 テキスト入力方法、装置、およびシステム
US14/232,737 US9176941B2 (en) 2011-07-14 2012-07-13 Text inputting method, apparatus and system based on a cache-based language model and a universal language model
EP12811503.7A EP2733582A4 (en) 2011-07-14 2012-07-13 METHOD, DEVICE AND SYSTEM FOR CHARACTER ENTRY

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110197062.2A CN102880611B (zh) 2011-07-14 2011-07-14 一种语言建模方法及语言建模装置

Publications (2)

Publication Number Publication Date
CN102880611A CN102880611A (zh) 2013-01-16
CN102880611B true CN102880611B (zh) 2017-12-12

Family

ID=47481939

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110197062.2A Active CN102880611B (zh) 2011-07-14 2011-07-14 一种语言建模方法及语言建模装置

Country Status (1)

Country Link
CN (1) CN102880611B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107305575B (zh) * 2016-04-25 2021-01-26 北京京东尚科信息技术有限公司 人机智能问答系统的断句识别方法和装置
CN106257441B (zh) * 2016-06-30 2019-03-15 电子科技大学 一种基于词频的skip语言模型的训练方法
CN108573706B (zh) * 2017-03-10 2021-06-08 北京搜狗科技发展有限公司 一种语音识别方法、装置及设备
CN108647207B (zh) * 2018-05-08 2022-04-05 上海携程国际旅行社有限公司 自然语言修正方法、系统、设备及存储介质
CN109145287B (zh) * 2018-07-05 2022-11-29 广东外语外贸大学 印尼语单词检错纠错方法及系统
CN110660384B (zh) * 2019-10-14 2022-03-22 内蒙古工业大学 一种基于端到端的蒙古语异形同音词声学建模方法
CN111143518B (zh) * 2019-12-30 2021-09-07 北京明朝万达科技股份有限公司 跨领域语言模型训练方法、装置、电子设备及存储介质
CN111696531A (zh) * 2020-05-28 2020-09-22 升智信息科技(南京)有限公司 一种利用话术语句提升语音识别准确率的识别方法
CN112509560B (zh) * 2020-11-24 2021-09-03 杭州一知智能科技有限公司 一种基于缓存语言模型的语音识别自适应方法和系统
CN113591490B (zh) * 2021-07-29 2023-05-26 北京有竹居网络技术有限公司 信息处理方法、装置和电子设备
CN116450813B (zh) * 2023-06-19 2023-09-19 深圳得理科技有限公司 文本关键信息提取方法、装置、设备以及计算机存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1416365A2 (en) * 2002-10-31 2004-05-06 Microsoft Corporation Statistical model for global localization

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1416365A2 (en) * 2002-10-31 2004-05-06 Microsoft Corporation Statistical model for global localization

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
《利用语义词典Web 挖掘语言模型的无指导译文消歧》;刘鹏远, 赵铁军;《软件学报》;20090531;第20卷(第5期);第1292-1300 *
《非时齐语言建模技术研究及实践》;肖镜辉;《中国优秀博士学位论文全文数据库》;20090115;第36-72、81-87、94、96-97页 *

Also Published As

Publication number Publication date
CN102880611A (zh) 2013-01-16

Similar Documents

Publication Publication Date Title
CN102880611B (zh) 一种语言建模方法及语言建模装置
CN109241255B (zh) 一种基于深度学习的意图识别方法
US10817527B1 (en) Systems and methods of using natural language processing for visual analysis of a data set
US10332507B2 (en) Method and device for waking up via speech based on artificial intelligence
US11144587B2 (en) User drawing based image search
CN110717031A (zh) 一种智能会议纪要生成方法和系统
CN110489523B (zh) 一种基于网购评价的细粒度情感分析方法
CN110287325A (zh) 一种基于智能语音分析的电网客服业务推荐方法及装置
CN110532355A (zh) 一种基于多任务学习的意图与槽位联合识别方法
CN106910497A (zh) 一种中文词语发音预测方法及装置
CN109922371A (zh) 自然语言处理方法、设备及存储介质
CN110222173B (zh) 基于神经网络的短文本情感分类方法及装置
US10915707B2 (en) Word replaceability through word vectors
CN106502979A (zh) 一种自然语言信息的数据处理方法和装置
CN113590078A (zh) 虚拟形象合成方法、装置、计算设备及存储介质
CN113157919A (zh) 语句文本方面级情感分类方法及系统
CN109710733A (zh) 一种基于智能语音识别的数据交互方法和系统
CN108021565B (zh) 一种基于对话的用户满意度的分析方法及装置
CN116543289B (zh) 一种基于编码器-解码器及Bi-LSTM注意力模型的图像描述方法
CN110717022A (zh) 一种机器人对话生成方法、装置、可读存储介质及机器人
CN112598065B (zh) 一种基于记忆的门控卷积神经网络语义处理系统及方法
CN114861671A (zh) 模型训练方法、装置、计算机设备及存储介质
CN110334189B (zh) 基于长短时和自注意力神经网络的微博话题标签确定方法
Sun et al. GMU: a novel RNN neuron and its application to handwriting recognition
CN112364662A (zh) 一种基于神经网络的意图识别方法及电子装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
ASS Succession or assignment of patent right

Owner name: SHENZHEN SHIJI LIGHT SPEED INFORMATION TECHNOLOGY

Free format text: FORMER OWNER: TENGXUN SCI-TECH (SHENZHEN) CO., LTD.

Effective date: 20131018

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 518044 SHENZHEN, GUANGDONG PROVINCE TO: 518057 SHENZHEN, GUANGDONG PROVINCE

TA01 Transfer of patent application right

Effective date of registration: 20131018

Address after: 518057 Tencent Building, 16, Nanshan District hi tech park, Guangdong, Shenzhen

Applicant after: Shenzhen Shiji Guangsu Information Technology Co., Ltd.

Address before: Shenzhen Futian District City, Guangdong province 518044 Zhenxing Road, SEG Science Park 2 East Room 403

Applicant before: Tencent Technology (Shenzhen) Co., Ltd.

C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant