一种FST数据的压缩方法和装置制造方法及图纸

技术编号:26226172 阅读:32 留言:0更新日期:2020-11-04 11:03
本申请公开了一种FST数据的压缩方法和装置,其中方法包括:获取待压缩的FST数据,FST数据包括:状态连接弧数据和状态节点数据;将状态连接弧数据按照第一数据种类进行分解,得到第一分解数据;将状态节点数据按照第二数据种类进行分解,得到第二分解数据;将同一第一数据种类的第一分解数据按照先后顺序进行连续排列,得到各第一数据种类对应的第一排列数据;将第一排列数据与第二分解数据按照先后顺序进行混合排列,得到第二排列数据;将第一排列数据和第二排列数据进行分类统计,得到索引数据;将第一排列数据、第二排列数据和索引数据组合,以完成FST数据的压缩,有效减少了FST数据的占用空间,从而解决了数据空间浪费的技术问题。

【技术实现步骤摘要】
一种FST数据的压缩方法和装置
本申请涉及自然语言处理
,尤其涉及一种FST数据的压缩方法和装置。
技术介绍
在自然语言处理
中的语音识别、全文检索和输入法等应用中,搜索引擎在获取到输入信息后,将输入信息在词典索引中进行搜索,接着输出匹配结果。词典索引作为搜索时的匹配库,其的数据结构会影响搜索算法、搜索速度和匹配结果。有限状态转换机(Finite-StateTransducers,FST)是一种词典索引数据结构,如图1(A)所示为FST的简单结构示意图,主要包括:状态节点S1~S4和状态连接弧a1~a5,状态节点包括:起始状态标记和结束状态标记;如图1(B)所示为FST的简单数据结构示意图,状态连接弧数据包括:信号标签数据(label)、权重数据(weight)和下一状态节点标号数据(nextstate),状态节点数据包括附属状态连接弧标号数据,标记为结束的状态节点对应的状态节点数据又包括结束权重数据。FST数据中存在大量冗余数据,然而FST数据一般长期存储在应用终端,在终端资源有限的情况下,大量冗余数据会造成终端内存资源紧缺。所以,FST数据的压缩优化显得十分重要。现有的数据压缩方法中,将标记为结束的状态节点的结束权重包装成状态连接弧的权重,生成统一格式的压缩数据保存起来。如图4所示为现有的FST的压缩数据结构示意图。上述的方法虽然可以取得一定的压缩效果,但是在将标记为结束的状态节点的结束权重包装成状态连接弧的权重的过程中,为了保持压缩数据格式的一致性,又将状态节点中不存在的下一状态节点标号加入到了压缩数据中,造成了数据空间的浪费。另外,当所有状态连接弧都不包括权重时,上述的方法仍然将状态连接弧中不存在的权重加入到了压缩数据中,造成了数据空间的浪费。因此,提供一种FST数据的高效压缩方法是本领域技术人员亟待解决的技术问题。
技术实现思路
有鉴于此,本申请提供了一种FST数据的压缩方法和装置,有效减少了FST数据的占用空间,解决了数据空间浪费的技术问题。本申请第一方面提供了一种FST数据的压缩方法,包括:获取待压缩的FST数据,所述FST数据包括:状态连接弧数据和状态节点数据;将所述状态连接弧数据按照第一数据种类进行分解,得到第一分解数据;将所述状态节点数据按照第二数据种类进行分解,得到第二分解数据;将同一所述第一数据种类的所述第一分解数据按照先后顺序进行连续排列,得到各所述第一数据种类对应的第一排列数据;将所述第一排列数据与所述第二分解数据按照先后顺序进行混合排列,得到第二排列数据;将所述第一排列数据和所述第二排列数据进行分类统计,得到索引数据;将所述第一排列数据、所述第二排列数据和所述索引数据组合,以完成所述FST数据的压缩。可选地,将所述状态连接弧数据按照第一数据种类进行分解,得到第一分解数据,具体包括:将所述状态连接弧数据按照信号标签、权重和下一状态节点标号的数据种类进行分解,得到信号标签分解数据、权重分解数据和下一状态节点标号分解数据。可选地,将所述状态连接弧数据按照第一数据种类进行分解,得到第一分解数据,之前还包括:根据所述信号标签的最大数值及所述状态节点数据的状态节点总数,设定所述第一分解数据的数据类型。可选地,将所述状态连接弧数据按照第一数据种类进行分解,得到第一分解数据,之后还包括:当所述FST数据对应的数据结构为FSA结构时,将所述信号标签分解数据中的输出信号标签分解数据移除;当所述FST数据对应的数据结构为字典树结构时,将所述权重分解数据移除。可选地,将所述状态节点数据按照第二数据种类进行分解,得到第二分解数据,具体包括:将结束状态节点对应的所述状态节点数据,按照空白标签和结束权重的数据种类进行分解,得到空白标签分解数据和结束权重分解数据,其中,所述结束状态节点为:结束状态标记对应的状态节点。可选地,将同一所述第一数据种类的所述第一分解数据按照先后顺序进行连续排列,得到各所述第一数据种类对应的第一排列数据,具体包括:将所有所述信号标签分解数据,按照各自对应的所属状态节点的先后顺序进行连续排列,得到对应的信号标签排列数据;将所有所述权重分解数据,按照各自对应的所属状态节点的先后顺序进行连续排列,得到对应的权重排列数据;将所有所述下一状态节点标号分解数据,按照各自对应的所属状态节点的先后顺序进行连续排列,得到对应的下一状态节点标号排列数据。可选地,将所述第一排列数据与所述第二分解数据按照先后顺序进行混合排列,得到第二排列数据,具体包括:将所有所述信号标签排列数据与所述空白标签分解数据,按照各自对应的所属状态节点的先后顺序进行混合排列,得到信号标签混合排列数据;将所有所述结束权重分解数据,按照各自对应的所属状态节点的先后顺序进行连续排列,得到结束权重排列数据。可选地,将所述第一排列数据和所述第二排列数据进行分类统计,得到索引数据,具体包括:将所述第一排列数据按照对应的所属状态节点进行分类统计,得到第一索引数据;将所述第二排列数据按照对应的所属状态节点进行分类统计,得到第二索引数据。可选地,将所述第一排列数据和所述第二排列数据进行分类统计,得到索引数据,之前还包括:根据最大附属状态连接弧数量,设定所述索引数据的数据类型,所述最大附属状态连接弧数量为:所述状态节点数据对应的所有状态节点中,最大状态节点的附属状态连接弧数量,其中,所述最大状态节点为附属连接弧数量最多的状态节点。可选地,将所述第一排列数据、所述第二排列数据和所述索引数据组合,以完成所述FST数据的压缩,具体包括:将所有所述权重排列数据、所述下一状态节点标号排列数据、所述信号标签混合排列数据、所述结束权重排列数据和所述索引数据组合,以完成所述FST数据的压缩。本申请第二方面提供了一种FST数据的压缩装置,包括:获取单元,用于获取待压缩的FST数据,所述FST数据包括:状态连接弧数据和状态节点数据;第一分解单元,用于将所述状态连接弧数据按照第一数据种类进行分解,得到第一分解数据;第二分解单元,用于将所述状态节点数据按照第二数据种类进行分解,得到第二分解数据;第一排列单元,用于将同一所述第一数据种类的所述第一分解数据按照先后顺序进行连续排列,得到各所述第一数据种类对应的第一排列数据;第二排列单元,用于将所述第一排列数据与所述第二分解数据按照先后顺序进行混合排列,得到第二排列数据;分类统计单元,用于将所述第一排列数据和所述第二排列数据进行分类统计,得到索引数据;组合单元,用于将所述第一排列数据、所述第二排列数据和所述索引数据组合,以完成所述FST数据的压缩。从以上技术方案可以看出,本申请提供的压缩方法具有以下优点:本申请提供的一种FST数据的压缩方法,包括:获取待压缩的FST数据,FST数据包括:状态连接本文档来自技高网
...

【技术保护点】
1.一种FST数据的压缩方法,其特征在于,包括:/n获取待压缩的FST数据,所述FST数据包括:状态连接弧数据和状态节点数据;/n将所述状态连接弧数据按照第一数据种类进行分解,得到第一分解数据;/n将所述状态节点数据按照第二数据种类进行分解,得到第二分解数据;/n将同一所述第一数据种类的所述第一分解数据按照先后顺序进行连续排列,得到各所述第一数据种类对应的第一排列数据;/n将所述第一排列数据与所述第二分解数据按照先后顺序进行混合排列,得到第二排列数据;/n将所述第一排列数据和所述第二排列数据进行分类统计,得到索引数据;/n将所述第一排列数据、所述第二排列数据和所述索引数据组合,以完成所述FST数据的压缩。/n

【技术特征摘要】
1.一种FST数据的压缩方法,其特征在于,包括:
获取待压缩的FST数据,所述FST数据包括:状态连接弧数据和状态节点数据;
将所述状态连接弧数据按照第一数据种类进行分解,得到第一分解数据;
将所述状态节点数据按照第二数据种类进行分解,得到第二分解数据;
将同一所述第一数据种类的所述第一分解数据按照先后顺序进行连续排列,得到各所述第一数据种类对应的第一排列数据;
将所述第一排列数据与所述第二分解数据按照先后顺序进行混合排列,得到第二排列数据;
将所述第一排列数据和所述第二排列数据进行分类统计,得到索引数据;
将所述第一排列数据、所述第二排列数据和所述索引数据组合,以完成所述FST数据的压缩。


2.根据权利要求1所述的FST数据的压缩方法,其特征在于,将所述状态连接弧数据按照第一数据种类进行分解,得到第一分解数据,具体包括:
将所述状态连接弧数据按照信号标签、权重和下一状态节点标号的数据种类进行分解,得到信号标签分解数据、权重分解数据和下一状态节点标号分解数据。


3.根据权利要求2所述的FST数据的压缩方法,其特征在于,将同一所述第一数据种类的所述第一分解数据按照先后顺序进行连续排列,得到各所述第一数据种类对应的第一排列数据,具体包括:
将所有所述信号标签分解数据,按照各自对应的所属状态节点的先后顺序进行连续排列,得到对应的信号标签排列数据;
将所有所述权重分解数据,按照各自对应的所属状态节点的先后顺序进行连续排列,得到对应的权重排列数据;
将所有所述下一状态节点标号分解数据,按照各自对应的所属状态节点的先后顺序进行连续排列,得到对应的下一状态节点标号排列数据。


4.根据权利要求3所述的FST数据的压缩方法,其特征在于,将所述状态节点数据按照第二数据种类进行分解,得到第二分解数据,具体包括:
将结束状态节点对应的所述状态节点数据,按照空白标签和结束权重的数据种类进行分解,得到空白标签分解数据和结束权重分解数据,其中,所述结束状态节点为:结束状态标记对应的状态节点。


5.根据权利要求4所述的FST数据的压缩方法,其特征在于,将所述第一排列数据与所述第二分解数据按照先后顺序进行混合排列,得到第二排列数据,具体包括:
将所有所述信号标签排列数据与所述空白标签分解数据,按照各自对应的所属状态节点的先后顺序进行混合排列,得到信号标签混合排列数据;
将所有所述结束权重分解数据,按照各自对应的所属状态节点的先后顺序进行连续排列,得到结束权重排列数据。


6.根据权利要求5所述的FST数据的压缩方法,其特征在于,将...

【专利技术属性】
技术研发人员:梁振兴
申请(专利权)人:广州智品网络科技有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1