一种整句生成方法及装置的制作方法

文档序号:6613872阅读:202来源:国知局
专利名称:一种整句生成方法及装置的制作方法
技术领域
本发明涉及汉字输入技术,特别是一种整句生成方法及装置。
技术背景在打字的过程中,经常需要对已输入的文字进行修改,如删除个别的词句 或插入个别的词句,这样,就需要根据新插入的词或词句生成新的整句。传统 的输入法在句子中间插入词或句子与在其他场合输入时的处理方式并没有什么 不同。目前比较常用的为最大概率法。下面以拼音输入法为例进行详细说明。在拼音输入法中, 一个汉语拼音串可以对应多个候选词。如"dajia"这个拼 音串对应的候选词可以有大家、打架、大甲、打假、大加等等。为了提高用 户的输入体验,在设计输入法软件的时候需要为候选词进行一个合理的排序, 一般是按照候选词的词频进行排序,如从"大家"到"大加",词频逐渐减小。最大概率法实现整句预测的基本原理是对应用户输入的一串拼音串,一 般存在着多种候选词语的组合方案,通常先找出对应这个拼音串可能出现的所 有候选词,然后在这些候选词的组合中找到一个概率最大的组合方案作为最后 的整句生成结果。例如输入"womendoushipingfanren"拼音串,经过音节划分后的音节序列为 "wo,men,dou,shi,ping,fan,ren",根据这个音节序列,查询该输入法下的拼音词 典,得到图l所示的词组结构。其中,每一条弧线代表一个词。从图l中可以看出,每一条弧线对应着一个或多个候选词,从上到下按照 词频从高到低排序,而且每一条弧线都隐含有词频信息(图中没有标出),词频 信息指的是拼音串所对应的所有候选词中词频最大的词的词频,图l虛线框中 的词即为词频最大的词。在目前的输入法中,只给用户提供一个候选整句信息,
只有词频最高的词才有效,也就是说词频排在第二位以后的词,比如窝,门,斗士等,不会在最后的候选整句结果中出现。因此图1可以简化为图2。根据图2所示,利用两点间最短路径算法求出概率最大的一条路径,即最有可能的候选词组合方案,作为最后的整句生成结果,并作为候选词窗口的第一位输出,在图2中以虛线标出。但是使用该方法,只能选择词频最高的词, 如果第一候选词不正确,用户要重新选择每个词组,准确率不高。发明内容有鉴于此,本发明的主要目的在于提供一种整句生成方法及装置,能简单 高效地生成整句,并能提高选词的准确率。为达到上述目的,本发明的技术方案是这样实现的一种整句生成的装置,该装置包括查询模块、第一缓冲区、第二缓冲区、整句输出模块;其中,第一、第二缓冲区,分别用于存储当前拼音输入的上、下文;查询模块,用于在词表中查询当前拼音输入的各候选词词频、各候选词与上下文词组共现词频;整句输出模块,用于计算当前拼音输入的每个候选词与上下文共现的条件概率,并选择条件概率最大的候选词与上下文构成整句输出。 该装置还包括分词模块,用于根据输入法词表划分词组。 该装置还包括统计模块,用于统计单个词、共现词的词频,将统计结果存入词表。一种整句生成的方法,该方法包括A、 截取光标两侧上下文,并对所截取的上下文分别进行分词;B、 对当前拼音输入划分音节,获取每个音节的候选词;C、 在词表中查询各音节的全部候选词、各候选词词频、上下文单个词词 频、各候选词与上下文的共现词频;D、 确定每个音节的候选词,并输出整句。 步骤A中根据缓冲区大小,截取光标两侧上下文,且遇到标点结束截取。 步骤A中所述分词为将上下文根据输入法词表分别划分为若干个词。所述方法还包括根据输入法词表,釆用原始文本训练,存储共同出现的词的共现词频。所述原始文本训练步骤包括选取若干文本并扫描;对扫描结果进行分词;统计分词结果,存储单个词、共现词频;其中,共现词频词组中包含的词的个数,根据缓冲区的大小确定。步骤D进一步包括Dl、分别计算各音节候选词的条件概率;D2、对每个音节选取条件概率最大的候选词,组成整句输出。本发明所提供的整句生成方法及装置,在根据候选词生成整句时,考虑到当前候选词位置两侧的上下文,这样能充分利用输入上下文的信息,生成的候选结果准确率更高,从而提高了用户的输入体验。


图1为现有输出整句的词组结构示意图;图2为简化的现有输出整句的词组结构示意图;图3为本发明装置示意图;图4为本发明方法流程图;图5为本发明输出整句词组结构示意图。
具体实施方式
本发明的基本思想是对原始文本进行训练,使其包含共现词词频。通常, 输入法都会带有自己的词表、划分词组的方式即分词方法,根据原始文本训练 每个词出现的次数,即词频。本发明在原始文本训练过程中,除了统计单个词
的词频,还要各种词组共同出现的频率,即共现词词频,并将统计结果保存在 词表中备用。当用户输入文本时,选择当前拼音输入的候选词中与上下文组成 整句概率最大的,与上下文生成整句输出。本发明所述装置如图3所示,该装置包括分词模块、统计模块、查询模 块、左缓冲区、右缓冲区,其中,分词模块用于根据输入法词表将文件划分为若干词组;统计模块用于统计单个词、共现词的词频,将统计结果存入词表;查询模块用于从词表中查询当前拼音输入的各候选词的词频、各候选词与 上下文词组的共现词频;左、右缓冲区分别用于存储当前拼音输入的上、下文;实际应用中,也可 以将分别存储上、下文的缓冲区命名为前、后缓冲区等等,只要功能相同即可, 基于此,本发明将分别存储上、下文的缓冲区统称为第一缓冲区和第二缓冲区; 每次进行插入词汇的操作,对上一次缓冲区的内容进行覆盖;整句输出模块用于计算当前拼音输入的每个候选词与上下文共现的条件概 率,并选择条件概率最大的候选词与上下文构成整句输出。釆用本发明所述方法之前,根据原始文本对输入法进行训练,使其包含共 现词词频,将共现词频保存在词表中。原始训练的过程是选取若干文本并扫描;对扫描结果进行分词;统计分 词结果,存储单个词、共现词频;其中共现词频词组中包含的词的个数,根据 缓冲区的大小确定。例如缓冲区存放l个词,那么只需训练两个词共现词频, 如果缓冲区存放2个词,那么需要训练3个词的共现词频和两个词的共现词频, 以此类推。例如当前光标所在位置两侧的内容是"现在l股市大涨",这里,T代表 光标。用户想在光标位置处插入"沪深"这个词,如图4所示,有以下步骤 步骤l:获取光标两侧上下文,对上下文分词,并将分词结果放入缓冲区。 从光标两侧获取文本内容,获取文本的长度根据用户的需要确定,例如, 设定为十个字、二十个字等等,只要不超过缓冲区能够容纳的范围即可。并且,
遇到标点符号则停止,本例中取缓冲区存放两个字。然后,将所获得的上下文内容分别传送到分词模块,由分词模块根据输入 法词表对所获取的上下文分别进行分词,并将上文的分词结果放入左缓冲区, 下文分词结果放入右缓冲区。对应前述例子,将"现在"这个词存放左缓冲区, 将"股巿"这个词存放到右缓冲区。步骤2:对当前拼音输入划分音节,获取每个音节的候选词,并在词表中 查询各音节的全部候选词、各候选词词频、上下文单个词词频、各候选词与上 下文的共现词频。根据候选词的上下文,由分词模块对"hu,shen"划分音节后,对应的词输 出情况如图5所示查询模块从左、右缓冲区分别调取上下文,并在词表中寻 找各候选词的词频、各候选词与上下文分别共现的共现词频,将查询结果传送 到整句输出模块。本例中,查询模块根据上下文,查找"护身"、"沪深"、"护身股巿"、"现 在护身"、"现在沪深"、"沪深股巿"的词频,并传送到整句输出模块。将"现 在"、"hushen"、"股巿"分别标记为A、 B、 C,其中"hushen,,的对应的候选 词,分别标记为B,、 B2、 B3等等。步骤3:确定每个音节的候选词,并输出整句。计算每个音节的全部候选词与上下文构成整句的概率,选择与上下文构成 整句概率最大的候选词输出。整句中B出现的概率可根据如下公式计算<formula>formula see original document page 8</formula> (1)
其中,P(B)表示各候选词出现的条件概率,a和b是0 l之间的数,并且a 和b之和要小于1,根据原始文本的训练经验或者选取最大概率情况下的候选 词的最优化方法得出a、 b的值,fAB、 fA、 fe分别表示AB两个词共现词频、A 词的词频、B词的词频,F表示所构成整句中的所有词的词频总和,N表示所 构成整句中的总的词数。本实施例中,a取0.85, b取0.12。如果A词在原始
文本中没有出现,则词频计为0,如果A词、B词两个词没有共现,则共现的词频也计为0。 fAB、 fA、 fB均从词表中查找,F是指A词、B词、C词的总的词 频,N在此处取3。对各候选词B的每个候选项B,、 B2,分别计算Pw、 PB2, 选择概率大的输出。如果两个词共同出现过,那么,该两个词之间存在条件概率,这两个词的 概率乘积要大于没有共同出现过的两个单独词。从词表知,"沪深"和"股巿" 存在共现词频,而"护身"和"股市"不存在共现词频,则"沪深"与"股巿" 的概率乘积要大于"护身"和"股巿"之间的概率乘积,从而选择"沪深"作为当前拼音输入的最终选项,整句输出模块输出"现在沪深股市"。 下面再举一个例子,说明当缓冲区存放多个词时的情况。 本例中,当前光标所在位置两侧的内容是"周末我们去l十三陵水库游玩",用户想输入"北京市昌平区"两个词,缓冲区存放两个词,那么,整句生成方法包括步骤601:获取光标两侧上下文,对上下文分词,并将分词结果放入缓冲区。将"周末"、"我们"、"去"、"十三陵"、"水库"、"游玩",分别标记为词D、 E、 H、 L、 M和S。左缓冲区按照句子原来的顺序依次存放"我们"、"去";右 缓冲区依次存放"十三陵"、"水库"。步骤602:对当前拼音输入划分音节,获取每个音节的候选词,并在词表 中查询各音节的全部候选词、各候选词词频、上下文单个词词频、各候选词与 上下文的共现词频。对"beijingshichangpingqu,, 的划分结果为 "beijingshi,, 、 "changpingqu"、 标记为词J、词K,查找上下文中的单个词词频、各候选词的词频,即词D、 E、 H、 L、 M和S的词频fb、 fE、 fH、 fl、 fM和fs,词J、词K候选词各有两个分 别为J,"北京巿"、J2 "背景是"、& "昌平区"、K2 "长平区",词频分别为fn、 fK1、 fj2、 &2, 以及计算中需要的上下文共现词频fEH、 fHI1、 fHJ2、 fI1K、卩K2L、 fEHJl、 fEHJ2、 fRUKl、 fHJlK2、 f*HJ2K2、 fHJ2K2、 ftlKlL、 fjlK2L、 fj2KlL、 fj2K2L、 fKlLM、flC2LM。步骤603:确定每个音节的候选词,并输出整句。计算每个音节的各候选词与上下文构成整句的概率,选择与上下文构成整句概率最大的各候选词组成整句输出。此时,计算每个各候选词出现的条件概率的公式,以词J为例,为尸(力-"x^ + "左+0-") (2) /甜 , ^fEHJ为词J与缓冲区中上文词E、词H共现词频,fEH为缓冲区中的词E和词H共现词频,fj为词J的词频;此时的总词数N为缓冲区的词加上当前要输 入的词,即N为6; F即为根据不同候选词所选6个词的总词频;a、 b的取值 同实施例一。根据公式(2),分别计算当前拼音输入的各个候选词与缓冲区中的上下文构成整句的条件概率Pn、 Pj2、 PK1、 PK2,选择概率最大的候选词Ji、 Ki组合输出,得到"北京巿昌平区"输出。类似的,当缓冲区中存放多个词,当前的光标处需要插入多个词的时候, 要预先训练相应个数的词的共现频率,并计算欲插入词的每个候选词在整句输 出时的条件概率,以其中条件概率最大的构成整句输出,该输出结果可能在语 意上不完全是一句话,但是避免了对词汇的一个一个的选择过程,大大提高了 用户输入的满意度。以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
权利要求
1、一种整句生成的装置,其特征在于,该装置包括查询模块、第一缓冲区、第二缓冲区、整句输出模块;其中,第一、第二缓冲区,分别用于存储当前拼音输入的上、下文;查询模块,用于在词表中查询当前拼音输入的各候选词词频、各候选词与上下文词组共现词频;整句输出模块,用于计算当前拼音输入的每个候选词与上下文共现的条件概率,并选择条件概率最大的候选词与上下文构成整句输出。
2、 根据权利要求l所述的整句生成的装置,其特征在于,该装置还包括分 词模块,用于根据输入法词表划分词组。
3、 根据权利要求l所述的整句生成的装置,其特征在于,该装置还包括统 计模块,用于统计单个词、共现词的词频,将统计结果存入词表。
4、 一种整句生成的方法,其特征在于,该方法包括A、 截取光标两侧上下文,并对所截取的上下文分别进行分词;B、 对当前拼音输入划分音节,获取每个音节的候选词;c、在词表中查询各音节的全部候选词、各候选词词频、上下文单个词词 频、各候选词与上下文的共现词频;D、确定每个音节的候选词,并输出整句。
5、 根据权利要求4所述的整句生成的方法,其特征在于,步骤A中根据 缓冲区大小,截取光标两侧上下文,且遇到标点结束截取。
6、 根据权利要求4所述的整句生成的方法,其特征在于,步骤A中所述 分词为将上下文根据输入法词表分别划分为若干个词。
7、 根据权利要求4所述的整句生成的方法,其特征在于,所述方法还包括 根据输入法词表,釆用原始文本训练,存储共同出现的词的共现词频。
8、 根据权利要求7所述的整句生成的方法,其特征在于,所述原始文本训 练步骤包括 选取若干文本并扫描;对扫描结果进行分词;统计分词结果,存储单个词、共现词频;其中,共现词频词组中包含的词的个数,根据缓冲区的大小确定。
9、根据权利要求4所述的整句生成的方法,其特征在于,步骤D进一步包括Dl、分别计算各音节候选词的条件概率;D2、对每个音节选取条件概率最大的候选词,组成整句输出。
全文摘要
本发明公开了一种整句生成的方法,该方法包括对各候选词两侧上下文分词;在词表中查询每个候选词与所述上下文的共现词频;根据得到的共现词频计算每个候选词与上下文构成整句的概率,选择与上下文构成整句概率最大的候选词输出。本发明还公开了相应装置,该装置包括查询模块、第一缓冲区、第二缓冲区、整句输出模块;其中,第一、第二缓冲区,分别用于存储当前拼音输入的上、下文;查询模块,用于在词表中查询各候选词词频、各候选词与上下文词组共现词频;整句输出模块,用于计算根据每个候选词与上下文共现的条件概率,并选择条件概率最大的候选词与上下文构成整句输出。本发明整句输出准确率更高。
文档编号G06F17/30GK101158969SQ200710178040
公开日2008年4月9日 申请日期2007年11月23日 优先权日2007年11月23日
发明者张会鹏 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1