数据中台词根库搭建方法论
一、词根定义
词根,词汇学术语,词汇当中体现基本词汇意义的词素。
单词一般由三部分组成:词根、前缀和后缀。词根决定单词意思,前缀改变单词词义,后缀决定单词词性。如:
前缀: in ——> incorrect 不正确的 auto ——> automatic 自动的 tele ——> telephone 固定电话
后缀: or ——> actor 演员 er ——> teacher 教师 ly ——>friendly 友善的
词根定义的目的是为表、字段名称建立规范性,总目标是通过搭建词根总库,统一字段表述,实现美宜佳各系统数据的标准化。
二、单词缩写规则
1、截取法
截取前几位,一般应省略在辅音之后,元音( a, e, i, o, u )之前,一般以辅音结尾。如 american缩写为 am,而不省略为 ame 或 amer,medicine 缩写为 med。如:
g ——> gram 克 t ——> ton 吨 m ——> meter 米 id ——> identifier 标识符 max ——> maximum 最大值 bin ——> binary 二进制 doc ——> document char ——> character 字符 addr ——> address 地址 expr ——> expression 表达式 admin ——> administrator 管理员 const ——> constant 常量;不变的 coord ——> coordination 坐标 config ——> configuration 配置 struct ——> structure 结构 结构体 uninst ——> uninstall 卸载 sqrt ——> square root 平方根
2、压缩字母法
一般取辅音字母,如 Japanese 缩写为Jpn 而不是 Jan,可能Jan 是January 的固定缩写形式,National 缩写为Natl 而不缩写为Nat,可能是Nat 是Nature 和Natural 的缩写。如:
cn ——> chinese 中文 kg ——> kilogram 千克 db ——> database 数据库 bg ——> background 背景 pwd ——> password 密码 idx ——> index 索引 cfg ——> config 配置 pkg ——> package 包 mgr ——> manager 管理
三、词组缩写规则
1、取首字母法
一般取词组中单词首字母,虚词如 the,of,for,and,on,from,to 等,在缩写时省略。如:
gt ——> greater than 大于 lt ——> less than 小于 ge ——> greater than or equal to 大于等于 le ——> less than or equal to 小于等于 pc ——> personal computer 个人电脑 ui ——> User Interface 用户界面 cd ——> change directory 改变目录 atm ——> automatic teller machines 自动柜员机 cpu ——> central processing unit 中央处理器 apk ——> Android application package 安卓应用程序包 ascii ——> American standard code for Information Interchange 美国信息交换标准代码
2、词组中单词缩写拼接
也要省略虚词如the,of,for,and,on,from,to等。如:
bgm ——> background music 背景音乐 cls ——> clear screen sqrt ——> square root 平方根 rmdir ——> remove directory 移除目录 regex ——> Regular Expression 正则表达式
四、词根总库搭建
字段名称标准化的核心是中文词根的唯一性,即“1中文1英文”或“N中文1英文”,举例:
方式,方法 Mode
不可出现“1中文N英文”或“N中文N英文”,举例:
方式 Mode,Method
1、各个系统入湖清单所有字段去空去重
在表字段名称规范性建立之前,先对现有的数据入湖清单展开分析。对于每个系统的入湖清单,同步抽取两列信息,字段名与字段中文名,如:
对于各个系统的两列信息均采取“去空值”与“去重复”操作。
通过函数LEN()呈现入湖清单字段中文名的字符长度,作“升序排列”,删除字符长度为“0”的行,即可实现“去空值”。
同步选中“字段名”与“字段中文名”,即可借助“数据-删除重复值”实现“去重复”。
2、各个系统入湖清单字段中文名拆分
词根总库的搭建,以字段中文名为基准,其字符长度长短不一,如何截取字段决定着词根的质量。
基于“步骤一”函数LEN,将8个字符以下的字段中文名划分为三组:1-3字符、4-5字符、6-7字符,其中,由于中文的字词特点,1-3字符的短字段即词根,基本不必拆分,4-5字符和6-7字符均需借助函数LEFT、RIGHT拆分,而6-7字符还需函数MID才能拆分完毕。
四长度的字符一般使用的拆分方式: =LEFT(B7,2) =RIGHT(B7,2)
五长度的字符一般使用的拆分方式: =LEFT(B16,2) =RIGHT(B16,3)
六长度的字符一般使用的拆分方式: =LEFT(B19,2) =MID(B19,3,2) =RIGHT(B19,2)
拆分到“词根级”,将上述所有拆分前与拆分后的1-3字符进行人工审核,将一些特殊的字符或不符合质量要求的词重新拆分好,比如"特别的复核员"六字符词,应该拆分为"特别的"、"复核员",而不是拆分成"特别"、"的复"、"核员"。
梳理完成之后将这些字符放入“词根池”,通过EXCEL“数据-删除重复值”实现“词根池”的去重,
再输入函数:
=FILTERXML(WEBSERVICE("http://fanyi.youdao.com/translate?&i="&A2&"&doctype=xml&version"),"//translation")
得到“词根池”中文和英文翻译(此函数必须在Excel软件上才会生效,WPS表格无效):
然后按照上面单词和词组的缩写规则,给“词根池”增加英文简写:
3、基于词根库规范全系统字段命名
后续基于上面整理的词根库对表和字段进行命名,命名一般有驼峰命名法和下划线命名法,我们采用下划线命名法,即以“_”来拼接英文单词或简写,并全部采用小写。可根据命名的长短,灵活使用上面的规则进行组合。尽量使用约定俗成通俗易懂的,或者公司内部通用大家都认可的命名,增加代码可读性。如:
盘点完成 Inventory completed 命名为 inv_compl
盘点费用结算 Inventory fee settlement 命名为 inv_fee_setmt
配货差异单 Distribution difference order 命名为 dist_diff_ord
品类管理专员 Category Management Specialist 命名为 cat_mgt_sp
医学研究档案 Archives of Medical Research 命名为 arch_med_res
词根库一次不可能囊括所有场景,后续需把把新增加的词根维护到词根库,,逐步丰富词根库内容。