CN107544965B - 一种优化静态词库尺寸的方法及电子设备 - Google Patents

一种优化静态词库尺寸的方法及电子设备 Download PDF

Info

Publication number
CN107544965B
CN107544965B CN201610465580.0A CN201610465580A CN107544965B CN 107544965 B CN107544965 B CN 107544965B CN 201610465580 A CN201610465580 A CN 201610465580A CN 107544965 B CN107544965 B CN 107544965B
Authority
CN
China
Prior art keywords
offset value
data
category
value
actual
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
CN201610465580.0A
Other languages
English (en)
Other versions
CN107544965A (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
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 filed Critical Beijing Sogou Technology Development Co Ltd
Priority to CN201610465580.0A priority Critical patent/CN107544965B/zh
Publication of CN107544965A publication Critical patent/CN107544965A/zh
Application granted granted Critical
Publication of CN107544965B publication Critical patent/CN107544965B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种优化静态词库尺寸的方法及电子设备,该方法包括:对静态词库中存储的每条数据进行排序,获得排序后的顺序作为对应数据的数据编号;获取每条数据在静态词库中存储的实际偏移值;根据每条数据的数据编号,对每条数据的实际偏移值进行分类,每个类别中的最小实际偏移值与最大实际偏移值之差小于设定阈值;获取并存储每个类别的类别标识号,类别标识号用于表征每个类别中对应的数据编号所属的值域区间;将每个类别中的第一个实际偏移值作为每个类别的偏移值进行存储,及获取并存储每个类别中各实际偏移值相对每个类别的偏移值的相对偏移值。通过上述方案,解决了现有技术中输入法的静态词库尺寸过大的技术问题,减小静态词库的尺寸。

Description

一种优化静态词库尺寸的方法及电子设备
技术领域
本发明涉及软件技术领域,特别涉及一种优化静态词库尺寸的方法及电子设备。
背景技术
随着移动互联网的不断发展,手机、pad等移动电子设备扮演着越来越重要的角色,可供人们浏览网页、聊天、玩游戏等。在使用移动电子设备的过程中,时常需要输入数据如聊天,为此输入法成了移动电子设备的基础工具。
对于输入法特别是手机输入法来说,安装包的尺寸是一个很重要的衡量标准,如果过大占用用户过多存储空间,被下载使用的可能性就大大降低。其中,静态词库在安装包中占很大一部分比重,所谓静态词库,就是内容固定不变、属于基础性词库、词条固定且数量很多、查询频繁。现有技术中的词库为了使查询性能高,设置了哈希区和索引区,这两个区用于存储指向数据区的偏移值,因为一般词库的大小都远超过了65536字节,其对应的实际偏移值所占用的存储空间也将超过65536字节,只能用int类型来表示偏移值。由于数据库中数据条目庞大,int类型占用的存储空间也较大,导致现有技术中的静态词库的尺寸过大,用户的安装成本高,不利于输入法的应用及推广。
可见,现有技术中因偏移值存储占用了较大空间导致输入法的静态词库存在尺寸过大的技术问题。
发明内容
本发明实施例提供一种优化静态词库尺寸的方法及电子设备,用于解决现有技术中因偏移值存储占用了较大空间导致输入法的静态词库存在尺寸过大的技术问题,减小静态词库的尺寸。
本申请实施例提供一种优化静态词库的方法,该方法包括:
对静态词库中存储的每条数据进行排序,获得排序后的顺序作为对应数据的数据编号;
获取所述每条数据在所述静态词库中存储的实际偏移值;
根据每条数据的数据编号,对每条数据的实际偏移值进行分类,其中,每个类别中的最小实际偏移值与最大实际偏移值之差小于设定阈值;
对分类获得的每个类别,获取并存储每个类别的类别标识号,所述类别标识号用于表征每个类别中实际偏移值对应的数据编号所属的值域区间;
将每个类别中的第一个实际偏移值作为每个类别的偏移值进行存储,及获取并存储每个类别中各实际偏移值相对每个类别的偏移值的相对偏移值。
可选的,所述设定阈值为216,所述相对偏移值用一个存储空间大小为216的数据类型表示。
可选的,所述根据每条数据的数据编号,对每条数据的实际偏移值进行分类,包括:
按每条数据的数据编号顺序,将每条数据的实际偏移值顺序分为J类,J为大于等于2的整数。
可选的,所述获取并存储每个类别中各实际偏移值相对每个类别的偏移值的相对偏移值,包括通过如下公式获得所述相对偏移值:
Si'=Si-Aj
其中,Si'表示数据编号i的数据的相对偏移值,Si为数据编号i的实际偏移值,Aj表示数据编号i的数据的实际偏移值所属分类的偏移值。
可选的,所述方法还包括:
在读取所述静态词库中的目标数据时,根据所述目标数据的目标数据编号、每个类别的所述值域区间,获得所述目标数据编号所在的值域区间对应的类别标识号及与所述类别标识号对应的目标类别;
根据所述目标数据的目标数据编号,从所述目标类别中读取所述目标数据的相对偏移值;
获得所述目标数据的相对偏移值与所述目标类别的偏移值之和作为所述目标数据的实际偏移值;
从所述目标数据的实际偏移值指向的位置中读取所述目标数据。
可选的,所述根据所述目标数据的目标数据编号,从所述目标类别中读取所述目标数据的相对偏移值,包括:
以所述目标数据编号所属的值域区间为参考,获得所述目标类别中数据编号为所述目标数据编号的相对偏移值作为所述目标数据的相对偏移值。
本申请实施例还提供一种电子设备,包括:
排序单元,用于对静态词库中存储的每条数据进行排序,获得排序后的顺序作为对应数据的数据编号;
获取单元,用于获取所述每条数据在所述静态词库中存储的实际偏移值;
分类单元,用于根据每条数据的数据编号,对每条数据的实际偏移值进行分类,其中,每个类别中的最小实际偏移值与最大实际偏移值之差小于设定阈值;
存储单元,用于对分类获得的每个类别,获取并存储每个类别的类别标识号,所述类别标识号用于表征每个类别中实际偏移值对应的数据编号所属的值域区间;
所述存储单元还用于将每个类别中的第一个实际偏移值作为每个类别的偏移值进行存储,及获取并存储每个类别中各实际偏移值相对每个类别的偏移值的相对偏移值。
可选的,所述设定阈值为216,所述相对偏移值用一个存储空间大小为216的数据类型表示。
可选的,所述分类单元用于:按每条数据的数据编号顺序,将每条数据的实际偏移值顺序分为J类,J为大于等于2的整数。
可选的,所述存储单元用于通过如下公式获得所述相对偏移值:
Si'=Si-Aj
其中,Si'表示数据编号i的数据的相对偏移值,Si为数据编号i的实际偏移值,Aj表示数据编号i的数据的实际偏移值所属分类的偏移值。
可选的,所述电子设备还包括:
类别获取单元,用于在读取所述静态词库中的目标数据时,根据所述目标数据的目标数据编号、每个类别的所述值域区间,获得所述目标数据编号所在的值域区间对应的类别标识号及与所述类别标识号对应的目标类别;
读取单元,用于根据所述目标数据的目标数据编号,从所述目标类别中读取所述目标数据的相对偏移值;
计算单元,用于获得所述目标数据的相对偏移值与所述目标类别的偏移值之和作为所述目标数据的实际偏移值;
所述读取单元还用于从所述目标数据的实际偏移值指向的位置中读取所述目标数据。
可选的,所述读取单元还用于:以所述目标数据编号所属的值域区间为参考,获得所述目标类别中数据编号为所述目标数据编号的相对偏移值作为所述目标数据的相对偏移值。
本申请实施例还提供一种电子设备,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
对静态词库中存储的每条数据进行排序,获得排序后的顺序作为对应数据的数据编号;
获取所述每条数据在所述静态词库中存储的实际偏移值;
根据每条数据的数据编号,对每条数据的实际偏移值进行分类,其中,每个类别中的最小实际偏移值与最大实际偏移值之差小于设定阈值;
对分类获得的每个类别,获取并存储每个类别的类别标识号,所述类别标识号用于表征每个类别中实际偏移值对应的数据编号所属的值域区间;
将每个类别中的第一个实际偏移值作为每个类别的偏移值进行存储,及获取并存储每个类别中各实际偏移值相对每个类别的偏移值的相对偏移值。
本申请实施例中的上述一个或多个技术方案,至少具有如下技术效果:
本申请实施例通过对静态词库中存储的每条数据进行排序并获得排序每条数据的数据编号,根据每条数据的数据编号对每条数据的实际偏移值进行分类,使得每个类别中的各实际偏移值之间的最大差值小于设定阈值,然后获得各类别的类别标识号、各类别的偏移值及各实际偏移值相对各类别的偏移值的相对偏移值进行存储,这样静态数据库中存储的就是数值较小相对偏移值,而不是数值较大的实际偏移值,能够有效的减小偏移值占用的存储空间,从而解决了现有技术中因偏移值存储占用较大空间导致输入法的静态词库存在尺寸过大的技术问题,进而达到减小静态词库尺寸、降低安装成本的有益效果。
附图说明
图1为本申请实施例提供的一种优化静态词库尺寸的方法的流程图;
图2为本申请实施例提供的一种电子设备的示意图;
图3为本申请实施例提供的一种用于实现优化静态词库尺寸的装置示意图;
图4为本申请实施例提供的一种服务器的示意图。
具体实施方式
在本申请实施例提供的技术方案中,通过将静态词库中的实际偏移值转换为数值较小的相对偏移值进行存储,以解决现有技术中因偏移值存储占用较大空间导致输入法的静态词库存在尺寸过大的技术问题,进而减小静态词库尺寸。
下面结合附图对本申请实施例技术方案的主要实现原理、具体实施方式及其对应能够达到的有益效果进行详细的阐述。
实施例
请参考图1,本申请实施例提供一种优化静态词库尺寸的方法,该方法包括:
S11:对静态词库中存储的每条数据进行排序并获得排序后的顺序作为对应数据的数据编号;
S12:获取所述每条数据在所述静态词库中存储的实际偏移值;
S13:根据每条数据的数据编号,对每条数据的实际偏移值进行分类,其中,每个类别中的最小实际偏移值与最大实际偏移值之差小于设定阈值;
S14:对分类获得的每个类别,获取并存储每个类别的类别标识号,所述类别标识号用于表征每个类别中实际偏移值对应的数据编号所属的值域区间;
S15:将每个类别中的第一个实际偏移值作为每个类别的偏移值进行存储,及获取并存储每个类别中各实际偏移值相对每个类别的偏移值的相对偏移值。
本申请实施例提供的优化静态词库尺寸的方法,应用于输入法安装包,可在安装输入法的客户端上使用,如PC(personal computer,个人电脑)、手机、平板等输入法客户端。在建立该输入法中的静态词库时,执行S11对静态词库中存储的每条数据进行排序并获得排序后的顺序作为对应数据的数据编号。具体的,对数据进行排序时可以根据关键词key进行排序,如根据使用频率大小、所属领域或者流行程度等关键词进行排序,排序后的顺序则可以作为对应数据的数据编号。
在S11之后进一步执行S12,获取每条数据在静态词库中存储的实际偏移值。具体的,可以根据每条数据的大小及排好序的数据计算出每条数据的实际偏移值,也可以在存储每条数据时记录存储每条数据的实际位置作为每条数据的实际偏移值。其中,静态词库中所有数据的总大小决定了表示存储位置的实际偏移值的取值范围,比如数据总条数是10W,数据的总大小是1M=22°,那么偏移值的取值范围为0-22°,此时若直接存储实际偏移值则需要使用int数据类型来存储,需要占用较大的存储空间。为了节约存储空间,本申请实施例在S12之后执行S13。
S13在对每条数据的实际偏移值进行分类时,根据每条数据的数据编号进行分类。具体的,按每条数据的数据编号顺序,将每条数据的实际偏移值顺序分为J类,J为大于等于2的整数,例如:数据编号为1~100的实际偏移值分为一类,数据编号为101~200的实际偏移值分为一类,数据编号为201~300的实际偏移值分为一类,以此类推。分类的原则是:每个类别中的实际偏移值个数相同且个数尽可能多,每个类别中的最小实际偏移值与最大实际偏移值之差小于设定阈值,即每个类别中的第一个实际偏移值与最后一个实际偏移值之差小于设定阈值。设定阈值的大小可以根据表示相对偏移值的数据类型来设置,小于等于表示相对偏移值的数据类型的存储空间大小。较佳的,设定阈值可以等于表示相对偏移值的数据类型的存储空间大小,进而避免存储空间的浪费。例如:可以用一个存储空间大小为216的数据类型表示相对偏移值,如使用short类型来表示,那么设定阈值的取值可以为216,为此相对使用int类型来表示实际偏移值,每条数据能够减少2个字节。需要说明的是,每个类别中的实际偏移值个数也可以不同,只要设定阈值小于等于用于表示相对偏移值的数据类型的存储空间大小即可,但是为了便于存储和计算,各类别中包含的相对偏移值的个数最好相同。
对分类获得的每个类别,执行S14获取并存储每个类别的类别标识号,所述类别标识号用于表征每个类别中实际偏移值对应的数据编号所属的值域区间。存储类别标识号而非对应的值域区间可以进一步减小存储空间。例如:假设所有实际偏移值分为N类,每类M个实际偏移值,那么数据编号的值域区间:[1,M]用类别标识号可以表示为1,数据编号的值域区间:[M+1,2M]用类别标识号可以表示为2,以此类推,可见,存储数字1、2……远比存储M、2M等占用的空间小得多。
具体的,可以对每个数据编号与设定阈值的比值向下取整,获得向下取整的结果作为对应的每个实际偏移值所属类别的类别标识号。例如:假设数据编号X,值域区间的区间宽度值为M-1,那么对每个实际偏移值进行分类可以通过如下方式获得:short j=0;j=X/M,j为所属类别的类别标识号,即数据编号属于[1,M]的实际偏移值为一类、类别标识号为0,数据编号属于[M+1,2M]的实际偏移值为一类、类别标识号为1,数据编号属于[2M+1,3M]的实际偏移值为一类、类别标识号为2,以此类推。
进一步的,在S14之后继续执行S15:将每个类别中的第一个实际偏移值作为每个类别的偏移值进行存储,及获取并存储每个类别中各实际偏移值相对每个类别的偏移值的相对偏移值。具体可以通过如下公式获得相对偏移值:
Si'=Si-Aj
其中,Si'表示数据编号i的数据的相对偏移值,Si为数据编号i的实际偏移值,Aj表示数据编号i的数据的实际偏移值所属分类的偏移值。当分类获得的每个类别中包含相同数量M的实际偏移值时,j表示每个类别的类别标识号,Aj=A[i/M],i/M表示i除以M向下取整的结果。例如:实际偏移值为Si=65538,所属类别的偏移值为=65536,那么相对偏移值Si'=65538-65536=2,这时Si'足以用一个short类型表示。
由于本申请是根据数据编号对实际偏移值进行分类的,而数据编号是顺序排列的,为此可以根据每条数据的数据编号直接计算获得对应的数据编号属于哪一类,便于在后续读取时快捷的查找到对应的相对偏移值及所属类别的偏移值,进而获得该数据编号对应的实际偏移值。
在具体实施过程中,针对上述方法建立的静态词库,可以采用如下步骤获取其中的目标数据:
步骤1、在读取静态词库中的目标数据时,可以根据目标数据的目标数据编号、每个类别的值域区间,获得目标数据编号所在的值域区间对应的类别标识号及与该类别标识号对应的目标类别。由于每个类别的值域区间表示的是数据编号的大小范围,为此,可以找到目标数据编号所属的值域区间,进而确定该值域区间对应的类别为目标数据的实际偏移值所属的类别,为此获得该值域区间对应的类别标识号及该类别标识号对应的目标类别。例如:假设目标数据的目标数据编号为99,各类别的值域区间分别为:[1,50]、[51,100]……,那么获得目标数据编号99,属于值域区间[51,100],对应获得值域区间为[51,100]的类别的类别标识号。
步骤2、根据所述目标数据的目标数据编号,从所述目标类别中读取所述目标数据的相对偏移值。具体的,以目标数据编号所属的值域区间为参考,获得目标类别中数据编号为目标数据编号的相对偏移值作为目标数据的相对偏移值。例如:假设目标数据编号是99,目标数据所属类别的数据编号的值域区间为[51,100],那么以100为参考倒数第二个相对偏移值的数据编号则为99,那么直接获得数据编号为99的相对偏移值作为目标数据的相对偏移值。
步骤3、获得目标数据的相对偏移值与目标类别的偏移值之和作为目标数据的实际偏移值。具体的,可以通过如下公式获得目标数据的实际偏移值Si:
Si=Si'+Aj
其中,Si'表示数据编号i的数据的相对偏移值,Aj表示数据编号i的数据的实际偏移值所属分类的偏移值。其中,j表示每个类别的类别标识号,Aj=A[i/M],i/M表示i除以M向下取整的结果,M表示每个类别中包含的实际偏移值的个数。例如:假设通过步骤1~3获得的类别标识号为1、相对偏移值为5,分类标识号1的偏移值为65536,那么目标数据的实际偏移值Si=65536+5。
步骤4、从获得的目标数据的实际偏移值指向的位置中读取目标数据。
在上述实施例中,通过将数值较大的实际偏移值转换为数值较小的相对偏移值进行存储,使得静态词库中的哈希区和/或索引区占用的存储空间大大减小,从而大大减小了静态词库的尺寸,进而大大减小了输入法安装包的尺寸,降低了用户安装成本,提升了用户体验。例如:假设输入法的静态词库有40w条数据,每条数据都会有一个实际偏移值,传统的采用int类型(4字节)表示实际偏移值的方法,存储实际偏移值的总大小为4*40w=160w字节,而采用本申请提出的方法,采用short类型表示相对偏移值,总大小为2*40w=80w字节,那么能节省80w字节(800K)的词库尺寸。
需要说明的是,本申请实施例并不限制对实际偏移值进行分类的数据编号所属的值域区间,针对静态词库中数据总大小的不同。每个类别的数据编号所属值域区间与设定阈值和实际偏移值值的大小相关。而分类规则中每个类别的设定阈值可以采用不同的大小,例如:假设静态词库中数据总大小远超232,存储实际偏移值的数据类型需要比int类型更大的long类型,那么设定阈值可以为216,也可以为232,均可以减小静态词库的尺寸。
请参考图2,针对上述实施例提供的一种优化静态词库的方法,本申请实施例还对应提供一种电子设备,包括:
排序单元21,用于对静态词库中存储的每条数据进行排序,获得排序后的顺序作为对应数据的数据编号;
获取单元22,用于获取所述每条数据在所述静态词库中存储的实际偏移值;
分类单元23,用于根据每条数据的数据编号,对每条数据的实际偏移值进行分类,其中,每个类别中的最小实际偏移值与最大实际偏移值之差小于设定阈值;
存储单元24,用于对分类获得的每个类别,获取并存储每个类别的类别标识号,所述类别标识号用于表征每个类别中实际偏移值对应的数据编号所属的值域区间;
所述存储单元24还用于将每个类别中的第一个实际偏移值作为每个类别的偏移值进行存储,及获取并存储每个类别中各实际偏移值相对每个类别的偏移值的相对偏移值。
在具体实施过程中,所述设定阈值为216,所述相对偏移值用一个存储空间大小为216的数据类型表示。
所述分类单元23用于:按每条数据的数据编号顺序,将每条数据的实际偏移值顺序分为J类,J为大于等于2的整数。
所述存储单元24在获得相对偏移值时,用于通过如下公式获得所述相对偏移值:
Si'=Si-Aj
其中,Si'表示数据编号i的数据的相对偏移值,Si为数据编号i的实际偏移值,Aj表示数据编号i的数据的实际偏移值所属分类的偏移值。
在具体实施过程中,所述电子设备还包括:类别获取单元、读取单元及计算单元。类别获取单元,用于在读取所述静态词库中的目标数据时,根据所述目标数据的目标数据编号、每个类别的所述值域区间,获得所述目标数据编号所在的值域区间对应的类别标识号及与所述类别标识号对应的目标类别;读取单元,用于根据所述目标数据的目标数据编号,从所述目标类别中读取所述目标数据的相对偏移值;计算单元,用于获得所述目标数据的相对偏移值与所述目标类别的偏移值之和作为所述目标数据的实际偏移值;所述读取单元还用于从所述目标数据的实际偏移值指向的位置中读取所述目标数据。
进一步的,所述读取单元还用于:以所述目标数据编号所属的值域区间为参考,获得所述目标类别中数据编号为所述目标数据编号的相对偏移值作为所述目标数据的相对偏移值。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图3是根据一示例性实施例示出的一种用于实现优化静态词库尺寸的装置800的框图。例如,装置800可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图3,装置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、磁带、软盘和光数据存储设备等。
一种非临时性计算机可读存储介质,当所述存储介质中的指令由移动终端的处理器执行时,使得移动终端能够执行一种优化静态词库尺寸的方法,所述方法包括:
对静态词库中存储的每条数据进行排序,获得排序后的顺序作为对应数据的数据编号;
获取所述每条数据在所述静态词库中存储的实际偏移值;
根据每条数据的数据编号,对每条数据的实际偏移值进行分类,其中,每个类别中的最小实际偏移值与最大实际偏移值之差小于设定阈值;
对分类获得的每个类别,获取并存储每个类别的类别标识号,所述类别标识号用于表征每个类别中实际偏移值对应的数据编号所属的值域区间;
将每个类别中的第一个实际偏移值作为每个类别的偏移值进行存储,及获取并存储每个类别中各实际偏移值相对每个类别的偏移值的相对偏移值。
图4是本发明实施例中服务器的结构示意图。该服务器1900可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,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 (19)

1.一种优化静态词库尺寸的方法,其特征在于,包括:
对静态词库中存储的每条数据进行排序,获得排序后的顺序作为对应数据的数据编号;
获取所述每条数据在所述静态词库中存储的实际偏移值;
根据每条数据的数据编号,对每条数据的实际偏移值进行分类,其中,每个类别中的最小实际偏移值与最大实际偏移值之差小于设定阈值;
对分类获得的每个类别,获取并存储每个类别的类别标识号,所述类别标识号用于表征每个类别中实际偏移值对应的数据编号所属的值域区间;
将每个类别中的第一个实际偏移值作为每个类别的偏移值进行存储,及获取并存储每个类别中各实际偏移值相对每个类别的偏移值的相对偏移值。
2.如权利要求1所述的方法,其特征在于,所述设定阈值为216,所述相对偏移值用一个存储空间大小为216的数据类型表示。
3.如权利要求1所述的方法,其特征在于,所述根据每条数据的数据编号,对每条数据的实际偏移值进行分类,包括:
按每条数据的数据编号顺序,将每条数据的实际偏移值顺序分为J类,J为大于等于2的整数。
4.如权利要求3所述的方法,其特征在于,所述获取并存储每个类别中各实际偏移值相对每个类别的偏移值的相对偏移值,包括通过如下公式获得所述相对偏移值:
Si'=Si-Aj
其中,Si'表示数据编号i的数据的相对偏移值,Si为数据编号i的实际偏移值,Aj表示数据编号i的数据的实际偏移值所属分类的偏移值。
5.如权利要求4所述的方法,其特征在于,所述方法还包括:
在读取所述静态词库中的目标数据时,根据所述目标数据的目标数据编号、每个类别的所述值域区间,获得所述目标数据编号所在的值域区间对应的类别标识号及与所述类别标识号对应的目标类别;
根据所述目标数据的目标数据编号,从所述目标类别中读取所述目标数据的相对偏移值;
获得所述目标数据的相对偏移值与所述目标类别的偏移值之和作为所述目标数据的实际偏移值;
从所述目标数据的实际偏移值指向的位置中读取所述目标数据。
6.如权利要求5所述的方法,其特征在于,所述根据所述目标数据的目标数据编号,从所述目标类别中读取所述目标数据的相对偏移值,包括:
以所述目标数据编号所属的值域区间为参考,获得所述目标类别中数据编号为所述目标数据编号的相对偏移值作为所述目标数据的相对偏移值。
7.一种电子设备,其特征在于,包括:
排序单元,用于对静态词库中存储的每条数据进行排序,获得排序后的顺序作为对应数据的数据编号;
获取单元,用于获取所述每条数据在所述静态词库中存储的实际偏移值;
分类单元,用于根据每条数据的数据编号,对每条数据的实际偏移值进行分类,其中,每个类别中的最小实际偏移值与最大实际偏移值之差小于设定阈值;
存储单元,用于对分类获得的每个类别,获取并存储每个类别的类别标识号,所述类别标识号用于表征每个类别中实际偏移值对应的数据编号所属的值域区间;
所述存储单元还用于将每个类别中的第一个实际偏移值作为每个类别的偏移值进行存储,及获取并存储每个类别中各实际偏移值相对每个类别的偏移值的相对偏移值。
8.如权利要求7所述的电子设备,其特征在于,所述设定阈值为216,所述相对偏移值用一个存储空间大小为216的数据类型表示。
9.如权利要求7所述的电子设备,其特征在于,所述分类单元用于:
按每条数据的数据编号顺序,将每条数据的实际偏移值顺序分为J类,J为大于等于2的整数。
10.如权利要求9所述的电子设备,所述存储单元用于通过如下公式获得所述相对偏移值:
Si'=Si-Aj
其中,Si'表示数据编号i的数据的相对偏移值,Si为数据编号i的实际偏移值,Aj表示数据编号i的数据的实际偏移值所属分类的偏移值。
11.如权利要求10所述的电子设备,所述电子设备还包括:
类别获取单元,用于在读取所述静态词库中的目标数据时,根据所述目标数据的目标数据编号、每个类别的所述值域区间,获得所述目标数据编号所在的值域区间对应的类别标识号及与所述类别标识号对应的目标类别;
读取单元,用于根据所述目标数据的目标数据编号,从所述目标类别中读取所述目标数据的相对偏移值;
计算单元,用于获得所述目标数据的相对偏移值与所述目标类别的偏移值之和作为所述目标数据的实际偏移值;
所述读取单元还用于从所述目标数据的实际偏移值指向的位置中读取所述目标数据。
12.如权利要求11所述的电子设备,所述读取单元还用于:以所述目标数据编号所属的值域区间为参考,获得所述目标类别中数据编号为所述目标数据编号的相对偏移值作为所述目标数据的相对偏移值。
13.一种电子设备,其特征在于,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
对静态词库中存储的每条数据进行排序,获得排序后的顺序作为对应数据的数据编号;
获取所述每条数据在所述静态词库中存储的实际偏移值;
根据每条数据的数据编号,对每条数据的实际偏移值进行分类,其中,每个类别中的最小实际偏移值与最大实际偏移值之差小于设定阈值;
对分类获得的每个类别,获取并存储每个类别的类别标识号,所述类别标识号用于表征每个类别中实际偏移值对应的数据编号所属的值域区间;
将每个类别中的第一个实际偏移值作为每个类别的偏移值进行存储,及获取并存储每个类别中各实际偏移值相对每个类别的偏移值的相对偏移值。
14.如权利要求13所述的电子设备,其特征在于,所述设定阈值为216,所述相对偏移值用一个存储空间大小为216的数据类型表示。
15.如权利要求13所述的电子设备,其特征在于,所述根据每条数据的数据编号,对每条数据的实际偏移值进行分类,包括:
按每条数据的数据编号顺序,将每条数据的实际偏移值顺序分为J类,J为大于等于2的整数。
16.如权利要求15所述的电子设备,其特征在于,所述获取并存储每个类别中各实际偏移值相对每个类别的偏移值的相对偏移值,包括通过如下公式获得所述相对偏移值:
Si'=Si-Aj
其中,Si'表示数据编号i的数据的相对偏移值,Si为数据编号i的实际偏移值,Aj表示数据编号i的数据的实际偏移值所属分类的偏移值。
17.如权利要求16所述的电子设备,其特征在于,还包括指令:
在读取所述静态词库中的目标数据时,根据所述目标数据的目标数据编号、每个类别的所述值域区间,获得所述目标数据编号所在的值域区间对应的类别标识号及与所述类别标识号对应的目标类别;
根据所述目标数据的目标数据编号,从所述目标类别中读取所述目标数据的相对偏移值;
获得所述目标数据的相对偏移值与所述目标类别的偏移值之和作为所述目标数据的实际偏移值;
从所述目标数据的实际偏移值指向的位置中读取所述目标数据。
18.如权利要求17所述的电子设备,其特征在于,所述根据所述目标数据的目标数据编号,从所述目标类别中读取所述目标数据的相对偏移值,包括:
以所述目标数据编号所属的值域区间为参考,获得所述目标类别中数据编号为所述目标数据编号的相对偏移值作为所述目标数据的相对偏移值。
19.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1~6任一所述的方法。
CN201610465580.0A 2016-06-23 2016-06-23 一种优化静态词库尺寸的方法及电子设备 Active CN107544965B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610465580.0A CN107544965B (zh) 2016-06-23 2016-06-23 一种优化静态词库尺寸的方法及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610465580.0A CN107544965B (zh) 2016-06-23 2016-06-23 一种优化静态词库尺寸的方法及电子设备

Publications (2)

Publication Number Publication Date
CN107544965A CN107544965A (zh) 2018-01-05
CN107544965B true CN107544965B (zh) 2021-10-01

Family

ID=60959668

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610465580.0A Active CN107544965B (zh) 2016-06-23 2016-06-23 一种优化静态词库尺寸的方法及电子设备

Country Status (1)

Country Link
CN (1) CN107544965B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101145155A (zh) * 2007-10-24 2008-03-19 中山大学 一种电子词典数据存储格式及其检索方法
CN104794065A (zh) * 2015-05-04 2015-07-22 常州工学院 一种多分组定长数据循环存取方法
US9276851B1 (en) * 2011-12-20 2016-03-01 Marvell Israel (M.I.S.L.) Ltd. Parser and modifier for processing network packets

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9105289B1 (en) * 2014-10-15 2015-08-11 Seagate Technology Llc Integrated servo field for memory device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101145155A (zh) * 2007-10-24 2008-03-19 中山大学 一种电子词典数据存储格式及其检索方法
US9276851B1 (en) * 2011-12-20 2016-03-01 Marvell Israel (M.I.S.L.) Ltd. Parser and modifier for processing network packets
CN104794065A (zh) * 2015-05-04 2015-07-22 常州工学院 一种多分组定长数据循环存取方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"A 28 nm 2 Mbit 6 T SRAM With Highly Configurable Low-Voltage Write-Ability Assist Implementation and Capacitor-Based Sense-Amplifier Input Offset Compensation";Mahmut E. Sinangil; John W. Poulton; Matthew R. Fojtik;《IEEE Journal of Solid-State Circuits》;20151207;全文 *
"基于双字Hash机制的交通信息分词算法研究";李澎林;张献力;李伟;《浙江工业大学学报》;20141225;第42卷(第6期);第596-600页 *

Also Published As

Publication number Publication date
CN107544965A (zh) 2018-01-05

Similar Documents

Publication Publication Date Title
US20180121040A1 (en) Method and device for managing notification messages
CN107315487B (zh) 一种输入处理方法、装置及电子设备
CN107621886B (zh) 一种输入推荐方法、装置及电子设备
CN108073303B (zh) 一种输入方法、装置及电子设备
CN110391966B (zh) 一种消息处理方法、装置和用于消息处理的装置
CN107291772B (zh) 一种搜索访问方法、装置及电子设备
CN109918565B (zh) 一种搜索数据的处理方法、装置及电子设备
CN110019885B (zh) 一种表情数据推荐方法及装置
CN108573706B (zh) 一种语音识别方法、装置及设备
JP2017529640A (ja) ショートメッセージ処理方法、装置、プログラム及び記録媒体
CN111813932B (zh) 文本数据的处理方法、分类方法、装置及可读存储介质
CN108573697B (zh) 一种语言模型更新方法、装置及设备
CN111177521A (zh) 一种查询词分类模型的确定方法和装置
CN107729439A (zh) 获取多媒体数据的方法、装置和系统
CN110213062B (zh) 处理消息的方法及装置
CN110020082B (zh) 一种搜索方法及装置
CN109901726B (zh) 一种候选词生成方法、装置及用于候选词生成的装置
CN109144286B (zh) 一种输入方法及装置
CN108108356B (zh) 一种文字翻译方法、装置及设备
CN107544965B (zh) 一种优化静态词库尺寸的方法及电子设备
CN107301188B (zh) 一种获取用户兴趣的方法及电子设备
CN109145151B (zh) 一种视频的情感分类获取方法及装置
CN107544969B (zh) 一种优化静态词库尺寸的方法及电子设备
CN110019657B (zh) 处理方法、装置和机器可读介质
CN108345590B (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