CN110110292A - 一种数据处理方法、装置和用于数据处理的装置 - Google Patents

一种数据处理方法、装置和用于数据处理的装置 Download PDF

Info

Publication number
CN110110292A
CN110110292A CN201810084098.1A CN201810084098A CN110110292A CN 110110292 A CN110110292 A CN 110110292A CN 201810084098 A CN201810084098 A CN 201810084098A CN 110110292 A CN110110292 A CN 110110292A
Authority
CN
China
Prior art keywords
syntax
data
structured data
grammar model
component grammar
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.)
Granted
Application number
CN201810084098.1A
Other languages
English (en)
Other versions
CN110110292B (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.)
Beijing Sogou Technology Development Co Ltd
Original Assignee
Beijing Sogou Technology Development Co Ltd
Sogou Hangzhou Intelligent 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 Beijing Sogou Technology Development Co Ltd, Sogou Hangzhou Intelligent Technology Co Ltd filed Critical Beijing Sogou Technology Development Co Ltd
Priority to CN201810084098.1A priority Critical patent/CN110110292B/zh
Publication of CN110110292A publication Critical patent/CN110110292A/zh
Application granted granted Critical
Publication of CN110110292B publication Critical patent/CN110110292B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • G06F40/146Coding or compression of tree-structured data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/211Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue

Abstract

本发明实施例提供了一种数据处理方法、装置和用于数据处理的装置。其中的方法具体包括:从多元文法模型的结构数据中确定第一目标结构数据;确定所述第一目标结构数据对应的目标数据类型;按照所述目标数据类型,对所述第一目标结构数据进行存储。本发明实施例可以极大地减小多元文法模型占用的内存空间,进而可以提高语音识别的速度。

Description

一种数据处理方法、装置和用于数据处理的装置
技术领域
本发明涉及语音识别技术领域,尤其涉及一种数据处理方法、装置和用于数据处理的装置。
背景技术
语音识别,是指将人类语音中的词汇内容转换为计算机可读的输入,例如将语音信号转换为文本等。随着语音识别技术的不断发展,语音识别技术的应用场景也更加广泛,例如上述应用场景可以包括:语音拨号、语音导航、室内设备控制、语音文档检索、简单的听写数据录入等。
n-gram(n元文法)模型是语音识别中常用的一种语言模型,其中,n通常为大于1的正整数,且通常n越大则语言模型的性能越高,语音识别的结果也越准确。
离线语音识别是指将语音识别所需要的语言模型等相关资源存储在客户端,由客户端在不联网的情况下完成语音识别的技术。然而,语言模型的数据量通常较大,将语言模型存储在客户端,会占用客户端大量的内存空间;上述内存空间的占用不仅会影响离线语音识别的运行速度,还会影响客户端中其它应用的运行。
发明内容
本发明实施例提供一种数据处理方法、装置和用于数据处理的装置,以解决现有技术中离线语音识别内存占用过大的问题。
为了解决上述问题,本发明实施例公开了一种数据处理方法,包括:
从多元文法模型的结构数据中确定第一目标结构数据;
确定所述第一目标结构数据对应的目标数据类型;
按照所述目标数据类型,对所述第一目标结构数据进行存储。
可选地,所述第一目标结构数据包括:文法的条件概率、和/或、文法的回退权重;所述目标数据类型包括:单字节整型。
可选地,所述第一目标结构数据包括:所述多元文法模型中文法的词序列;所述目标数据类型包括:无符号双字节整型。
可选地,所述方法还包括:
从所述多元文法模型的结构数据中确定第二目标结构数据;所述第二目标结构数据包括:文法的回退位置、和/或、文法的回退位置对应的层数;
从所述多元文法模型的结构数据中删除所述第二目标结构数据,以得到压缩后的多元文法模型。
可选地,所述第二目标结构数据还包括:以文法为前缀的下一层文法的起始位置。
可选地,所述第二目标结构数据还包括:最高层文法对应的回退权重。
可选地,所述方法还包括:
从所述多元文法模型的数据中确定第一数据和第二数据;所述第一数据包括:文法的回退权重、和/或、文法的回退位置对应的层数;所述第二数据包括:文法的词序列;
将所述第一数据作为目标数据字段的高位进行存储,以及,将所述第二数据作为所述目标数据字段的低位进行存储。
可选地,所述目标数据字段包括:第一数据或者第二数据对应的字段。
另一方面,本发明实施例公开了一种语音识别方法,包括:
加载多元文法模型;所述多元文法模型的结构数据中包括:第一目标结构数据,且所述第一目标结构数据的类型为目标数据类型;
根据所述多元文法模型对文法进行语音识别。
可选地,所述第一目标结构数据包括:文法的条件概率、和/或、文法的回退权重;所述目标数据类型包括:单字节整型。
可选地,所述第一目标结构数据包括:所述多元文法模型中文法的词序列;所述目标数据类型包括:无符号双字节整型。
可选地,所述多元文法模型不包括:文法的回退位置、和/或、文法的回退位置对应的层数;所述多元文法模型包括:文法的存储位置、和/或、文法对应的层数和文法回退的层数;所述根据所述多元文法模型对文法进行语音识别,包括:
根据所述文法对应的上层文法的存储位置,确定所述文法的回退位置;和/或,
根据所述文法对应的层数、以及所述文法回退的层数,确定所述文法的回退位置对应的层数。
可选地,所述多元文法模型不包括:以文法为前缀的下一层文法的起始位置;所述根据所述多元文法模型对文法进行语音识别,还包括:
根据与所述文法相邻的上一个文法的结束位置,确定所述以文法为前缀的下一层文法的起始位置。
可选地,所述多元文法模型不包括:最高层文法对应的回退权重。
又一方面,本发明实施例公开了一种数据处理装置,包括:
第一确定模块,用于从多元文法模型的结构数据中确定第一目标结构数据;
类型确定模块,用于确定所述第一目标结构数据对应的目标数据类型;
第一存储模块,用于按照所述目标数据类型,对所述第一目标结构数据进行存储。
可选地,所述第一目标结构数据包括:文法的条件概率、和/或、文法的回退权重;所述目标数据类型包括:单字节整型。
可选地,所述第一目标结构数据包括:所述多元文法模型中文法的词序列;所述目标数据类型包括:无符号双字节整型。
可选地,所述装置还包括:
第二确定模块,用于从所述多元文法模型的结构数据中确定第二目标结构数据;所述第二目标结构数据包括:文法的回退位置、和/或、文法的回退位置对应的层数;
删除模块,用于从所述多元文法模型的结构数据中删除所述第二目标结构数据,以得到压缩后的多元文法模型。
可选地,所述第二目标结构数据还包括:以文法为前缀的下一层文法的起始位置。
可选地,所述第二目标结构数据还包括:最高层文法对应的回退权重。
可选地,所述装置还包括:
第三确定模块,用于从所述多元文法模型的数据中确定第一数据和第二数据;所述第一数据包括:文法的回退权重、和/或、文法的回退位置对应的层数;所述第二数据包括:文法的词序列;
第二存储模块,用于将所述第一数据作为目标数据字段的高位进行存储,以及,将所述第二数据作为所述目标数据字段的低位进行存储。
可选地,所述目标数据字段包括:第一数据或者第二数据对应的字段。
再一方面,本发明实施例公开了语音识别装置,包括:
加载模块,用于加载多元文法模型;所述多元文法模型的结构数据中包括:第一目标结构数据,且所述第一目标结构数据的类型为目标数据类型;
识别模块,用于根据所述多元文法模型对文法进行语音识别。
可选地,所述第一目标结构数据包括:文法的条件概率、和/或、文法的回退权重;所述目标数据类型包括:单字节整型。
可选地,所述第一目标结构数据包括:所述多元文法模型中文法的词序列;所述目标数据类型包括:无符号双字节整型。
可选地,所述多元文法模型不包括:文法的回退位置、和/或、文法的回退位置对应的层数;所述多元文法模型包括:文法的存储位置、和/或、文法对应的层数和文法回退的层数;所述识别模块,包括:
第一确定子模块,用于根据所述文法对应的上层文法的存储位置,确定所述文法的回退位置;和/或,
第二确定子模块,用于根据所述文法对应的层数、以及所述文法回退的层数,确定所述文法的回退位置对应的层数。
可选地,所述多元文法模型不包括:以文法为前缀的下一层文法的起始位置;所述识别模块,还包括:
第三确定子模块,用于根据与所述文法相邻的上一个文法的结束位置,确定所述以文法为前缀的下一层文法的起始位置。
可选地,所述多元文法模型不包括:最高层文法对应的回退权重。
再一方面,本发明实施例公开了一种用于数据处理的装置,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
从多元文法模型的结构数据中确定第一目标结构数据;
确定所述第一目标结构数据对应的目标数据类型;
按照所述目标数据类型,对所述第一目标结构数据进行存储。
可选地,所述第一目标结构数据包括:文法的条件概率、和/或、文法的回退权重;所述目标数据类型包括:单字节整型。
可选地,所述第一目标结构数据包括:所述多元文法模型中文法的词序列;所述目标数据类型包括:无符号双字节整型。
可选地,所述装置还经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
从所述多元文法模型的结构数据中确定第二目标结构数据;所述第二目标结构数据包括:文法的回退位置、和/或、文法的回退位置对应的层数;
从所述多元文法模型的结构数据中删除所述第二目标结构数据,以得到压缩后的多元文法模型。
可选地,所述第二目标结构数据还包括:以文法为前缀的下一层文法的起始位置。
可选地,所述第二目标结构数据还包括:最高层文法对应的回退权重。
可选地,所述装置还经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
从所述多元文法模型的数据中确定第一数据和第二数据;所述第一数据包括:文法的回退权重、和/或、文法的回退位置对应的层数;所述第二数据包括:文法的词序列;
将所述第一数据作为目标数据字段的高位进行存储,以及,将所述第二数据作为所述目标数据字段的低位进行存储。
可选地,所述目标数据字段包括:第一数据或者第二数据对应的字段。
再一方面,本发明实施例公开了一种用于语音识别的装置,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
加载多元文法模型;所述多元文法模型的结构数据中包括:第一目标结构数据,且所述第一目标结构数据的类型为目标数据类型;
根据所述多元文法模型对文法进行语音识别。
可选地,所述第一目标结构数据包括:文法的条件概率、和/或、文法的回退权重;所述目标数据类型包括:单字节整型。
可选地,所述第一目标结构数据包括:所述多元文法模型中文法的词序列;所述目标数据类型包括:无符号双字节整型。
可选地,所述多元文法模型不包括:文法的回退位置、和/或、文法的回退位置对应的层数;所述多元文法模型包括:文法的存储位置、和/或、文法对应的层数和文法回退的层数;所述根据所述多元文法模型对文法进行语音识别,包括:
根据所述文法对应的上层文法的存储位置,确定所述文法的回退位置;和/或,
根据所述文法对应的层数、以及所述文法回退的层数,确定所述文法的回退位置对应的层数。
可选地,所述多元文法模型不包括:以文法为前缀的下一层文法的起始位置;所述根据所述多元文法模型对文法进行语音识别,还包括:
根据与所述文法相邻的上一个文法的结束位置,确定所述以文法为前缀的下一层文法的起始位置。
可选地,所述多元文法模型不包括:最高层文法对应的回退权重。
再一方面,本发明实施例公开了一种机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得装置执行如前述一个或多个所述的数据处理方法。
再一方面,本发明实施例公开了一种机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得装置执行如前述一个或多个所述的语音识别方法。
本发明实施例包括以下优点:
本发明实施例的数据处理方法,可以从多元文法模型的结构数据中确定第一目标结构数据,并且确定所述第一目标结构数据对应的目标数据类型,以及按照所述目标数据类型,对所述第一目标结构数据进行存储。其中,所述第一目标数据结构指其数据类型占用多余的存储空间,可以对其数据类型进一步进行压缩的数据结构,且在压缩之后不影响语音识别效果。例如,所述第一目标数据结构可以为文法的条件概率,文法的条件概率原有的数据类型为浮点类型,所述目标数据类型可以为单字节整型,也即,可以按照单字节整型,对文法的条件概率进行存储,这样,对于一个文法条目,可以节省3B的存储空间。因此,通过本发明实施例,对于10M的文法条目,至少可以节省30M的存储空间,可以极大地减小多元文法模型占用的内存空间,进而可以提高语音识别的速度。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明的一种数据处理方法实施例的步骤流程图;
图2是本发明的一种语音识别方法实施例的步骤流程图;
图3是本发明的一种数据处理装置实施例的结构框图;
图4是本发明的一种语音识别装置实施例的结构框图;
图5是本发明的一种用于数据处理的装置800的框图;及
图6是本发明的一些实施例中服务器的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在语言模型技术领域,多元文法模型通常被按照树状结构进行存储,树的每一层中的每个一个节点表示一个文法,文法指文章的书写法规,一般用来指以文字、词语、短句、句子的编排而组成的完整语句和文章的合理性组织。树的第一层为1元文法,第二层为2元文法,以此类推,第n层为n元文法。树中的每一层文法可被存储在数组中,并且可以对数组进行排序,以对数组中存储的文法进行二分查找。树中的节点,也即多元文法模型中的文法可以采用如下数据结构:
其中,prob表示文法的条件概率,backoff_prob表示文法的回退权重,word_id表示文法的词序列,low_id表示以文法为前缀的下一层文法的起始位置,high_id表示以文法为前缀的下一层文法的结束位置,backoff_id表示文法的回退位置,backoff_level表示文法的回退位置对应的层数。
在本发明的一种应用示例中,假设“北京”和“天气”这两个词的word_id分别为345和9835,“北京”对应的2元文法起始和结束位置为103534和113543,“天气”对应的2元文法起始和结束位置为303534和313543,“北京天气”对应的2元文法起始和结束位置为1303534和1313543,对于“北京”和“天气”这两个词,其可能存在的1元文法为:
-2.34北京-0.12
-3.32天气-0.32
其可能的2元文法为:
-2.12北京天气-0.24
1元文法“北京”对应的lm_node1具体可以如下:
1元文法“天气”对应的lm_node1可以如下:
2元文法“北京天气”对应的lm_node1具体可以如下:
其中,prob、backoff_prob的数据类型通常为float(浮点类型),word_id、low_id、high_id、backoff_id、backoff_level的数据类型通常为int(整数类型)。一个float类型的数据占用4B(Byte,字节)的存储空间,一个int类型的数据占用4B的存储空间,因此,一个文法条目占用28B的存储空间,其中,文法条目指具体应用中,多元文法模型中存储的一条具体的n元文法的实例,例如,“我”为一个1元文法条目,“附近|有什么|医院”为一个3元文法条目。如果一个多元文法模型中包含10M文法条目,则该多元文法模型需占用280M的存储空间,在进行离线语音识别之前,需要将280M的多元文法模型加载到内存中,导致占用大量的内存空间,不仅影响离线语音识别的运行速度,还会影响客户端中其它应用的运行。
为解决在语音识别过程中、多元文法模型占用存储空间较大的问题,本发明实施例对现有的多元文法模型进行压缩,以减少多元文法模型占用的存储空间。
具体地,本发明实施例可以从多元文法模型的结构数据中确定第一目标结构数据,并且确定所述第一目标结构数据对应的目标数据类型,以及按照所述目标数据类型,对所述第一目标结构数据进行存储。其中,所述第一目标数据结构指其数据类型占用多余的存储空间,可以对其数据类型进一步进行压缩的数据结构,且在压缩之后不影响语音识别效果。例如,所述第一目标数据结构可以为文法的条件概率,文法的条件概率原有的数据类型为float(浮点类型),所述目标数据类型可以为unsigned char(单字节整型),也即,可以按照单字节整型,对文法的条件概率进行存储,这样,对于一个文法条目,可以节省3B(Byte,字节)的存储空间,对于10M的文法条目,可以节省30M的存储空间。
方法实施例一
参照图1,示出了本发明的一种数据处理方法实施例的步骤流程图,具体可以包括:
步骤101、从多元文法模型的结构数据中确定第一目标结构数据;
步骤102、确定所述第一目标结构数据对应的目标数据类型;
步骤103、按照所述目标数据类型,对所述第一目标结构数据进行存储。
所述多元文法模型具体指n-gram模型,其中n为大于1的正整数,可以理解,本发明实施例对n的具体取值不加以限制,本发明实施例中以3元文法模型为例进行说明。
为了减小多元文法模型占用的存储空间,本发明实施例可以对多元文法模型中第一目标结构数据对应的数据类型进行压缩。
在本发明的一种可选实施例中,所述第一目标结构数据具体可以包括:文法的条件概率、和/或、文法的回退权重;所述目标数据类型具体可以包括:单字节整型。
在本发明的一种应用示例中,通过对实际应用中的多元文法模型中每条文法的条件概率以及回退权重进行分析,可以得知文法的条件概率以及文法的回退权重对应的概率值通常在很小的概率范围内,例如,通常在-10至0之间,而现有的多元文法模型中文法的条件概率prob和文法的回退权重backoff_prob的数据类型均为float类型,占用了大量的无用空间,因此,所述第一目标结构数据具体可以包括:文法的条件概率和/或回退权重,本发明实施例可以对文法的条件概率prob和/或文法的回退权重backoff_prob的数据类型进行压缩,由于prob和/或backoff_prob对应的数值通常在-10至0之间,unsigned char(单字节整型)即可满足prob和/或backoff_prob的数值范围,因此,本发明实施例可以确定文法的条件概率和/或回退权重对应的目标数据类型为单字节整型,按照所述单字节整型,对所述第一目标结构数据进行存储,也即将prob和/或backoff_prob对应的数据类型由原来的float压缩为unsigned char。一个unsigned char类型的数据仅需占用1B的存储空间,这样,在将prob和backoff_prob对应的数据类型均压缩为unsigned char之后,一个文法条目可以节省6B的存储空间。
可以理解,本发明实施例对于所述第一目标结构数据对应的目标数据类型不加以限制,例如,还可以将backoff_prob对应的数据类型由原来的float压缩为char(字符类型)等。
在本发明的一种可选实施例中,所述第一目标结构数据还可以包括:所述多元文法模型中文法的词序列;所述目标数据类型具体可以包括:无符号双字节整型。
在离线语音识别过程中,多元文法模型使用的词表通常比在线语音识别中使用的词表规模小得多,现有的多元文法模型中文法的词序列word_id对应的数据类型为int,而在离线语音识别的过程中,由于词表的规模较小,其中的词条较少,因此文法的词序列不会太大,使用int类型会造成存储空间的浪费,因此,本发明实施例可以对多元文法模型中文法的词序列word_id对应的数据类型进行压缩,具体地,可以确定所述第一目标结构数据为多元文法模型中文法的词序列,以及确定所述目标数据类型(即word_id对应的数据类型)为无符号双字节整型,由此可以将word_id对应的数据类型由原来的int类型压缩为unsigned short(无符号双字节整型)。一个unsigned short类型的数据仅需占用2B的存储空间,这样,在将word_id对应的数据类型压缩为unsigned short之后,一个文法条目又可以节省2B的存储空间。
本发明实施例可以对上述数据结构struct lm_node1中第一目标结构数据对应的目标数据类型进行压缩,得到如下的lm_node2结构:
由此,lm_node2比原始的lm_node1可以节省8B的存储空间。在本发明的一种可选实施例中,所述方法还可以包括:
从所述多元文法模型的结构数据中确定第二目标结构数据;所述第二目标结构数据包括:文法的回退位置、和/或、文法的回退位置对应的层数;
从所述多元文法模型的结构数据中删除所述第二目标结构数据,以得到压缩后的多元文法模型。
其中,所述文法的回退位置具体为backoff_id,以及所述文法的回退位置对应的层数具体为backoff_level。在实际应用中,backoff_id和backoff_level可以通过实时计算得到。因此,本发明实施例可以从所述多元文法模型的结构数据中删除backoff_id和backoff_level,backoff_id和backoff_level的值通过实时计算获取得到。
在本发明的一种可选实施例中,可以通过如下步骤确定文法的回退位置:
根据所述文法对应的上层文法的存储位置,确定所述文法的回退位置。
以及,本发明实施例可以通过如下步骤确定文法的回退位置对应的层数:
根据所述文法对应的层数减去所述文法回退的层数,确定所述文法的回退位置对应的层数。
在本发明的一种应用示例中,假设多元文法模型的最高层文法是n,且n=3,对于句子“ABCDE”,可以根据该多元文法模型计算该句子的条件概率P(ABCDE)=P(A)×P(B|A)×P(C|AB)×P(D|BC)×P(E|CD)。
可以理解,本发明实施例中的“A”、“B”、“C”、“D”、“E”可表示任意的语言单元,如单字或者单词或者词组等,本发明实施例对于“A”、“B”、“C”、“D”、“E”指代的具体语言单元不加以限制。
其中,P(A)表示1元文法“A”的条件概率,可以通过对语料进行统计得到。P(B|A)表示在A存在的条件下,B的条件概率。P(B|A)的计算过程具体如下:首先,获取1元文法“A”对应的low_id和high_id,也即以“A”为前缀的下一层文法(2元文法)对应的起始位置和结束位置;然后,在1元文法“A”对应的low_id和high_id的范围内查找是否存在2元文法“AB”,如果存在,则可以直接获取2元文法“AB”的条件概率;如果不存在,则计算P(B|A)=α(A)×P(B),其中,α(A)为A的回退权重,P(B)为B的条件概率,可以直接计算得到α(A)×P(B)。
同样地,还需要计算概率P(C|AB),P(C|AB)表示在“AB”存在的条件下,C存在的概率。P(C|AB)的计算过程具体如下:首先,获取2元文法“AB”对应的low_id和high_id,也即以“AB”为前缀的下一层文法(3元文法)对应的起始位置和结束位置;然后,在2元文法“AB”对应的low_id和high_id的范围内查找是否存在3元文法“ABC”,如果存在,则可以直接获取3元文法“ABC”的条件概率;如果不存在,则计算P(C|AB)=α(AB)×P(C|B),其中,α(AB)为“AB”的回退权重,P(C|B)的计算过程与上述P(B|A)的计算过程相同。
同理,P(D|BC)、P(E|CD)的计算过程与P(C|AB)的计算过程相同,相互参照即可,由此可以计算得到P(ABCDE)。
可以看出,在3元文法中,在计算单个概率如计算P(B|A)或者P(C|AB)的过程中,文法的回退位置backoff_id以及文法的回退位置对应的层数backoff_level不用进行二分查找即可直接获取得到,而在计算更高元如4元文法的条件概率时,backoff_id和backoff_level可以通过二分查找实时计算得到。因此,本发明实施例可以从多元文法模型的结构数据中删除文法的回退位置backoff_id、和/或、文法的回退位置对应的层数backoff_level,具体地,本发明实施例删除backoff_id和backoff_level,以得到压缩后的多元文法模型,在不影响多元文法模型识别效果的基础上,通过删除backoff_id和backoff_level,一个文法条目可以节省8B的存储空间,对于10M的文法条目,可以节省80M的存储空间。
在本发明的一种应用示例中,假设计算P(D|ABC),具体地,在3元文法“ABC”对应的low_id和high_id的范围内查找是否存在4元文法“ABCD”,若存在,可以直接获取P(D|ABC),若不存在,则进行回退计算。对于3元文法“ABC”的回退位置存在如下两种可能:2元文法“BC”对应的存储位置,或者1元文法“C”对应的存储位置。若存在2元文法“BC”,则回退到2元文法“BC”的存储位置,从该位置的low和high查找3元文法“BCD”,并计算P(D|BC);“BC”的存储位置可以通过如下方式获取得到:获取1元文法“B”对应的low_id和high_id,在“B”对应的low_id和high_id的范围内查找到2元文法“BC”,即可得到“BC”的存储位置,backoff_level可以通过当前层数减去回退层数1计算得到,也即backoff_level为3-1=2。若不存在2元文法“BC”,则回退到1元文法“C”的存储位置,从该位置的low和high查找2元文法“CD”,并计算P(D|C)。1元文法“C”的存储位置可以在数组中直接定位得到,backoff_level可以通过当前层数减去回退层数2计算得到,也即backoff_level为3-2=1。由于多元文法模型中的文法是以树状结构存储的,因此,所述文法的当前层数具体可以为对应节点在树中的层号,通过查询节点对应的层号,即可得到所述文法的当前层数。
此外,在连续计算多个条件概率的过程中,例如连续计算P(D|ABC)和P(E|BCD),需要进行一次或者多次二分查找才能获取文法的backoff_id,因此,在计算过程中可以利用参数保存文法的backoff_id,例如,本发明实施例通过参数history保存当前文法的backoff_id,该参数为int类型,以及通过参数current_word保存新词的ID,该参数为unsigned short类型。
例如,在计算P(D|ABC)时,history为“ABC”的回退位置,current_word为“D”。在计算完P(D|ABC)之后,需要修改history,将history修改为“ABCD”的回退位置,如“BCD”或者“CD”或者“D”对应的存储位置,此时,该计算P(E|BCD),出现新词E,需计算后续概率P(E|BCD)或者P(E|CD)或者P(E|D)。在计算完成之后,同样将history修改为当前文法的回退位置,再进行下一个条件概率的计算。由此,在计算下一个文法的条件概率时,可以通过参数history直接获取当前文法的回退位置,进而可以节省二分查找的次数,以提高计算速度。
在本发明的一种可选实施例中,所述第二目标结构数据还可以包括:以文法为前缀的下一层文法的起始位置。
所述以文法为前缀的下一层文法的起始位置具体为low_id,在实际应用中,low_id可以根据相邻文法的结束位置high_id所确定,因此,本发明实施例可以删除low_id,仅保留high_id,通过删除low_id,一个文法条目可以节省4B的存储空间。
在本发明的一种可选实施例中,可以通过如下步骤确定所述以文法为前缀的下一层文法的起始位置:
根据与所述文法相邻的上一个文法的结束位置,确定所述以文法为前缀的下一层文法的起始位置。
在本发明的一种应用示例中,假设文法“的”的low_id为12345,结束位置high_id为23456,也即,存储位置从12345至23456为以“的”为前缀的2元文法,假设文法“的”的相邻下一个文法为“我的”,则文法“我的”的low_id为“的”的high_id加1,因此文法“我的”的low_id为23457。
在经过上述删除第二目标结构数据backoff_id、backoff_level、以及low_id的压缩处理之后,多元文法模型中的文法可以采用如下数据结构:
在本发明的一种可选实施例中,所述第二目标结构数据还可以包括:最高层文法对应的回退权重。
在实际应用中,最高层文法通常不存在回退权重以及下层文法,例如,对于3元文法模型,具有1元、2元以及3元总共3层文法,对于第3层文法,不存在其对应的下一层文法,也即不存在4元文法,回退权重是为下一层文法定义的,最高层文法不存在下一层文法,因此,也不存在回退权重。
因此,本发明实施例可以从多元文法模型的结构数据中,删除最高层文法对应的回退权重,具体地,本发明实施例可以从上述lm_node3结构中进一步删除backoff_prob和high_id,得到最高层文法(也即第n层文法)的数据结构如下:
struct lm_trigram_node1
{unsigned char prob;
unsigned short word_id;}
在本发明实施例中,struct lm_node1为现有的n元文法模型中第1层文法至第n层文法采用的数据结构,经过本发明实施例的数据处理之后,第1层文法至第(n-1)层文法可以采用数据结构struct lm_node3,以及第n层文法可以采用数据结构struct lm_trigram_node1,这样,第n层文法采用单独的数据结构,又可以减少5B的存储空间。
在实际应用中,通过采用本发明实施例的上述数据处理方法对多元文法模型进行压缩,可以将一个含有10M文法条目的多元文法模型由原本的280M压缩到70M以下,在不影响模型识别效果的基础上,极大地减小了多元文法模型占用的存储空间。
在本发明的一种可选实施例中,所述方法还可以包括:
从所述多元文法模型的数据中确定第一数据和第二数据;所述第一数据包括:文法的回退权重、和/或、文法的回退位置对应的层数;所述第二数据包括:文法的词序列;
将所述第一数据作为目标数据字段的高位进行存储,以及,将所述第二数据作为所述目标数据字段的低位进行存储。
所述目标数据字段具体可以为所述多元文法模型的数据中、存在空闲位的字段,例如,word_id为文法的词序列,也即表示文法在词表中的编号,word_id的数据类型为int,一个int类型的数据占用4B的存储空间,也即占用32bit(位),而发明人经过研究发现,用于在线语音识别的词表通常最多包括10万个词,也即,word_id最多可以占用到int类型字段的低17位,word_id字段的高15位通常处于空闲状态,因此,可以将word_id作为目标数据字段。
所述第一数据与第二数据具体可以为:所述多元文法模型的数据中、可以共享所述目标数据字段占用的存储空间的数据。例如,在多元文法模型的数据中,backoff_level表示文法的回退位置对应的层数,对于在线语音识别,多元文法模型中的n通常为4或5或6,backoff_level的取值通常为1至5,需要占用3位的存储空间,而目前backoff_level的数据类型为int,占用32位存储空间,造成存储空间的浪费,因此,本发明实施例可以将文法的词序列word_id作为目标数据字段,将文法的回退位置对应的层数backoff_level作为第一数据,以及将文法的词序列word_id作为第二数据。具体地,对于目标数据字段word_id,其低17位可用于存储第二数据如文法的词序列,高15位可用于存储第一数据如文法的回退位置对应的层数。由于文法的回退位置对应的层数需要占用3位存储空间,高15位还可剩余12位存储空间,因此,本发明实施例还可以将文法的回退权重backoff_prob作为第一数据,存储在word_id字段剩余的高12位。
由此,本发明实施例通过利用目标数据字段的空闲位,对已有的多元文法模型进行压缩,得到压缩后的多元文法模型,使得一个文法条目可以节省8B的存储空间。
在本发明的一种可选实施例中,所述目标数据字段具体可以包括:第一数据或者第二数据对应的字段。
可以理解,上述将文法的词序列word_id作为目标数据字段,将文法的词序列word_id作为第二数据存储在word_id的低17位,将文法的回退位置对应的层数backoff_level作为第一数据存储在word_id的高3位,以及将文法的回退权重backoff_prob作为第二数据存储在word_id剩余的高12位,仅作为本发明实施例的一种应用示例。实际上,本领域技术人员可以根据实际应用需求,确定所述目标数据字段,任意的存在空闲位的字段均在本发明实施例的目标数据字段的保护范围之内。另外,本领域技术人员可以灵活地确定第一数据、以及第二数据在目标数据字段中的位置,也即,第一数据可以位于目标数据字段中的高位或者低位,第二数据可以位于目标数据字段中的低位或者高位等。
此外,本发明实施例对于第一数据、以及第二数据在所述目标数据字段中存储的具体方式也不加以限制。例如,所述第一数据对应的字段可以为目标数据字段,或者,也可以将所述第二数据对应的字段作为目标数据字段。
综上,本发明实施例的数据处理方法,可以从多元文法模型的结构数据中确定第一目标结构数据,并且确定所述第一目标结构数据对应的目标数据类型,以及按照所述目标数据类型,对所述第一目标结构数据进行存储。其中,所述第一目标数据结构指其数据类型占用多余的存储空间,可以对其数据类型进一步进行压缩的数据结构,且在压缩之后不影响语音识别效果。例如,所述第一目标数据结构可以为文法的条件概率,文法的条件概率原有的数据类型为浮点类型,所述目标数据类型可以为单字节整型,也即,可以按照单字节整型,对文法的条件概率进行存储,这样,对于一个文法条目,可以节省3B的存储空间。因此,通过本发明实施例,对于10M的文法条目,至少可以节省30M的存储空间,可以极大地减小多元文法模型占用的内存空间,进而可以提高语音识别的速度。
方法实施例二
参照图2,示出了本发明的一种语音识别方法实施例的步骤流程图,具体可以包括:
步骤201、加载多元文法模型;所述多元文法模型的结构数据中具体可以包括:第一目标结构数据,且所述第一目标结构数据的类型为目标数据类型;
步骤202、根据所述多元文法模型对文法进行语音识别。
所述多元文法模型具体可以为经过本发明的数据处理方法压缩后得到的多元文法模型。本发明实施例在语音识别过程中可以加载压缩后的多元文法模型,以减少多元文法模型占用的内存空间,进而可以提高语音识别的速度。尤其地,对于离线语音识别,由于客户端的存储空间有限,通过采用压缩后的多元文法模型,可以在不影响识别效果的基础上,提高离线语音识别的速度。
其中,所述第一目标数据结构指其数据类型占用多余的存储空间,可以对其数据类型进一步进行压缩的数据结构,且在压缩之后不影响语音识别效果。
在本发明的一种可选实施例中,所述第一目标结构数据具体可以包括:文法的条件概率、和/或、文法的回退权重;所述目标数据类型具体可以包括:单字节整型。
由于文法的条件概率以及文法的回退权重对应的概率值通常在很小的概率范围内,因此本发明实施例中的多元文法模型中文法的条件概率和/或回退权重对应的目标数据类型可以由原来的浮点类型float压缩为单字节整型unsigned char,由此,一个文法条目又可以节省6B的存储空间。
在本发明的一种可选实施例中,所述第一目标结构数据具体可以包括:所述多元文法模型中文法的词序列;所述目标数据类型具体可以包括:无符号双字节整型。
由于在离线语音识别过程中,多元文法模型使用的词表通常较小,因此本发明实施例可以将文法的词序列对应的数据类型由原来的整数类型int压缩为无符号双字节整型unsigned short,由此,一个文法条目又可以节省2B的存储空间。
在本发明的一种可选实施例中,所述多元文法模型不包括:文法的回退位置、和/或、文法的回退位置对应的层数;所述多元文法模型包括:文法的存储位置、和/或、文法对应的层数和文法回退的层数;
所述根据所述多元文法模型对文法进行语音识别,具体可以包括:
根据所述文法对应的上层文法的存储位置,确定所述文法的回退位置;和/或,
根据所述文法对应的层数、以及所述文法回退的层数,确定所述文法的回退位置对应的层数。
本发明实施例中语音识别所采用的多元文法模型中可以不包括:文法的回退位置、和/或、文法的回退位置对应的层数。具体地,所述文法的回退位置可以根据所述文法对应的上层文法的存储位置所确定;和/或,所述文法的回退位置对应的层数可以根据所述文法对应的层数减去所述文法回退的层数所确定。
由于所述多元文法模型可以不包括:文法的回退位置、和/或、文法的回退位置对应的层数,因此,一个文法条目可以节省8B的存储空间,对于10M的文法条目,可以节省80M的存储空间。此外,由于文法的回退位置、和/或、文法的回退位置对应的层数可以通过实时计算得到,因此,采用所述多元文法模型进行语音识别,在节省存储空间的同时,不会影响语音识别的效果。
在本发明的一种可选实施例中,所述多元文法模型可以不包括:以文法为前缀的下一层文法的起始位置;所述根据所述多元文法模型对文法进行语音识别,具体还可以包括:
根据与所述文法相邻的上一个文法的结束位置,确定所述以文法为前缀的下一层文法的起始位置。
所述以文法为前缀的下一层文法的起始位置具体为low_id,在实际应用中,low_id可以根据相邻文法的结束位置high_id所确定,因此,本发明实施例可以删除low_id,仅保留high_id,通过删除low_id,一个文法条目又可以节省4B的存储空间。
在本发明的一种可选实施例中,所述多元文法模型可以不包括:最高层文法对应的回退权重。
在实际应用中,最高层文法通常不存在回退权重以及下层文法,因此,本发明实施例的多元文法模型中可以不包括最高层文法对应的回退权重,由此,多元文法模型又可以减少5B的存储空间。
综上,本发明实施例可以根据加载的多元文法模型进行语音识别;所述多元文法模型中包括:第一目标结构数据,且所述第一目标结构数据的类型为目标数据类型。其中,所述第一目标数据结构指其数据类型占用多余的存储空间,可以对其数据类型进一步进行压缩的数据结构,且在压缩之后不影响语音识别效果。例如,所述第一目标数据结构可以为文法的条件概率,文法的条件概率原有的数据类型为浮点类型,所述目标数据类型可以为单字节整型,也即,可以按照单字节整型,对文法的条件概率进行存储,这样,对于一个文法条目,可以节省3B的存储空间。因此,通过本发明实施例,对于10M的文法条目,至少可以节省30M的存储空间,可以极大地减小多元文法模型占用的内存空间,进而可以提高语音识别的速度。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请实施例并不受所描述的动作顺序的限制,因为依据本申请实施例,某些方框可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请实施例所必须的。
装置实施例
参照图3,示出了本发明的一种数据处理装置实施例的结构框图,具体可以包括:
第一确定模块301,用于从多元文法模型的结构数据中确定第一目标结构数据;
类型确定模块302,用于确定所述第一目标结构数据对应的目标数据类型;
第一存储模块303,用于按照所述目标数据类型,对所述第一目标结构数据进行存储。
可选地,所述第一目标结构数据具体可以包括:文法的条件概率、和/或、文法的回退权重;所述目标数据类型具体可以包括:单字节整型。
可选地,所述第一目标结构数据具体可以包括:所述多元文法模型中文法的词序列;所述目标数据类型具体可以包括:无符号双字节整型。
可选地,所述装置还可以包括:
第二确定模块,用于从所述多元文法模型的结构数据中确定第二目标结构数据;所述第二目标结构数据具体可以包括:文法的回退位置、和/或、文法的回退位置对应的层数;
删除模块,用于从所述多元文法模型的结构数据中删除所述第二目标结构数据,以得到压缩后的多元文法模型。
可选地,所述第二目标结构数据还可以包括:以文法为前缀的下一层文法的起始位置。
可选地,所述第二目标结构数据还可以包括:最高层文法对应的回退权重。
可选地,所述装置还可以包括:
第三确定模块,用于从所述多元文法模型的数据中确定第一数据和第二数据;所述第一数据包括:文法的回退权重、和/或、文法的回退位置对应的层数;所述第二数据包括:文法的词序列;
第二存储模块,用于将所述第一数据作为目标数据字段的高位进行存储,以及,将所述第二数据作为所述目标数据字段的低位进行存储。
可选地,所述目标数据字段具体可以包括:第一数据或者第二数据对应的字段。
装置实施例二
参照图4,示出了本发明的一种语音识别装置实施例的结构框图,具体可以包括:
加载模块401,用于加载多元文法模型;所述多元文法模型的结构数据中包括:第一目标结构数据,且所述第一目标结构数据的类型为目标数据类型;
识别模块402,用于根据所述多元文法模型对文法进行语音识别。
可选地,所述第一目标结构数据具体可以包括:文法的条件概率、和/或、文法的回退权重;所述目标数据类型具体可以包括:单字节整型。
可选地,所述第一目标结构数据具体可以包括:所述多元文法模型中文法的词序列;所述目标数据类型具体可以包括:无符号双字节整型。
可选地,所述多元文法模型不包括:文法的回退位置、和/或、文法的回退位置对应的层数;所述多元文法模型包括:文法的存储位置、和/或、文法对应的层数和文法回退的层数;所述识别模块402,具体可以包括:
第一确定子模块,用于根据所述文法对应的上层文法的存储位置,确定所述文法的回退位置;和/或,
第二确定子模块,用于根据所述文法对应的层数、以及所述文法回退的层数,确定所述文法的回退位置对应的层数。
可选地,所述多元文法模型可以不包括:以文法为前缀的下一层文法的起始位置;所述识别模块,还可以包括:
第三确定子模块,用于根据与所述文法相邻的上一个文法的结束位置,确定所述以文法为前缀的下一层文法的起始位置。
可选地,所述多元文法模型可以不包括:最高层文法对应的回退权重。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本发明实施例还提供了一种用于数据处理的装置,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
从多元文法模型的结构数据中确定第一目标结构数据;
确定所述第一目标结构数据对应的目标数据类型;
按照所述目标数据类型,对所述第一目标结构数据进行存储。
所述第一目标结构数据包括:文法的条件概率、和/或、文法的回退权重;所述目标数据类型包括:单字节整型。
可选地,所述第一目标结构数据包括:所述多元文法模型中文法的词序列;所述目标数据类型包括:无符号双字节整型。
可选地,所述装置还经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
从所述多元文法模型的结构数据中确定第二目标结构数据;所述第二目标结构数据包括:文法的回退位置、和/或、文法的回退位置对应的层数;
从所述多元文法模型的结构数据中删除所述第二目标结构数据,以得到压缩后的多元文法模型。
可选地,所述第二目标结构数据还包括:以文法为前缀的下一层文法的起始位置。
可选地,所述第二目标结构数据还包括:最高层文法对应的回退权重。
可选地,所述装置还经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
从所述多元文法模型的数据中确定第一数据和第二数据;所述第一数据包括:文法的回退权重、和/或、文法的回退位置对应的层数;所述第二数据包括:文法的词序列;
将所述第一数据作为目标数据字段的高位进行存储,以及,将所述第二数据作为所述目标数据字段的低位进行存储。
可选地,所述目标数据字段包括:第一数据或者第二数据对应的字段。
本发明实施例还提供了一种用于语音识别的装置,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
加载多元文法模型;所述多元文法模型的结构数据中包括:第一目标结构数据,且所述第一目标结构数据的类型为目标数据类型;
根据所述多元文法模型对文法进行语音识别。
可选地,所述第一目标结构数据包括:文法的条件概率、和/或、文法的回退权重;所述目标数据类型包括:单字节整型。
可选地,所述第一目标结构数据包括:所述多元文法模型中文法的词序列;所述目标数据类型包括:无符号双字节整型。
可选地,所述多元文法模型不包括:文法的回退位置、和/或、文法的回退位置对应的层数;所述多元文法模型包括:文法的存储位置、和/或、文法对应的层数和文法回退的层数;
所述根据所述多元文法模型对文法进行语音识别,包括:
根据所述文法对应的上层文法的存储位置,确定所述文法的回退位置;和/或,
根据所述文法对应的层数、以及所述文法回退的层数,确定所述文法的回退位置对应的层数。
可选地,所述多元文法模型不包括:以文法为前缀的下一层文法的起始位置;所述根据所述多元文法模型对文法进行语音识别,还包括:
根据与所述文法相邻的上一个文法的结束位置,确定所述以文法为前缀的下一层文法的起始位置。
可选地,所述多元文法模型不包括:最高层文法对应的回退权重。
图5是根据一示例性实施例示出的一种用于数据处理的装置800的框图。例如,装置800可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图5,装置800可以包括以下一个或多个组件:处理组件802,存储器804,电源组件806,多媒体组件808,音频组件810,输入/输出(I/O)的接口812,传感器组件814,以及通信组件816。
处理组件802通常控制装置800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理元件802可以包括一个或多个处理器820来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理组件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。
存储器804被配置为存储各种类型的数据以支持在设备800的操作。这些数据的示例包括用于在装置800上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件806为装置800的各种组件提供电力。电源组件806可以包括电源管理系统,一个或多个电源,及其他与为装置800生成、管理和分配电力相关联的组件。
多媒体组件808包括在所述装置800和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当设备800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(MIC),当装置800处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。
I/O接口812为处理组件802和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件814包括一个或多个传感器,用于为装置800提供各个方面的状态评估。例如,传感器组件814可以检测到设备800的打开/关闭状态,组件的相对定位,例如所述组件为装置800的显示器和小键盘,传感器组件814还可以检测装置800或装置800一个组件的位置改变,用户与装置800接触的存在或不存在,装置800方位或加速/减速和装置800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件816被配置为便于装置800和其他设备之间有线或无线方式的通信。装置800可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件816经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件816还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,装置800可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器804,上述指令可由装置800的处理器820执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
图6是本发明的一些实施例中服务器的结构示意图。该服务器1900可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processingunits,CPU)1922(例如,一个或一个以上处理器)和存储器1932,一个或一个以上存储应用程序1942或数据1944的存储介质1930(例如一个或一个以上海量存储设备)。其中,存储器1932和存储介质1930可以是短暂存储或持久存储。存储在存储介质1930的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1922可以设置为与存储介质1930通信,在服务器1900上执行存储介质1930中的一系列指令操作。
服务器1900还可以包括一个或一个以上电源1926,一个或一个以上有线或无线网络接口1950,一个或一个以上输入输出接口1958,一个或一个以上键盘1956,和/或,一个或一个以上操作系统1941,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
一种非临时性计算机可读存储介质,当所述存储介质中的指令由装置(终端或者服务器)的处理器执行时,使得装置能够执行一种数据处理方法,所述方法包括:从多元文法模型的结构数据中确定第一目标结构数据;确定所述第一目标结构数据对应的目标数据类型;按照所述目标数据类型,对所述第一目标结构数据进行存储。
可选地,所述第一目标结构数据包括:文法的条件概率、和/或、文法的回退权重;所述目标数据类型包括:单字节整型。
可选地,所述第一目标结构数据包括:所述多元文法模型中文法的词序列;所述目标数据类型包括:无符号双字节整型。
可选地,所述处理器还经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
从所述多元文法模型的结构数据中确定第二目标结构数据;所述第二目标结构数据包括:文法的回退位置、和/或、文法的回退位置对应的层数;
从所述多元文法模型的结构数据中删除所述第二目标结构数据,以得到压缩后的多元文法模型。
可选地,所述第二目标结构数据还包括:以文法为前缀的下一层文法的起始位置。
可选地,所述第二目标结构数据还包括:最高层文法对应的回退权重。
可选地,所述处理器还经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
从所述多元文法模型的数据中确定第一数据和第二数据;所述第一数据包括:文法的回退权重、和/或、文法的回退位置对应的层数;所述第二数据包括:文法的词序列;
将所述第一数据作为目标数据字段的高位进行存储,以及,将所述第二数据作为所述目标数据字段的低位进行存储。
可选地,所述目标数据字段包括:第一数据或者第二数据对应的字段。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本发明旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
以上对本发明所提供的一种数据处理方法、一种数据处理装置和一种用于数据处理的装置,以及一种语音识别方法、一种语音识别装置和一种用于语音识别的装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种数据处理方法,其特征在于,所述方法包括:
从多元文法模型的结构数据中确定第一目标结构数据;
确定所述第一目标结构数据对应的目标数据类型;
按照所述目标数据类型,对所述第一目标结构数据进行存储。
2.根据权利要求1所述的方法,其特征在于,所述第一目标结构数据包括:文法的条件概率、和/或、文法的回退权重;所述目标数据类型包括:单字节整型。
3.根据权利要求1所述的方法,其特征在于,所述第一目标结构数据包括:所述多元文法模型中文法的词序列;所述目标数据类型包括:无符号双字节整型。
4.一种语音识别方法,其特征在于,所述方法包括:
加载多元文法模型;所述多元文法模型的结构数据中包括:第一目标结构数据,且所述第一目标结构数据的类型为目标数据类型;
根据所述多元文法模型对文法进行语音识别。
5.一种数据处理装置,其特征在于,所述装置包括:
第一确定模块,用于从多元文法模型的结构数据中确定第一目标结构数据;
类型确定模块,用于确定所述第一目标结构数据对应的目标数据类型;
第一存储模块,用于按照所述目标数据类型,对所述第一目标结构数据进行存储。
6.一种语音识别装置,其特征在于,包括:
加载模块,用于加载多元文法模型;所述多元文法模型的结构数据中包括:第一目标结构数据,且所述第一目标结构数据的类型为目标数据类型;
识别模块,用于根据所述多元文法模型对文法进行语音识别。
7.一种用于数据处理的装置,其特征在于,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
从多元文法模型的结构数据中确定第一目标结构数据;
确定所述第一目标结构数据对应的目标数据类型;
按照所述目标数据类型,对所述第一目标结构数据进行存储。
8.一种用于语音识别的装置,其特征在于,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
加载多元文法模型;所述多元文法模型的结构数据中包括:第一目标结构数据,且所述第一目标结构数据的类型为目标数据类型;
根据所述多元文法模型对文法进行语音识别。
9.一种机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得装置执行如权利要求1至3中一个或多个所述的数据处理方法。
10.一种机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得装置执行如权利要求4所述的语音识别方法。
CN201810084098.1A 2018-01-29 2018-01-29 一种数据处理方法、装置和用于数据处理的装置 Active CN110110292B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810084098.1A CN110110292B (zh) 2018-01-29 2018-01-29 一种数据处理方法、装置和用于数据处理的装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810084098.1A CN110110292B (zh) 2018-01-29 2018-01-29 一种数据处理方法、装置和用于数据处理的装置

Publications (2)

Publication Number Publication Date
CN110110292A true CN110110292A (zh) 2019-08-09
CN110110292B CN110110292B (zh) 2023-11-14

Family

ID=67483193

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810084098.1A Active CN110110292B (zh) 2018-01-29 2018-01-29 一种数据处理方法、装置和用于数据处理的装置

Country Status (1)

Country Link
CN (1) CN110110292B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110795927A (zh) * 2019-10-18 2020-02-14 北京声智科技有限公司 n-gram语言模型读取方法、装置、电子设备及存储介质

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1378130A (zh) * 2002-05-24 2002-11-06 郑方 计算机整句汉字起始四笔划输入方法
CN1445640A (zh) * 2002-03-18 2003-10-01 郑方 计算机整句汉字局部笔划输入方法
CN1468398A (zh) * 2000-08-08 2004-01-14 国际商业机器公司 包括c/c++元模型在内的通用应用程序元模型
CN1748249A (zh) * 2003-02-12 2006-03-15 松下电器产业株式会社 网络环境中语音处理的中间体
CN101283349A (zh) * 2005-06-23 2008-10-08 微软公司 用Golomb码压缩语言模型
CN101361065A (zh) * 2006-02-17 2009-02-04 谷歌公司 分布式模型的编码和自适应、可扩展访问
JP2011033806A (ja) * 2009-07-31 2011-02-17 Nippon Telegr & Teleph Corp <Ntt> 言語モデル圧縮装置、言語モデルのアクセス装置、言語モデル圧縮方法、言語モデルのアクセス方法、言語モデル圧縮プログラム、言語モデルのアクセスプログラム
CN102439542A (zh) * 2009-03-30 2012-05-02 触摸式有限公司 电子设备的文本输入系统及文本输入方法
US20130173676A1 (en) * 2011-12-29 2013-07-04 Matthew Thomas Compression of small strings
US8725509B1 (en) * 2009-06-17 2014-05-13 Google Inc. Back-off language model compression
CN103929448A (zh) * 2013-01-14 2014-07-16 百度国际科技(深圳)有限公司 在云端服务器提供细胞词库的方法、系统及装置
CN107422872A (zh) * 2016-05-24 2017-12-01 北京搜狗科技发展有限公司 一种输入方法、装置和用于输入的装置
CN107430859A (zh) * 2015-04-08 2017-12-01 谷歌公司 将输入映射到表单域
CN107608714A (zh) * 2017-09-30 2018-01-19 广州酷狗计算机科技有限公司 字节对齐方法、装置及计算机可读存储介质

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1468398A (zh) * 2000-08-08 2004-01-14 国际商业机器公司 包括c/c++元模型在内的通用应用程序元模型
CN1445640A (zh) * 2002-03-18 2003-10-01 郑方 计算机整句汉字局部笔划输入方法
CN1378130A (zh) * 2002-05-24 2002-11-06 郑方 计算机整句汉字起始四笔划输入方法
CN1748249A (zh) * 2003-02-12 2006-03-15 松下电器产业株式会社 网络环境中语音处理的中间体
CN101283349A (zh) * 2005-06-23 2008-10-08 微软公司 用Golomb码压缩语言模型
CN101361065A (zh) * 2006-02-17 2009-02-04 谷歌公司 分布式模型的编码和自适应、可扩展访问
CN102439542A (zh) * 2009-03-30 2012-05-02 触摸式有限公司 电子设备的文本输入系统及文本输入方法
US8725509B1 (en) * 2009-06-17 2014-05-13 Google Inc. Back-off language model compression
JP2011033806A (ja) * 2009-07-31 2011-02-17 Nippon Telegr & Teleph Corp <Ntt> 言語モデル圧縮装置、言語モデルのアクセス装置、言語モデル圧縮方法、言語モデルのアクセス方法、言語モデル圧縮プログラム、言語モデルのアクセスプログラム
US20130173676A1 (en) * 2011-12-29 2013-07-04 Matthew Thomas Compression of small strings
CN103929448A (zh) * 2013-01-14 2014-07-16 百度国际科技(深圳)有限公司 在云端服务器提供细胞词库的方法、系统及装置
CN107430859A (zh) * 2015-04-08 2017-12-01 谷歌公司 将输入映射到表单域
CN107422872A (zh) * 2016-05-24 2017-12-01 北京搜狗科技发展有限公司 一种输入方法、装置和用于输入的装置
CN107608714A (zh) * 2017-09-30 2018-01-19 广州酷狗计算机科技有限公司 字节对齐方法、装置及计算机可读存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
BOULOS HARB ET AL: "Back-Off Language Model Compression", 《ISCA》, pages 352 - 355 *
祁斌川 等: "基于聚类和索引技术的语言模型压缩方法", 《计算机技术与发展》, vol. 22, no. 12, pages 1 - 3 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110795927A (zh) * 2019-10-18 2020-02-14 北京声智科技有限公司 n-gram语言模型读取方法、装置、电子设备及存储介质
CN110795927B (zh) * 2019-10-18 2023-11-21 北京声智科技有限公司 n-gram语言模型读取方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN110110292B (zh) 2023-11-14

Similar Documents

Publication Publication Date Title
CN109243430B (zh) 一种语音识别方法及装置
CN107608532B (zh) 一种联想输入方法、装置及电子设备
CN107621886B (zh) 一种输入推荐方法、装置及电子设备
CN110069624B (zh) 文本处理方法及装置
CN108073303B (zh) 一种输入方法、装置及电子设备
CN107291704B (zh) 处理方法和装置、用于处理的装置
CN108768824B (zh) 信息处理方法及装置
CN107564526B (zh) 处理方法、装置和机器可读介质
CN109144285A (zh) 一种输入方法和装置
CN107424612B (zh) 处理方法、装置和机器可读介质
CN111832315A (zh) 语义识别的方法、装置、电子设备和存储介质
CN105302335B (zh) 词汇推荐方法和装置及计算机可读存储介质
CN110110292A (zh) 一种数据处理方法、装置和用于数据处理的装置
CN108628461A (zh) 一种输入方法和装置、一种更新词库的方法和装置
CN107301188B (zh) 一种获取用户兴趣的方法及电子设备
CN113589954A (zh) 一种数据处理方法、装置和电子设备
CN108073566B (zh) 分词方法和装置、用于分词的装置
CN110362686B (zh) 一种词库的生成方法、装置、终端设备和服务器
CN110471538B (zh) 一种输入预测方法及装置
CN113807540A (zh) 一种数据处理方法及装置
CN110069669B (zh) 一种关键词标记方法和装置
CN110096693A (zh) 一种数据处理方法、装置和用于数据处理的装置
CN110221704A (zh) 一种输入方法、装置和用于输入的装置
CN112181163A (zh) 一种输入方法、装置和用于输入的装置
CN109933213A (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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20220720

Address after: 100084. Room 9, floor 01, cyber building, building 9, building 1, Zhongguancun East Road, Haidian District, Beijing

Applicant after: BEIJING SOGOU TECHNOLOGY DEVELOPMENT Co.,Ltd.

Address before: 100084. Room 9, floor 01, cyber building, building 9, building 1, Zhongguancun East Road, Haidian District, Beijing

Applicant before: BEIJING SOGOU TECHNOLOGY DEVELOPMENT Co.,Ltd.

Applicant before: SOGOU (HANGZHOU) INTELLIGENT TECHNOLOGY Co.,Ltd.

GR01 Patent grant
GR01 Patent grant