APP下载

基于字符余弦相似度的地址数据治理方法

2019-10-23李庆丰张治国梁会营夏慧敏

中国医学装备 2019年10期
关键词:余弦弹性距离

张 帆 邓 慧 李庆丰 张治国 梁会营* 夏慧敏

地址信息的准确性对于病案上传、传染病上报、地理信息系统(geographic information system,GIS)分析、医院内部科研及发病地区统计至关重要。目前,多数医院对于患者地址信息的获得主要依赖于患者主动填写的地址,信息从挂号入口进入医院内部系统后,各使用部门所对照的规范数据集不相同。通常,病案上传要求5级地址,而传染病报病只需4级地址,两者包含的行政街道并不完全一致,每年更新的时间也不一致。为了实现数据治理的目标,本研究提出基于字符余弦相似度的地址数据治理方法,将患者填写的原始地址在不同的数据规范集进行数据映射[1-6]。

1 资料与方法

1.1 一般资料

待清洗的数据来自2018年1月至2019年4月广州市妇女儿童医疗中心的挂号患者,按挂号时间先后选用了其中100万例患者的地址信息作为分析集。

1.2 相关技术

将患者提供的地址信息中残缺地址与标准地址进行字符编码,通过余弦相似度以及弹性距离找到合适的映射地址。从热力图上看,数据治理后的地址比治理前提供了更多的信息增益,并且达到了90%的修复率。

1.2.1 余弦相似度算法

在两份文本相似度上,“余弦相似度”算法[7]被广泛使用。通过将两个文本出现的单词,建立A、B两个向量,并且计算这两个向量的余弦值。其数学表达为公式1:

式中A、B为文本编码后的向量;cos_Similarity(A,B)∈(0,1)代表了为两个文本的相似度,当两份文本越相似,越接近1。

1.2.2 弹性距离算法

由于余弦相似度算法本身是在向量空间里面计算两份文本的相似度,并不考虑字符的前后次序关系。为了表示这一特征,并且最大程度从患者填写地址中提取连贯的片段信息,定义“弹性距离”这一数学量,其概念表达见图1。

图1 弹性距离计算方法

将患者地址映射到标准地址相同的文字上,再检查标准地址上有多少个文字是相连的,最后数出相连的文字对数,标记为弹性距离。若有多种映射方式,则选取最大的作为映射距离,其具有同时表示文字的次序和文字的紧密程度的优点。即便患者写出“北京市朝阳区广州市”的地址信息,也能正确地根据“北京市朝阳区”这段紧密相连的文字得到更大的权重,排除“广州市”相对于标准地址无关的信息干扰。

弹性距离数学表达设患者地址文字序列为A=a1a2…ai,标准地址序列为B=b1b2…bj,患者地址文字第l块片段Cl=cl1cl2…clk,其中Cl∈A且Cl∈B,则弹性距离为公式2:

因为文字片断匹配的过程满足动态规划的后无效性要求,所以可以使用动态规划方法求解。

1.2.3 地址综合得分

计算患者地址对于每个标准地址的余弦相似性,将结果按高分排在前面,取前10个相似的地址,再对10个地址分别计算弹性距离,并将弹性距离的得分在10个地址的组内归一化,再与余弦相似性相加作为10个地址的最后得分,取最高分作为映射地址:

1.3 研究方法

1.3.1 数据特点

患者手填地址有着和文本不同的特点。文本除虚词“的”、“了”外,多数词汇出现次数不止一次,因此可从词汇整体出现的概率去提取表示位置的实体,但地址信息除省、市、区前三级在标准地址表里出现频繁外,第四级的镇、乡、县、街道的命名则种类繁多,大量名词只在标准库中出现一次,而由于出现频率低,故无法有效提取与位置实体有关的词汇。对100万名患者填写的地址进行分析,发现标准地址具有统计特点:地址的长度一般为(21±6)个字符,当>2个标准差以后(9个字符、33个字符),地址的质量堪忧,其统计特点无论是统计5000个地址,还是100万个地址,皆保持稳健。多种患者的不良地址类型见表1。

表1 不良地址类型举例

对于标准地址表《全国街道乡镇级以上行政区划》的分析则表现出以下规律:①规范地址使用3100个汉字,除建设兵团用编号标注外,极少使用阿拉伯数字;②使用“省”“市”“镇”“县”“乡”“州”“街道”“区”“农场”“建设兵团”“团”“单位”“公司”“场”“管理处”“园”“管委会”“自治州”等文字进行级别划分;③在个别地区并不使用省、市、区这种类型的行政区划,如“建设兵团直属单位兵团机关”。

1.3.2 数据处理流程

构建一份字向量字典,将规范地址表中的文字进行one-hot编码。通过字向量字典对患者填写地址与规范地址进行编码,去除数字和空格等非规范字符后,获得患者地址与规范地址向量;依次按算法处理患者地址,得到唯一地址,其流程见图2。

1.3.3 统计学方法

采用统计学软件IBM SPSS Statistics19.0对数据进行统计分析,数据不符合正态分布,采用t检验方式。

2 结果

图2 数据处理流程

通过地址质量较差的标准(字符数<9个,>33个)从100万名患者地址中筛选58 900个地址作为数据集。通过随机抽取样本,并且人工判断的方法检查算法的处理情况,通过t检验[7]进行估计,每200个地址以95%置信区间(confidence interval,CI)可以正确修复170~186个地址,见表2。

表2 不良地址修复统计

未能修复的地址在于患者使用了“街道”一词进行地址描述,并且该街道未出现在规范地址集里面。尽管余弦相似度与弹性距离得分均较低,但按算法流程依然筛选了一个映射地址,因此,对关键词进行过滤可以增强地址修复率。地址经过治理后呈现出良好的有序对照关系,方便病案室、科研人员进行下一步处理,并且在不同的数据规范中相互映射也有着良好的效果。对于列为“不详”的地址,医院在患者下次来院时给予提示,请患者填入现住址进行更正,见表3。

表3 地址治理后修复结果

从58 900的低质量地址中随机选取4800个地址进行修复,并于修复前后通过“百度地图开放平台”进行热力图信息增益对比[8-10]。当地址未治理前,根据热力图绘制的原理,地址被分散到各个不同的经纬坐标当中,结果不明显。而地址数据治理以后,因为更多的地址被归总映射到同一个经纬坐标下,因此热力图明晰可辨,见图3。

图3 治理后信息增益热力图

3 结论

本研究提出的简单且有用的地址映射算法对患者地址数据进行治理,由于“余弦相似性”及“弹性距离”均为一种统计上的先验规律,与其他先验规律得到的知识一样,其算法也有其限制因素:①当患者使用道路作为登记地址的时候,因为道路名称可能在全国其他省份使用,因此需要结合更多的信息进行校准;②当患者写错别字或字序颠倒时,需要先对原始数据进行清洗;③患者使用了楼盘的名称或未进入标准地址的道路名称时,算法无法找到正确的对应地址,而要结合GIS寻找该患者地址最大可能的位置,再匹配行政街道进行修正。

本研究拓展与改进患者地址数据治理规律的适普性,并从不同角度加以完善,可以使得患者地址数据治理工作更加完整。

猜你喜欢

余弦弹性距离
旋转变压器接线故障分析法的研究
为什么橡胶有弹性?
为什么橡胶有弹性?
注重低频的细节与弹性 KEF KF92
弹性夹箍折弯模的改进
算距离
两个含余弦函数的三角母不等式及其推论
实施正、余弦函数代换破解一类代数问题
每次失败都会距离成功更近一步
分数阶余弦变换的卷积定理