-这是中医大省医院的一个项目, 他们的数据库需要做一个数据治理;由于很多医生的开药习惯不同,他们的数据库中存储了很多药品的非标准名,实际上一个药品在只有一个通用的标准名字;这就导致数据库的数据很难被复用。他们

就希望我们把非标准名都统一为标准名称;就是这么个需求 -前前后后从医院拿到33万条标注好的文本数据,有三千多个标准名,简单做了一些数据预处理,由于数据是离散数据,采取的是字向量编码;第一个版本是用1d卷积改写的经典卷积网络做分类,分类精度96.5%,达到医院方的要求,后续就部署上线了;过了一段时间, 医院方反馈了一个问题,新来的药品没有办法做转换;后面开始迭代第二个版本,我那段时间正好在接触一个人脸识别的项目,在人脸识

别中有人脸注册功能;既然2d可以这么做,1d应该也可以这么做; 就尝试了这个思路; -采取的特征提取网络是 transfomer,使用了arcloss损失

函数进行分类训练,训练后的分类精度是98.4%; -然后就是测试医院方给的新数据,先将所有标准名输入到网络中得到标准名特征库,然后将非标准

名输入到网络中得到特征向量,将特征向量和特征库中的数据依次做余弦相似度比较,取出其中相似度

最大的标准名,比较是否和原本的标准名一致;测试后top1准确度是 99%,top3准确度是99.9%

-达到医院要求,就把模型打包好,写好说明文档和软件部门对接部署 -当选用多个标准名时候,需要考虑两个阈值:一个是过低的阈值。


-达到医院要求,就把模型打包好,写好说明文档和软件部门对接部署

-当选用多个标准名时候,需要考虑两个阈值;一个是过低的阈值, 就说明该药品标准名没有在特征库中,不进行转换;一个是是否需要人工审查的阈值,当最大相似度低于阈值时候,就需要人工介入审查,高于的话就直接转换成相似度最高的这个标准名

来自随手写