发明内容
为了解决上述一维数据的规律性较低导致LZ77压缩算法的压缩效率降低的技术问题,本发明的目的在于提供一种基于人工智能的医疗电子病历存储***,所采用的技术方案具体如下:
本发明一个实施例提供了一种基于人工智能的医疗电子病历存储***,包括处理器和存储器,所述处理器用于处理存储在所述存储器中的指令以实现一种基于人工智能的医疗电子病历存储方法,包括以下步骤:
将就医人员的电子病历数据转化为同类型的一维字符数据,将一维字符数据映射为二维矩阵;
获取二维矩阵中的至少两个分析字符,基于二维矩阵的至少两个设定分析角度,获取分析字符在每个设定分析角度下的字符串,根据每个字符串中的字符分布获取对应字符串的待提取系数;根据每个分析字符的每个字符串的待提取系数将二维矩阵自适应划分为至少两个最终字符串;
对每个最终字符串进行自适应的LZ77压缩处理,进而将压缩后的所有最终字符串进行存储。
优选的,所述根据每个字符串中的字符分布获取对应字符串的待提取系数,包括:
对于任意分析字符的任意一个字符串,根据字符串中每个字符的数值计算信息熵;统计字符串的字符总数量,获取字符串中出现频率最高的重复字符串的数量以及字符串中出现频率最高的重复字符串的最大长度,其中重复字符串是指至少预设数量个连续一样的字符所组成的字符串,获取出现频率最高的每个重复字符串与分析字符之间的最小字符数量;
结合信息熵、字符总数量、出现频率最高的重复字符串的数量、出现频率最高的重复字符串的最大长度以及出现频率最高的每个重复字符串对应的最小字符数量,得到字符串的待提取系数。
优选的,所述待提取系数的计算公式为:
其中,
为字符串的待提取系数;
为字符串中出现频率最高的重复字符串的
最大长度;
为字符串中出现频率最高的重复字符串的数量;
为字符串的字符总数量;
为字符串的信息熵;
为字符串中出现频率最高的第j个重复字符串与字符串对应的分
析字符之间的最小字符数量;
为信息熵的权重值;
为最小字符数量的累加和
的
权重值;
为归一化函数。
优选的,所述根据每个分析字符的每个字符串的待提取系数将二维矩阵自适应划分为至少两个最终字符串,包括:
对于任意一个分析字符的每个字符串的待提取系数,获取最大待提取系数,当最大待提取系数大于等于提取系数阈值时,将最大待提取系数对应的字符串作为分析字符的最终字符串;
基于分析字符的最终字符串,将二维矩阵中的剩余字符组成一个最终字符串,进而将二维矩阵自适应划分为至少两个最终字符串。
优选的,所述对每个最终字符串进行自适应的LZ77压缩处理,包括:
对于分析字符的最终字符串,根据每个最终字符串中出现频率最高的重复字符串的最大长度,获取对应最终字符串进行LZ77压缩处理时的滑动窗口的大小;利用每个最终字符串的滑动窗口的大小对相对应的最终字符串进行LZ77压缩处理;
对于由二维矩阵中的剩余字符组成的最终字符串,利用常规滑动窗口的大小进行LZ77压缩处理。
优选的,所述获取二维矩阵中的至少两个分析字符,包括:
从二维矩阵的最外圈开始,以一个字符为步长进行二维矩阵对应每圈的所有分析字符的迭代获取,当任意圈的分析字符在所有设定分析角度下的最长字符串所对应的字符数量小于数量阈值时,停止分析字符的迭代获取。
优选的,所述二维矩阵对应每圈的所有分析字符的迭代获取,包括:
取二维矩阵中的任意一圈为目标圈,以目标圈的任意顶点位置处的字符作为第一个分析字符,从第一个分析字符开始,对目标圈的字符进行顺时针遍历,将下一个不属于上一个分析字符的最终字符串中的字符作为下一个分析字符,直至目标圈的所有字符都遍历完;其中,二维矩阵对应每圈的第一个分析字符都是相同顶点位置处的字符。
优选的,所述设定分析角度为0度、45度、90度、135度、180度、225度、270度和315度。
优选的,使用ASCII编码将就医人员的电子病历数据转化为同类型的一维字符数据。
优选的,使用Z字形扫描法将一维字符数据映射为二维矩阵。
本发明具有如下有益效果:
考虑到电子病历信息较为复杂,且电子病历信息对应一维数据中存在的规律性较弱,使得压缩效率极低,因此本发明实施例将就医人员的电子病历数据转化为同类型的一维字符数据,将一维字符数据映射为二维矩阵,以通过二维矩阵将存在潜在规律性强的数据进行提取,使其更加适应LZ77压缩算法;一维字符数据映射为二维矩阵后,二维矩阵内的某一位置的字符在不同角度形成的字符串,其内部存在的规律性也会存在一定差异,则获取二维矩阵中的至少两个分析字符,基于二维矩阵的至少两个设定分析角度,获取分析字符在每个设定分析角度下的字符串,根据每个字符串中的字符分布获取对应字符串的待提取系数,由于待提取系数反映了字符串中重复字符串的分布情况,待提取系数越大,对应字符串的内部规律性越大,字符串被提取出来的概率越大,因此根据每个分析字符的每个字符串的待提取系数将二维矩阵自适应划分为至少两个最终字符串,实现了对一维字符数据中存在潜在规律的数据进行提取出来的目的,增强了数据的规律性,便于后续对每个最终字符串进行自适应的LZ77压缩处理,从而将压缩后的所有最终字符串进行存储。综上,本发明通过将一维数据转化为二维矩阵,根据二维矩阵内的数据分布特征,将规律性较强的数据提取出来,使得数据更加适应LZ77压缩算法,提高了压缩效率,降低了数据存储空间。
具体实施方式
为了更进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明提出的一种基于人工智能的医疗电子病历存储***,其具体实施方式、结构、特征及其功效,详细说明如下。在下述说明中,不同的“一个实施例”或“另一个实施例”指的不一定是同一实施例。此外,一或多个实施例中的特定特征、结构或特点可由任何合适形式组合。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。
本发明所针对的具体场景为:在对电子病历信息进行LZ77压缩时,电子病历信息较为复杂,电子病历信息对应一维数据中存在的规律性较弱,使得压缩效率极低,并不能将电子病历信息内部存在潜在规律性较强的数据进行挖掘并提取,本发明通过转化的方法,将电子病历信息的一维数据转化为二维矩阵,通过二维矩阵将存在潜在规律性强的数据进行提取,进而更加适应LZ77压缩方法,提高压缩效率,降低成本。
下面结合附图具体的说明本发明所提供的一种基于人工智能的医疗电子病历存储***的具体方案。
本发明实施例提供了一种基于人工智能的医疗电子病历存储***,包括处理器和存储器,处理器用于处理存储在存储器中的指令以实现一种基于人工智能的医疗电子病历存储方法。参阅图1,其示出了一种基于人工智能的医疗电子病历存储方法的步骤流程图,该方法包括:
步骤S001,将就医人员的电子病历数据转化为同类型的一维字符数据,将一维字符数据映射为二维矩阵。
具体的,不同的就医人员,对应电子病历中的数据也会存在不同,电子病历数据中存在文字、数字、英文、标点等不同的数据类型,要对该电子病历数据进行压缩,需要将不同类型的数据转化为同一类型数据,本发明实施例使用ASCII编码,将电子病历数据转化为十进制码,其十进制对应字符的数值范围为[0,127],在转化为同一类型数据之后,按照电子病历数据的填写顺序将转化后的十进制码组成一维字符数据,如图2所示,按照姓名、性别、年龄和病案编号的填写顺序,将电子病历数据转化的十进制码组成一维字符数据。作为其他实施例,电子病历数据的填写顺序可根据实施者的需求自行设定。
其中,ASCII编码为公知技术,本实施例不再赘述。
对于电子病历数据的一维字符数据,对应数据较为复杂,其数据内部的规律性较低,极难获取其中存在潜在规律的数据,而一维字符数据对应的为十进制的数据串,因此可以通过某种映射方式将电子病历数据的一维字符数据映射为二维矩阵,通过分析二维矩阵中的字符分布特征,将一维字符数据中看不出来的规律性数据挖掘出来。
对于一维字符数据,其为十进制的数据串,本实施例使用如图3所示的Z字形扫描
法将一维字符数据映射为二维矩阵,其中,统计得到一维字符数据的字符数量为
,基于一
维字符数据的字符数量
,本发明实施例规定二维矩阵为方形,且二维矩阵的宽度为
,
为取整符号,当一维字符数据的数据量小于二维矩阵的数据量时,对二维矩
阵进行补零操作,得到一个完整的方形二维矩阵。
需要说明的是,Z字形扫描法为公知技术,本实施例不再赘述。
步骤S002,获取二维矩阵中的至少两个分析字符,基于二维矩阵的至少两个设定分析角度,获取分析字符在每个设定分析角度下的字符串,根据每个字符串中的字符分布获取对应字符串的待提取系数;根据每个分析字符的每个字符串的待提取系数将二维矩阵自适应划分为至少两个最终字符串。
具体的,一维字符数据映射为二维矩阵后,二维矩阵内某一位置的字符在不同角度形成的字符串,其内部存在的规律性也会存在一定差异,存在一些角度形成的字符串内,存在重复字符串的频率较大,因此通过分析二维矩阵中不同角度形成的字符串中的字符分布特征,将存在重复字符串较多所对应角度下的字符串提取出来,通过对二维矩阵内的字符不断迭代,便可以自适应将二维矩阵内的字符分为规律性较强的字符串,进而更适应后期对二维矩阵中的字符进行压缩存储。
获取二维矩阵之后,为了避免计算量过大,本实施例设定二维矩阵的分析角度为0度、45度、90度、135度、180度、225度、270度和315度。从二维矩阵的最外圈开始,以一个字符为步长进行二维矩阵对应每圈的所有分析字符的迭代获取,取二维矩阵中的任意一圈为目标圈,以目标圈的任意顶点位置处的字符作为第一个分析字符,从第一个分析字符开始,对目标圈的字符进行顺时针遍历,将下一个不属于上一个分析字符的最终字符串中的字符作为下一个分析字符,直至目标圈的所有字符都遍历完;其中,二维矩阵对应每圈的第一个分析字符都是相同顶点位置处的字符。
具体的,参照附图4,虚线构成了8*8大小的二维矩阵,利用实线将8*8大小的二维矩阵中的字符分为一圈一圈的,即将8*8大小的二维矩阵的最边缘上的字符组成一圈Q1,然后去除最边缘对应的一圈字符之后,8*8大小的二维矩阵变成6*6大小的二维矩阵,进而将6*6大小的二维矩阵的最边缘上的字符又组成一圈Q2,依次类推,能将8*8大小的二维矩阵划分为4圈,分别为Q1、Q2、Q3、Q4。本实施例从二维矩阵的最外圈开始进行分析字符的获取,当最外圈的分析字符获取完之后,以同样的获取方式,获取下一圈的所有分析字符。
需要说明的是,当二维矩阵的大小为奇数尺寸时,如9*9大小的二维矩阵,该二维矩阵的最内圈为二维矩阵的一个中心字符,则此时,就不考虑该二维矩阵的最内圈,也即是不分析最内圈对应的字符了。
基于二维矩阵对应每圈的每个分析字符在每个设定分析角度下的字符串,根据字符串的字符分布特征,进行逐圈分析每个分析字符对应的字符串,以将二维矩阵自适应划分为多个字符串,具体为:
首先,本发明实施例以二维矩阵的最外圈为例,获取分析字符在每个设定分析角度下的字符串,根据每个字符串中的字符分布获取对应字符串的待提取系数,则待提取系数的获取方法为:对于任意分析字符的任意一个字符串,根据字符串中每个字符的数值计算信息熵;统计字符串的字符总数量,获取字符串中出现频率最高的重复字符串的数量以及字符串中出现频率最高的重复字符串的最大长度,其中重复字符串是指至少预设数量个连续一样的字符所组成的字符串,获取出现频率最高的每个重复字符串与分析字符之间的最小字符数量;结合信息熵、字符总数量、出现频率最高的重复字符串的数量、出现频率最高的重复字符串的最大长度以及出现频率最高的每个重复字符串对应的最小字符数量,得到字符串的待提取系数。
作为一个示例,参照附图4,将8*8大小的二维矩阵的最外圈Q1的最左侧上顶点处的字符作为第一个分析字符,将第一个分析字符在8*8大小的二维矩阵中的第一行上的所有字符且包括第一个分析字符组成第一个分析字符在分析角度为0度下的字符串,将8*8大小的二维矩阵的对角线上的所有字符包括第一个分析字符组成第一个分析字符在分析角度为315度下的字符串,同理基于每个设定的分析角度,获取第一个分析字符在每个分析角度下对应的字符串,需要说明的是,在其他实施例中,也可以将最外圈的最右侧上顶点处的字符、最外圈的最右侧下顶点处的字符以及最外圈的最左侧下顶点处的字符作为第一个分析字符。
对于第一个分析字符的任意一个字符串,根据字符串中每个字符的数值计算信息熵,其中信息熵的计算公式为:
其中,
为字符串的信息熵;
为字符串中字符的数值为i的出现频率;
为以
常数2为底的对数函数;127是指ASCII编码为十进制所对应字符的最大数值。
本发明设定重复字符串为由至少4个连续一样的字符所组成的字符串,例如,当分析字符1的字符串为12222333334533333时,2222为重复字符串,33333为重复字符串,由于重复字符串有1个,重复字符串33333有两个,因此33333也为出现频率最高的重复字符串,分析字符1与出现频率最高的第一个重复字符串33333之间的最小字符数量为:由于分析字符1和出现频率最高的第一个重复字符串33333中的第一个字符3之间间隔的4个字符2,因此最小字符数量为4,则根据字符串中的字符分布获取分析字符对应的字符串的待提取系数的计算公式为:
其中,
为字符串的待提取系数;
为字符串中出现频率最高的重复字符串的
最大长度;
为字符串中出现频率最高的重复字符串的数量;
为字符串的字符总数量;
为字符串的信息熵;
为字符串中出现频率最高的第j个重复字符串与字符串对应的分
析字符之间的最小字符数量,也即是第j个重复字符串中靠近分析字符的字符与分析字符
之间间隔的字符数量;
为信息熵的权重值;
为最小字符数量的累加和
的权重
值;
为归一化函数。
优选的,本发明实施例中给予参考值
、
,在其他实施例中,实施者
可根据自身场景来设置。
需要说明的是,每个分析角度下的字符串中出现频率最高的重复字符串的数量越
多,且对应的长度越长,即
的值越大,对应分析角度下的字符串内的规律性越强,被
提取的程度越大,对应分析角度下的字符串的待提取系数CE的值越大;分析角度下的字符
串内的信息熵H越小,即内部出现的不同数值的字符数量较少,出现重复字符串的概率较
大,即
值越小,对应分析角度下的字符串被提取的程度越大;分析字符的分析角度下的字
符串中的重复字符串距离分析字符越近,说明重复字符串分布较为集中,对应分析角度下
的字符串中的规律性越强,则
的值越小,对应分析角度下的字符串被提取程度越大,
待提取系数
越大。
然后,基于字符串的待提取系数的计算公式获取最外圈的第一个分析字符在所有
分析角度下的字符串的待提取系数
。对于最外圈的第一个分析字符在每个分析角度下
对应字符串的待提取系数,取最大待提取系数
,设置提取系数阈值
,
的大
小由人工经验获取,当最大待提取系数
大于等于提取系数阈值
时,将最大待提取系
数对应的字符串作为第一个分析字符的最终字符串;反之,当最大待提取系数
小于
提取系数阈值
时,说明第一个分析字符的字符串的规律性较差,不适合提取该分析字符
的字符串,则认为第一个分析字符不存在最终字符串,进而直接获取最外圈中下一个分析
字符的最终字符串,其获取最终字符串的方法和第一个分析字符的最终字符串的获取方法
相同,直至将最外圈中的所有分析字符都遍历完,进而得到多个最终字符串。
同理,基于最外圈的分析字符的分析方法,对二维矩阵从外圈到内圈的顺序,都以每圈的最左侧上顶点处的字符作为第一个分析字符进行逐圈的分析字符的遍历,进而基于每圈中的分析字符得到多个最终字符串。
需要说明的是,当任意圈的分析字符在所有设定分析角度下的最长字符串所对应
的字符数量小于数量阈值时,停止分析字符的迭代获取。即每次获取分析字符时,统计分析
字符在所有设定分析角度下的最长字符串所对应的字符数量
,设置数量阈值
,数量阈
值的大小可由人工经验获取,本发明给予参考值
,当字符数量
小于
时,则停止
分析字符的获取。
当二维矩阵停止分析字符的迭代获取时,二维矩阵中还存在部分剩余字符,进而基于分析字符的最终字符串,将二维矩阵中的剩余字符组成一个最终字符串,以将二维矩阵自适应划分为至少两个最终字符串。
需要说明的是,通过对二维矩阵对应每圈的分析字符的遍历,得到多个规律性高的最终字符串,而对于二维矩阵中除了通过分析字符得到的最终字符串外,二维矩阵中还存在一些剩余字符,本发明实施例通过Z字形扫描法将二维矩阵中的剩余字符扫描为一维字符集合,且将该一维字符集合作为单独的一个最终字符串,进而完成了二维矩阵的自适应字符分串的操作,实现了对一维字符数据中存在潜在规律的数据进行提取出来的目的,便于后期进行压缩。
步骤S003,对每个最终字符串进行自适应的LZ77压缩处理,进而将压缩后的所有最终字符串进行存储。
具体的,不同的分串数据,内部的规律性强度不同,进而可以对不同的最终字符串进行不同的LZ77压缩处理,以有效的提升数据的压缩效率,具体为:对于分析字符的最终字符串,根据每个最终字符串中出现频率最高的重复字符串的最大长度,获取对应最终字符串进行LZ77压缩处理时的滑动窗口的大小;利用每个最终字符串的滑动窗口的大小对相对应的最终字符串进行LZ77压缩处理;对于由二维矩阵中的剩余字符组成的最终字符串,利用常规滑动窗口的大小进行LZ77压缩处理。
作为一个示例,由于LZ77压缩算法采用字典的方式进行压缩,且LZ77使用前向缓
冲区和一个滑动窗口来实现压缩,因此对应不同的最终字符串,其内部的规律会存在不同,
故按照二维矩阵中的分析字符的遍历顺序排列最终字符串,对于不同的最终字符串,本发
明实施例规定使用滑动窗口大小为对应最终字符串中出现频率最高的重复字符串的最大
长度
的LZ77压缩算法对相对应的最终字符串进行压缩,其中滑动窗口的大小比最
终字符串中出现频率最高的重复字符串的最大长度多一个长度单位,使得LZ77压缩字符串
的能力会更强;对应最后一个最终字符串,也即是二维矩阵内剩余字符组成的最终字符串,
使用目前常规滑动窗口的大小进行LZ77压缩,常规滑动窗口的大小为7。其中,LZ77压缩算
法为公知技术,且LZ77压缩算法中的滑动窗口为一维的,在此不再赘述。
为了保证解压后的数据准确性,按照二维矩阵中的分析字符的遍历顺序排列最终字符串,对于排列后的每个最终字符串,分别记录每个最终字符串在二维矩阵中的位置信息,本发明实施例设置位置信息为二维矩阵对应的行数和列数,且位置信息为一个四位数组,令四位数组的前两位数为最终字符串的首个字符在二维矩阵中的行列数,最终字符串的首个字符也即是最终字符串对应的分析字符,同时令四位数组的后两位数为最终字符串的末尾字符在二维矩阵中的行列数,进而能够得到每个最终字符串在二维矩阵中的位置信息(四位数组)。对于最后一个最终字符串,也即是二维矩阵内剩余字符组成的最终字符串,不用获取该最终字符串的位置信息,当分析字符对应的所有最终字符串根据对应的位置信息解压出来后,即可根据最后一个最终字符串的扫描方式还原最后一个最终字符串中每个字符在二维矩阵中的位置,最后将压缩后的所有最终字符串和排列后的每个最终字符串的位置信息进行存储,使得压缩后的数据存储空间得到了一定程度的缩小。
至此,通过分析二维矩阵内的字符分布特征,提取规律较强的分串数据(最终字符串),进而自适应进行LZ77的字符串压缩存储。通过将电子病历数据对应的一维字符数据中存在潜在规律的最终字符串,通过二维矩阵将其进行提取,使得提取的最终字符串更加适应LZ77压缩算法,极大的提升了数据的压缩效率,降低储存空间,同时也节约了一定的成本。
需要说明的是:上述本发明实施例先后顺序仅仅为了描述,不代表实施例的优劣。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。