一种长短信精简方法及系统与流程

文档序号:17478036发布日期:2019-04-20 06:15阅读:356来源:国知局
一种长短信精简方法及系统与流程

本申请涉及it信息通讯技术领域,特别涉及一种长短信精简方法、系统、设备及计算机可读存储介质。



背景技术:

短信平台负责发送日常办公短信和业务服务短信,如停电通知,扣电费通知,台风预警等。每日的短信发送量较大,随着业务的发展,短信发送数量也在逐渐上升。

但是,标准短信协议规定每条短信发送的最大长度是140个字节,即最多允许包含70个汉字。而在实际使用中,发送的短信一般都含有数百个字节,有的短信长度甚至长达数千甚至上万个字节。因此,在进行短信发送时,需要将长短信先拆成普通短信进行发送。用户手机在收到短信后,按长短信组装规则进行短信合并,最终获得一条完整的长短信。短信服务由运营商提供的一种收费服务,是按条进行计费的,企业发送短信一般按5分/条的费用进行结算,企业发送的短信量越多,需要支付的短信结算费用越高。

因此,如何对长短信进行精简,减少拆成的普通短信的条数,进而节约成本是本领域技术人员需要解决的技术问题。



技术实现要素:

本申请的目的是提供一种长短信精简方法、系统、设备及计算机可读存储介质,能够对长短信进行精简,减少拆成的普通短信的条数,进而节约成本。

为解决上述技术问题,本申请提供一种长短信精简方法,包括:

利用分词算法对长短信进行分词处理得到对应的特征词表及特征词空间;

利用所述特征词表和所述特征词空间得到对应的特征向量;

将所述特征向量代入bp神经网络进行训练,得到输出向量;

根据所述输出向量,利用特征词库中的精简等价短词对所述特征词表中的目标特征词进行替换,形成目标特征词表;

利用所述分词算法对应的逆算法对所述目标特征词表进行处理,得到目标长短信。

优选地,所述利用分词算法对长短信进行分词处理得到对应的特征词表及特征词空间,包括:

利用所述分词算法对所述长短信进行分词处理得到各个特征词及对应的特征词空间、各个停用词及对应的停用词空间;

根据停用词库过滤各个所述停用词及对应的停用词空间,得到所述特征词表及所述特征词空间。

优选地,将所述特征向量代入bp神经网络进行训练之后,还包括:

利用所述bp神经网络将所述特征向量对应的特征词表保存至所述特征词库中。

优选地,所述利用特征词库中的精简等价短词对所述特征词表中的目标特征词进行替换,包括:

在所述特征词库中建立所述精简等价短词与所述目标特征词之间的映射关系;

利用所述精简等价短词对所述目标特征词进行替换。

本申请还提供一种长短信精简系统,包括:

分词处理模块,用于利用分词算法对长短信进行分词处理得到对应的特征词表及特征词空间;

特征向量获取模块,用于利用所述特征词表和所述特征词空间得到对应的特征向量;

bp神经网络训练模块,用于将所述特征向量代入bp神经网络进行训练,得到输出向量;

目标特征词替换模块,用于根据所述输出向量,利用特征词库中的精简等价短词对所述特征词表中的目标特征词进行替换,形成目标特征词表;

目标特征词表处理模块,用于利用所述分词算法对应的逆算法对所述目标特征词表进行处理,得到目标长短信。

优选地,所述分词处理模块包括:

分词处理单元,用于利用所述分词算法对所述长短信进行分词处理得到各个特征词及对应的特征词空间、各个停用词及对应的停用词空间;

过滤单元,用于根据停用词库过滤各个所述停用词及对应的停用词空间,得到所述特征词表及所述特征词空间。

优选地,该长短信精简系统还包括:

存储模块,用于利用所述bp神经网络将所述特征向量对应的特征词表保存至所述特征词库中。

优选地,所述目标特征词替换模块包括:

映射关系建立单元,用于在所述特征词库中建立所述精简等价短词与所述目标特征词之间的映射关系;

目标特征词替换单元,用于利用所述精简等价短词对所述目标特征词进行替换。

本申请还提供一种设备,包括:

存储器和处理器;其中,所述存储器用于存储计算机程序,所述处理器用于执行所述计算机程序时实现上述所述的长短信精简方法的步骤。

本申请还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述所述的长短信精简方法的步骤。

本申请所提供的一种长短信精简方法,包括:利用分词算法对长短信进行分词处理得到对应的特征词表及特征词空间;利用所述特征词表和所述特征词空间得到对应的特征向量;将所述特征向量代入bp神经网络进行训练,得到输出向量;根据所述输出向量,利用特征词库中的精简等价短词对所述特征词表中的目标特征词进行替换,形成目标特征词表;利用所述分词算法对应的逆算法对所述目标特征词表进行处理,得到目标长短信。

该方法在利用分词算法对长短信进行分词处理得到对应的特征词表及特征词空间后,利用所述特征词表和所述特征词空间得到对应的特征向量,然后将所述特征向量代入bp神经网络进行训练得到输出向量,再根据所述输出向量,利用特征词库中的精简等价短词对所述特征词表中的目标特征词进行替换,形成目标特征词表,最后利用所述分词算法对应的逆算法对所述目标特征词表进行处理,得到目标长短信。可见,该方法用特征词库中的精简等价短词替换了长短信中的特征词,对长短信进行了精简,减少了拆成的普通短信的条数,进而节约成本。本申请还提供一种长短信精简系统、设备及计算机可读存储介质,均具有上述有益效果,在此不再赘述。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本申请实施例所提供的一种长短信精简方法的流程图;

图2为本申请实施例所提供的bp神经网络的拓扑结构示意图;

图3为本申请实施例所提供的bp神经网络学习误差曲线;

图4为本申请实施例所提供的一种长短信精简系统的结构框图。

具体实施方式

本申请的核心是提供一种长短信精简方法,能够对长短信进行精简,减少拆成的普通短信的条数,进而节约成本。本申请的另一核心是提供一种长短信精简系统、设备及计算机可读存储介质。

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

随着业务的发展,短信发送数量也在逐渐上升,但是标准短信协议规定每条短信发送的最大长度是140个字节,即最多允许包含70个汉字。因此,在进行短信发送时,需要将长短信先拆成多条普通短信进行发送。而且,运营商是按条进行计费的,企业发送短信一般按5分/条的费用进行结算,企业发送的短信量越多,需要支付的短信结算费用越高。本申请实施例能够对长短信进行精简,减少拆成的普通短信的条数,进而节约成本。具体请参考图1,图1为本申请实施例所提供的一种长短信精简方法的流程图,该长短信精简方法具体包括:

s101、利用分词算法对长短信进行分词处理得到对应的特征词表及特征词空间;

本申请实施例先是利用分词算法对长短信进行分词处理得到对应的特征词表及特征词空间,分词算法是神经语音程序学(nlp)最成熟的部分,对于工业界绝大部分常见问题都可使用分词算法解决,最多只需要优化词典库。在此对分词算法的种类不作具体限定,应由本领域技术人员根据实际情况作出相应的设定,例如可以为正向分词算法,也可为逆向分词算法。分词算法对长短信进行分词处理的处理结果即为得到对应的特征词表及特征词空间,对于分词处理过程不作具体限定。该特征词表中有一个或多个特征词,特征词的具体数量在此不作限定,应由本领域技术人员根据实际情况作出相应的设定。进一步地,若特征词表中有多个特征词,则各个特征词均不相同。通常利用逆向分词算法对长短信进行分词处理得到对应的特征词表及特征词空间,逆向分词算法的思想与正向分词算法的思想一致,区别在于从文章或者句子的末尾开始切分,若不成功则减去最前面的一个字。如对于字符串“处理机器发生的故障”,逆向分词法结果为:故障、发生、机器、处理。

进一步地,为提升逆向分词算法的速度,本申请实施例通常采用bm(boyer-moore)算法来进行子字符串查找,在用于查找子字符串的算法当中,bm算法是目前计算性能较高的一种,一般情况下比kmp算法快3-5倍。bm算法在移动模式串的时候是从左到右,而进行比较的时候是从右到左的。bm算法实际上包含两个并行的算法,坏字符算法和好后缀算法。这两种算法的目的就是让模式字符串每次向右移动尽可能大的距离。

s102、利用特征词表和特征词空间得到对应的特征向量;

本申请实施例在利用分词算法对长短信进行分词处理得到对应的特征词表及特征词空间后,利用特征词表和特征词空间得到对应的特征向量。该特征向量是一个二维空间向量,通常将该特征向量设为vk,各个特征向量分别用vk1、vk2、vk3,……,vkn表示。其中,k为短信编号,n为特征词表中特征词的数量。因为对短信的数量和特征词的数量均不作限定,所以k和n的范围均为[1,∞)。

s103、将特征向量代入bp神经网络进行训练,得到输出向量;

本申请实施例在利用特征词表和特征词空间得到对应的特征向量后,将特征向量代入bp神经网络进行训练,得到输出向量。因为特征向量是一个二维空间向量,所以输出向量也是一个二维空间向量。通常将该输出向量设为ok,输出向量分别用ok1、ok2、ok3,……,okn表示。其中,k为短信编号,n为特征词表中特征词的数量。因为对短信的数量和特征词的数量均不作限定,所以k和n的范围均为[1,∞)。将可使用精简等价短词替换的输出向量设置为1,其余的输出向量设置为0。

本申请实施例中bp神经网络的拓扑结构包括输入层(input)、隐层(hidelayer)和输出层(outputlayer),如图2所示,图2为本申请实施例所提供的bp神经网络的拓扑结构示意图,图中x0、x1、x2、……、xn分别表示各个特征向量,vn和wn均属于隐含层,y0表示输出向量。bp神经网络的输入层神经元个数和输出层神经元个数根据应用的具体要求来设定,输入层节点数目取决于数据的维数。本申请实施例对长短信进行精简优化时,将长短信包含的特征词对应的特征向量作为神经网络的输入,所以bp神经网络的输入层神经元个数等于特征向量的维数。例如,输入选择为500×1的矩阵,即输入节点数为500,等同于输入神经元个数。当长短信某个特征词能找到等价替换词,输入神经网络后在输出神经元对应的位置上为1,如果找不到则输出0。

一般认为,增加隐层数可以降低网络误差、提高精度,但也使网络复杂化,从而增加了网络的训练时间和出现“过拟合”的倾向。隐含层数越多,神经网络学习速度就越慢,hornik等早已证明:若输入层和输出层采用线性转换函数,隐层采用sigmoid转换函数,在合理的结构和恰当的权值条件下,含一个隐层的mlp网络能够以任意精度逼近任何有理函数,这是一个存在性结论。在设计bp神经网络时可参考这一点,应优先考虑3层bp神经网络(即有1个隐层)。一般地,靠增加隐层节点数来获得较低的误差,其训练效果要比增加隐层数更容易实现。

在bp神经网络中,隐层节点数的选择非常重要,它不仅对建立的神经网络模型的性能影响很大,而且是训练时出现“过拟合”的直接原因,但是目前理论上还没有一种科学的和普遍的确定方法。目前多数文献中提出的确定隐层节点数的计算公式都是针对训练样本任意多的情况,而且多数是针对最不利的情况,一般工程实践中很难满足,不宜采用。事实上,各种计算公式得到的隐层节点数有时相差几倍甚至几十倍。为尽可能避免训练时出现“过拟合”现象,保证足够高的网络性能和泛化能力,确定隐层节点数的最基本原则是:在满足精度要求的前提下取尽可能紧凑的结构,即取尽可能少的隐层节点数。研究表明,隐层节点数不仅与输入、输出层的节点数有关,更与需解决的问题的复杂程度和转换函数的型式以及样本数据的特性等因素有关。

在确定隐层节点数时必须满足下列条件:

1.隐层节点数必须小于n-1(其中n为训练样本数),否则网络模型的系统误差与训练样本的特性无关而趋于零,即建立的网络模型没有泛化能力,也没有任何实用价值。

2.训练样本数必须多于网络模型的连接权数,一般为2-10倍,否则,样本必须分成几部分并采用“轮流训练”的方法才可能得到可靠的神经网络模型。

总之,若隐层节点数太少,网络可能根本不能训练或网络性能很差;若隐层节点数太多,虽然可使网络的系统误差减小,但一方面使网络训练时间延长,另一方面,训练容易陷入局部极小点而得不到最优点,也是训练时出现“过拟合”的内在原因。

下面对bp神经网络的bp算法的流程进行说明:

(1)、初始化:设置各权值和阈值的初始值;设置随机数,一般取0-1的随机数;

(2)、输入样本和期望输出:提供训练样本及目标输出,对每个样本进行(3)-(5)步;

(3)、计算各层输入;

(4)、计算训练误差;

(5)、修正权值和阈值;

(6)、计算性能指标:当样本集中所有的样本都经历了(3)-(5)步,即完成了一个训练周期,计算误差指标(即为均方误差);

(7)、如果误差指标满足精度要求,则结束;如果误差指标不满足精度要求,返回到(2),继续下一个训练周期直至满足精度要求。

bp神经网络的训练过程是长短信精简优化的基础,直接关系到优化率的高低。输送训练样本至bp神经网络训练,在梯度方向上反复调整权值使网络平方和误差最小。为使网络对输入向量有一定鲁棒性,可先用无噪声的样本对网络进行训练,直到其平方和误差最小,再用含噪声的样本进行训练,保证网络对噪声不敏感。训练完毕,把测试长短信输入bp神经网络中进行测试。例如,长短信分词后构建成一个500×1布尔矩阵,用此500个元素组成一个特征词的列矩阵,即特征词的特征向量。由500个特征列向量组成一个500×1的输入矢量,记为:sample_group=[0,1,2,…,500],式中的0,1,…,500代表短信特征词的特征列向量。与输入矢量对应的目标矢量是希望每一个特征词输入神经网络后,如果该特征词可进行优化,则在输出神经元对应的位置上为1,否则为0。为此取目标矢量为对角线上为1的500×1的单位阵,用matlab命令实现为:targets=eye(500,1)。

本申请实施例bp神经网络训练采用的目标性能函数为sse,误差性能目标值设置为0.01,例如当神经网络训练次数达到最大值500或者神经网络的误差平方和sse降到0.01以下,终止训练。通过训练样本用来训练网络并建立长短信优化模型,测试样本用来分析网络模型的分类精度和泛化能力。本申请实施例选取100条长短信作为神经网络训练样本数据,分别取隐层节点数n=1,5,15,20,25,30,35,40,45,50,51,52,53,54,对bp神经网络进行训练,调整和优化神经元阈值和连接权值。n=54时,bp神经网络训练的均方差变化情况如图3所示,图3为本申请实施例所提供的bp神经网络学习误差曲线。从图3中可以看到,均方差随着训练次数的增加而逐渐减小,当训练次数为54次的时候,均方差已基本上达到稳定值。

s104、根据输出向量,利用特征词库中的精简等价短词对特征词表中的目标特征词进行替换,形成目标特征词表;

本申请实施例在将特征向量代入bp神经网络进行训练,得到输出向量后,根据输出向量,利用特征词库中的精简等价短词对特征词表中的目标特征词进行替换,形成目标特征词表。利用特征词库中的精简等价短词对特征词表中的目标特征词进行替换的过程,通常包括:在特征词库中建立精简等价短词与目标特征词之间的映射关系;利用精简等价短词对目标特征词进行替换。由上文可知,将可使用精简等价短词替换的输出向量设置为1,其余的输出向量设置为0,输出向量设置为1对应的特征词即为目标特征词。对于目标特征词的数量在此不作具体限定,应由本领域技术人员根据实际情况作出相应的设定。特征词库是长短信精简优化的基础,长短信精简优化是使用试凑法来实现的,将短信中包含的长词语,全角符号,数字使用精简的等价短词,半角符合,数字单位变化等来替换。同时,考虑到字符编码问题,即使是相同的一个词语,使用不同的编码格式,最终获得该词语转化的字节数也不一样。如中国的“中”,使用gbk编码占2个字节,使用utf8编码占3个字节,使用utf16编码占4个字节。因此,在特征词库中还需要保存各种特征词使用各种编码格式所占用的字节数。而且,特征词库在初始化建库后,尤其将特征向量代入bp神经网络进行训练之后,通常还包括:利用bp神经网络将特征向量对应的特征词表保存至特征词库中,即通过bp神经网络学习不断丰富特征词库的内容,从而提升长短信精简优化的准确率和可靠性。

例如,用100个训练样本对和100个测试样本对训练好的bp网络进行长短信优化研究,训练样本的优化率为100%(如表1,表1为训练样本实验结果),测试样本的优化率为88%(如表2,表2为测试样本实验结果)。因建立好的bp神经网络已经对训练样本进行了自学习,故bp网络模型对训练样本的优化较高。分析测试优化失败短信,主要是因为建立的特征词库不够丰富,一些特征词没有纳入到特征词库中,故造成部分测试样本没有被优化成功。该问题可通过丰富特征词库,增强长短信的优化率。

表1训练样本实验结果

表2测试样本实验结果

s105、利用分词算法对应的逆算法对目标特征词表进行处理,得到目标长短信。

本申请实施例在根据输出向量,利用特征词库中的精简等价短词对特征词表中的目标特征词进行替换,形成目标特征词表后,利用分词算法对应的逆算法对目标特征词表进行处理,得到目标长短信。由上文可知,本申请实施例对分词算法的种类不作具体限定,所以此处对逆算法的种类也不作具体限定,但是需保证该逆算法是上文分词算法对应的逆算法。目标特征词表中有若干个特征词,故需要利用分词算法对应的逆算法将若干个特征词拼接起来,得到目标长短信。

本申请实施例在利用分词算法对长短信进行分词处理得到对应的特征词表及特征词空间后,利用特征词表和特征词空间得到对应的特征向量,然后将特征向量代入bp神经网络进行训练得到输出向量,再根据输出向量,利用特征词库中的精简等价短词对特征词表中的目标特征词进行替换,形成目标特征词表,最后利用分词算法对应的逆算法对目标特征词表进行处理,得到目标长短信。可见,该方法用特征词库中的精简等价短词替换了长短信中的特征词,对长短信进行了精简,减少了拆成的普通短信的条数,进而节约成本。而且,本申请实施例由于采用了bp神经网络,故计算速度更快、正确率更高。

在长短信精简优化中,特征的选择是一个关键问题。识别算法是根据选取特征的来进行识别的。所选取的特征是否稳定,代表长短信是否可优化,是系统优化率高低的关键。从统计模式识别的观点来看,长短信精简优化实际上是一个模式识别问题,人对自然物体的识别,是建立在对该物体进行学习、特征分析的基础上的,计算机模式识别的过程与人的识别过程有着相似的地方。实际上就是一种通过学习或者其它方法,形成一个记忆知识库,进行模式识别时,清晰地表达出一种从物体到记忆知识库的映像,从而得到识别结果。因此,本申请实施例对长短信精简优化根据短信特征词的优化方式来实现,长短信精简优化降低短信平台运营成本。

基于上述实施例,本实施例中利用分词算法对长短信进行分词处理得到对应的特征词表及特征词空间,通常包括:利用分词算法对长短信进行分词处理得到各个特征词及对应的特征词空间、各个停用词及对应的停用词空间;根据停用词库过滤各个停用词及对应的停用词空间,得到特征词表及特征词空间。在短信中有一些词出现次数最多,但是对于优化长短信长度又没有什么帮助,如“的”、“是”、“在”等这类词,这类词即为停用词。因此,将这类词过滤掉可以减少无关词对长短信精简优化的干扰,增强长短信精简优化的准确率,提高长短信精简优化速度。因此在分词后,通常根据停用词库过滤特征词表中的停用词。

下面对本申请实施例提供的一种长短信精简系统、设备及计算机可读存储介质进行介绍,下文描述的长短信精简系统、设备及计算机可读存储介质与上文描述的长短信精简方法可相互对应参照。

请参考图4,图4为本申请实施例所提供的一种长短信精简系统的结构框图;该长短信精简系统包括:

分词处理模块401,用于利用分词算法对长短信进行分词处理得到对应的特征词表及特征词空间;

特征向量获取模块402,用于利用特征词表和特征词空间得到对应的特征向量;

bp神经网络训练模块403,用于将特征向量代入bp神经网络进行训练,得到输出向量;

目标特征词替换模块404,用于根据输出向量,利用特征词库中的精简等价短词对特征词表中的目标特征词进行替换,形成目标特征词表;

目标特征词表处理模块405,用于利用分词算法对应的逆算法对目标特征词表进行处理,得到目标长短信。

基于上述实施例,本实施例中分词处理模块401通常包括:

分词处理单元,用于利用分词算法对长短信进行分词处理得到各个特征词及对应的特征词空间、各个停用词及对应的停用词空间;

过滤单元,用于根据停用词库过滤各个停用词及对应的停用词空间,得到特征词表及特征词空间。

基于上述实施例,本实施例中该长短信精简系统通常还包括:

存储模块,用于利用bp神经网络将特征向量对应的特征词表保存至特征词库中。

基于上述实施例,本实施例中目标特征词替换模块404通常包括:

映射关系建立单元,用于在特征词库中建立精简等价短词与目标特征词之间的映射关系;

目标特征词替换单元,用于利用精简等价短词对目标特征词进行替换。

本申请还提供一种设备,包括:存储器和处理器;其中,存储器用于存储计算机程序,处理器用于执行计算机程序时实现上述任意实施例的长短信精简方法的步骤。

本申请还提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现上述任意实施例的长短信精简方法的步骤。

该计算机可读存储介质可以包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例提供的系统而言,由于其与实施例提供的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

以上对本申请所提供的一种长短信精简方法、长短信精简系统、设备以及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1