Loading [MathJax]/jax/output/HTML-CSS/jax.js

一种行业代码标准化方法

简介: 本发明提出了一种行业代码标准化方法、装置、电子设备和存储介质,该方法包括如下步骤:获取行业数据;通过正则表达式对行业数据进行数据格式分类,针对不同分类结果进行预处理,获得数字代码和中文描述A;判断数字代码是否在标准版本中,如果在,则补齐行业门类字母,生成行业代码;判断数字代码是否在历史版本中,如果在,则取出历史版本中对应的中文描述B;将中文描述A或中文描述B与一标准版本中文描述进行相似度计算,重复操作,获得标准版本中最相似的中文描述C;根据中文描述C,查找出对应的标准版本行业代码并输出。本发明通过中文描述相似度特征,自动进行码值转换,相对于人工进行码值映射大大提高了工作效率。

背景技术

近年来,人民银行、银保监会对银行的监管愈发趋严,对银行报送的数据质量要求也越来越高。银保监会就数据质量专项治理工作发布通知(银保监办发〔2020〕45号),要求包括所有银行及保险类的金融机构在2021年5月底前,落实监管数据质量专项治理方案,并制定了详细的项目进度时间表。数据质量主要包括数据真实性、准确性、完整性、及时性。
监管机构要求商业银行实施专项治理的数据包括:非现场监管(1104)、监管数据标准化(EAST)、金融基础数据、利率报备等。这些专项数据都需要银行报送客户所属行业或者资金投向行业。行业分类按照中华人民共和国国家标准GB/T 4754-2017“国民经济行业分类”(以下简称为标准版本代码)的标准执行。行业代码是行业分类的具体代码,按照一定的科学依据对从事国民经济生产和经营的单位或者个体的组织结构体系的详细划分,如林业、汽车业、银行业等,按照单位的主要经济活动确定其行业性质。
由于某些原因,银行内客户的行业代码不全都符合监管机构要求的最新版本代码,有些是2011版本或者更早版本(以下称为历史版本代码),有些则保存了中文行业名称,有些只提供了四位数字而缺失表示行业门类的字母等,这些都是不符合监管要求的行业代码,在报送的时候会被监管机构系统退回,无法正常报送。
目前业界关于数据标准化工作方面,都采用人工手动添加映射的方式,这种方式对于代码值数量比较少的情况是可以的,比如说性别,从业状况等,只有几个十几个代码值。但是对于行业代码,有上千个码值的情况,如果也采用手工添加映射的方式,则处理脚本会过于冗余,而且效率太低。

具体实施方式

容易理解,根据本发明的技术方案,在不变更本发明实质精神下,本领域的一般技术人员可以提出可相互替换的多种结构方式以及实现方式。因此,以下具体实施方式以及附图仅是对本发明的技术方案的示例性说明,而不应当视为本发明的全部或者视为对本发明技术方案的限定或限制。
根据本发明的一实施方式结合图1示出。本发明提供了一种行业代码标准化方法,包括如下步骤:
S100,获取行业数据。
S200,通过正则表达式对行业数据进行数据格式分类,针对不同分类结果进行预处理,获得数字代码和中文描述A。
参见图2,对行业数据进行预处理,具体包括:
S201,根据正则表达式“^[A-T]\d{2,4}A01110111S202\d4”,表示形式“四位数字”,对行业数据进行匹配,如果匹配,则取四位数字代码,否则进入下一步。例如,原始输入行业为“8190”,则取“8190”。
S203,根据正则表达式“^[A-Z]\d{4}~[\u4e00-\u9fa5]{2,20}  C3262 3262S204[\u4e00\u9fa5]2,20”,表示形式“二到二十位中文描述”,对行业数据进行匹配,如果匹配,则取全部中文描述A。例如,原始输入行业为“铝压延加工”,则取“铝压延加工”。
S300,判断数字代码是否在标准版本中,如果在,则补齐行业门类字母,生成行业代码,否则进行下一步。
例如,数字代码“0111”在标准版本中,则按照标准版本代码补齐行业门类字母“A”,生成行业代码“A0111”。补齐门类行业字母的逻辑,参考行业门类与大类的包含关系,比如门类A包含的大类范围是01到05,门类B包含的大类范围是06到12,门类C包含的大类范围是13到43,以此类推,标准版本和历史版本略有差别。
S400,判断数字代码是否在历史版本中,如果在,则取出历史版本中对应的中文描述B,否则不做处理。
例如,数字代码为“8190”,它在标准版本代码中不存在的,但是存在于历史版本中,则按照历史版本代码取中文描述,最后输出“其他未列明服务业”。历史版本代码采用的是字典数据结构,字典用于保存一组不重复的键值对,并且可以根据输入的键来获得对应的值。键是历史行业代码,值是行业中文描述。
S500,将中文描述A或中文描述B与一标准版本中文描述进行相似度计算,重复操作,获得标准版本中最相似的中文描述C。
实际上,我们会将待比较行业的中文描述和标准版本行业的所有中文描述进行比较。这里列举两个标准行业中文描述,作为示例。
参见图3,将中文描述A或中文描述B与一标准版本中文描述进行相似度计算,包括:
S501,对需要计算相似度的两个中文描述进行拆分,列出待比较中文描述和标准版本中文描述的所有元素。
例如,待比较行业(中文描述A或中文描述B):“文体用品批发”;标准行业A描述:“文具用品批发”;标准行业B描述:“文具用品零售”。考虑到行业中文描述属于短语,一般不超过二十个字,且字间顺序影响也可以忽略。因此我们可以最细粒度拆分,上述行业拆分后得到:
待比较行业:[文,体,用,品,批,发]
标准行业A:[文,具,用,品,批,发]
标准行业B:[文,具,用,品,零,售]
S502,将拆分后的元素去重后放在同一集合中,构造出特征空间,并对特征空间的元素进行位置编码。
例如:
特征空间A:{“文”:0,“体”:1,“用”:2,“品”:3,“批”:4,“发”:5,“具”:6}
特征空间B:{“文”:0,“体”:1,“用”:2,“品”:3,“批”:4,“发”:5,“具”:6,“零”:7,“售”:8}
S503,将待比较中文描述和标准版本中文描述中的每个元素转换为特征空间元素对应的位置编码,以进行数字化。
当和标准行业A比较时,基于特征空间A得到编码如下:
待比较行业:[0,1,2,3,4,5]
标准行业A:[0,6,2,3,4,5]
当和标准行业B比较时,基于特征空间B得到编码如下:
待比较行业:[0,1,2,3,4,5]
标准行业B:[0,6,2,3,7,8]
S504,对数字化后的待比较中文描述和标准版本中文描述进行独热编码,获得两个行业向量。独热编码(OneHot编码),又称为一位有效编码,主要是采用N位状态寄存器来对N个状态进行编码,每个状态都有独立的寄存器位,并且在任意时候只有一位有效。OneHot编码是分类变量作为二进制向量的表示。这首先要求将分类值映射到整数值。然后,每个整数值被表示为二进制向量,除了整数的索引之外,其它都是零值。
本案例中,即计算每个特征空间中元素在原行业中文描述中出现的次数,OneHot编码后得到的结果如下:
当和标准行业A比较时,得到基于特征空间A的OneHot编码:
待比较行业:[1,1,1,1,1,1,0]
标准行业A:[1,0,1,1,1,1,1]。
当和标准行业B比较时,得到基于特征空间B的OneHot编码:
待比较行业:[1,1,1,1,1,1,0,0,0]
标准行业B:[1,0,1,1,0,0,1,1,1]
S505,应用余弦相似度算法,计算两个行业向量之间夹角的余弦值,余弦值越大相似度越高。
余弦相似度算法:一个向量空间中两个向量夹角间的余弦值作为衡量两个个体之间差异的大小,余弦值接近1,夹角趋于0,表明两个向量越相似,余弦值接近于0,夹角趋于90度,表明两个向量越不相似,余弦相似度算法如下:
image.png
image.png
image.png
CosA表示待比较行业和标准行业A的余弦相似度,CosB表示待比较行业和标准行业B的余弦相似度。根据计算结果,待比较行业和标准行业A相似度很高。当遍历整个标准版本中文描述时,计算得到“文体用品批发”和“文具用品批发”最相似。
S600,根据中文描述C,查找出对应的标准版本行业代码并输出。例如,根行业中文描述“文具用品批发”,从标准行业代码中找出其对应的代码“F5141”,输出代码。
考虑到特征空间中的不同维度,对语义的影响不一样,比如行业“其他卫生活动”,如果单纯的从余弦相似度算法来看,得出的结果可能就是“其他保险活动”。因此,为了解决原余弦相似度算法的局限,需要对向量中的某些维度进行增强,于是最终的相似度算法为:
image.png
F是特征增强向量。我们在具体实现中,维护了一个增强维度列表,从行业门类中提取关键字,当前增强维度列表清单有:[“制造”,“建筑”,“批发”,“零售”,“卫生”。。。等]。凡是待比较行业中有关键字在这个增强维度列表中的,都会得到增强。比如待比较行业中有“卫生”,增强向量的维度数量为特征空间的维度,增强系数默认为2,其他维度值为1,形如[1,1,2,2,1,1...]

待比较行业为“其他卫生活动”,标准行业有“其他保险活动”和“其他未列明卫生服务”,特征空间1[其他卫生活动保险],维度为8,关键特征位置为2,3,因此增强向量为F=[1,1,2,2,1,1,1,1],特征空间2[其他卫生活动未列明服务],维度为11,关键特征位置为2,3,同理增强向量为F=[1,1,2,2,1,1,1,1,1,1,1]。代入新的相似度公式计算后可的Sim1 = 0.471, Sim2 = 0.745。因此“其他未列明卫生服务”更相似。

附图说明

参照附图来说明本发明的公开内容。应当了解,附图仅仅用于说明目的,而并非意在对本发明的保护范围构成限制。在附图中,相同的附图标记用于指代相同的部件。其中:
image.png
图1为本发明实施例的行业代码标准化方法的流程示意图;
image.png
图2为本发明实施例的对行业数据进行预处理的流程示意图;
image.png
图3为本发明实施例的进行相似度计算的流程示意图。

目录
打赏
0
0
0
0
2
分享
相关文章
知识体系化的必要性及构建通用体系的方法
知识体系化的必要性及构建通用体系的方法
435 0
政府在推动物联网技术标准和规范的统一方面可以发挥哪些作用?
政府在推动物联网技术标准和规范的统一方面可以发挥哪些作用?
238 60
制定统一的物联网技术标准和规范的难点有哪些?
制定统一的物联网技术标准和规范的难点有哪些?
251 58
301重定向的定义与核心价值:构建数字生态的隐形桥梁
301重定向是HTTP协议中的永久性重定向状态码,当资源永久迁移时,服务器通过此技术将用户和搜索引擎引导至新地址。它不仅是技术解决方案,更是数字资产管理的核心策略。其核心价值体现在SEO权重传递、用户体验优化、数字资产整合、全球化智能适配及URL规范化等方面。然而,实施时需注重精准匹配与层级压缩,避免影响加载速度和转化率。作为数字时代的连接智慧,301重定向已成为维护互联网资源连续性和商业价值的关键基础设施。
67 5
移动应用与系统:构建现代数字生活的基石####
本文深入探讨了移动应用开发与移动操作系统之间的紧密联系及其对现代生活的影响。文章首先概述了移动应用的发展历程,随后分析了主流移动操作系统的特点与竞争格局,最后探讨了开发者面临的挑战与机遇,为理解移动技术如何塑造我们的日常生活提供了全面视角。 ####
移动应用与系统:构建数字生活基石###
本文深入探讨了移动应用开发的现状、趋势及挑战,分析了主流移动操作系统的特点和发展历程,阐述了两者如何共同推动数字化时代的进程。通过实际案例和数据分析,揭示了技术创新在提升用户体验和促进经济发展中的关键作用,同时展望了未来移动应用与系统融合的新方向。 ###
敏捷与瀑布的对决:解析Xamarin项目管理中如何运用敏捷方法提升开发效率并应对市场变化
【8月更文挑战第31天】在数字化时代,项目管理对软件开发至关重要,尤其是在跨平台框架 Xamarin 中。本文《Xamarin 项目管理:敏捷方法的应用》通过对比传统瀑布方法与敏捷方法,揭示敏捷在 Xamarin 项目中的优势。瀑布方法按线性顺序推进,适用于需求固定的小型项目;而敏捷方法如 Scrum 则强调迭代和增量开发,更适合需求多变、竞争激烈的环境。通过详细分析两种方法在 Xamarin 项目中的实际应用,本文展示了敏捷方法如何提高灵活性、适应性和开发效率,使其成为 Xamarin 项目成功的利器。
105 1
袋鼠云数栈 DataOps 数据生产力实践,实现数据流程的自动化和规范化
袋鼠云数栈在7年多的研发历程中为上千家客户提供了数据生产效率提升解决方案,也在这个过程中不断地将 DataOps 的理念融合到产品中,助力越来越多的企业成功实现数字化转型升级。本文将就数栈基于 DataOps 的敏捷、高质量数据生产力实践进行分享,希望对大家有所帮助。
456 0
业务团队如何形成统一的设计风格
首次上线应用,面对业务框架搭建你是否曾感到无从下手?维护线上应用,面对大量历史包袱你是否正避坑不及深陷泥潭?为何同样是业务应用,不同人的设计风格千差万别?为何最初的设计经过多个迭代后总是面目全非?新人来到团队,怎样才能快速了解业务,不被大量技术细节折磨?如果你也有这些困扰,希望本文能提供些许帮助。
431 2
合约量化机器人系统开发技术理念及成熟代码Demo
合约量化机器人系统开发技术理念及成熟代码Demo
147 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等