100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > 未名企鹅极客 | 医药数据管理中的短文本高效匹配技术

未名企鹅极客 | 医药数据管理中的短文本高效匹配技术

时间:2021-06-15 09:36:02

相关推荐

未名企鹅极客 | 医药数据管理中的短文本高效匹配技术

大量行业数据、渠道流向数据在清洗的过程中,面临着诸多极大耗费人力的问题。在数据来源多样且格式不统一的情况下,人工匹配曾让很多信息员闻之色变。即使在人工智能和机器学习的时代下,由于各种原因导致的匹配误差,带来了名称缺失、重复等问题依然在影响数据展现质量。

本期极客栏目,未名企鹅的高级架构师Joseph对于医药数据管理中的短文本高效匹配技术,给出了很多实用的建议。

NLP短文本匹配(中文组织机构名称)

01

需求分析

业务需要对大量医疗机构相关的短文本进行匹配,如“济南市明水眼科医院股份有限公司” 与 “济南市明水眼科医院” 这类短语言或名词进行匹配。

已知匹配数据量特别巨大,因此对匹配性能有较高的要求。

分析数据源后,得知其中不仅存在文本格式上的匹配,还有语义匹配的需求。

02

匹配方案

汇总需求我们需要实现以下几个功能目标

文本语言形式匹配文本语义匹配可以处理大量数据

因为文本形式上的匹配,有很多方案可以采用,其中Elasticsearch 搭载中文分词器,配合TF/IDF的算法 即可以实现有效的文本语言形式上的匹配。

其中需要关注的问题有分词器的分词粒度问题,我们叫做“分词深度”,机构名称匹配,因为输入串已经是一个命名实体。例如 “济南市明水眼科医院股份有限公司” , 如果使用普通的分词模型,越优秀越能识别出 “济南市明水眼科医院股份有限公司” 本身就是一个实体, 无需再分,但这和需求相背。分词方案可能因分词粒度太粗而无法理解其中隐含的关系,导致识别失败。因此我们需要更细粒度的定制化分词。值得庆幸的是ES上的IK词库有这种能力,进行最大化分词。机器学习的LAC模型也可以做分词和实体识别,但也会遇到分词深度的问题,可以通过后期训练到达目的,但是可能需要大量数据集。

至此“文本语言形式匹配”的能力基本可以实现,但语义匹配还未敲定。已知仅提供“形式”匹配无法满足需求,同样仅提供“语义”匹配也无法满足需求,因为有时语义上的容错仍然需要“形式”匹配的支持。所以我们需要一个“形式”匹配和语义匹配相结合的方案。在此背景下AnyQ进入了我们的视野。

03

AnyQ

AnyQ是百度开源的一个人工智能问答系统框架,其通过SimNet机器学习模型生成短文本向量空间坐标(词向量),在通过Annoy库进行索引,之后使用余弦相似度来确认两个词向量的相似度。

使用过程中同时通过ES和Annoy索引召回文档,之后在将召回的所有文档同目标文档计算杰卡德相似度(文本字面形式相似度),再通过线性函数调节“语义”匹配和“形式”配置的权值。

AnyQ的设计思路很好的契合了我们的需求,同时兼顾“形式”匹配和“语义”。

经测试还是出现问题了, 匹配基本上无法匹配我们需求里的机构名称,经过调查问题出在SimNet模型及其Demo的训练数据集上。SimNet模型在训练较长文本上可以有较好的表现,但对于过短的文本无能为力,如需求中的机构名称。想重新训练模型,发现需要大量的对照样本集,组织这个样本需要的工作量也非常巨大。

基于上述问题,保留采用AnyQ的思路,但要替换生成词向量的机器学习模型,需要一个有基础的且可以不断成长并完善的模型。至此BERT模型进入视野。

04

BERT和ERNIE

BERT 是谷歌发布的一个无监督机器学习模型,随模型代码发布的还有一组带中文的训练数据模型文件。BERT 的训练分为两部分 Pre-training 预训练和 Fine-tunning 微调。预训练需要大量的数据集和大量算力开销,这部分动作已经在谷歌发布前完成了,训练好的数据模型已经随着代码一起发布了。因此可以节约很多成本。

微调部分又是我们可以针对特性语境进行加强训练,非常适合针对特定需求进行优化。因此BERT一经发布得到广泛关注,也因为如此这个该模型很好的契合了我们的需求。未经微调的前提下测试匹配率能达到85%以上,基本能满足语义匹配的需求。

BERT 是基于Tensorflow平台的计算模型,因此后期的微调也需要在Tensorflow上进行,令人遗憾的是Tensorflow 的分布式部署能力目前在开源版本中未能很好的支持,要想使用分布式计算还需要在谷歌云上部署。因此我们寻找是否有代替方案,

ERNIE是百度发布的一个BERT的改进版,修改了BERT模型中的mask策略,强调词与词之前的语义关系。最重要的是该模型是运行在paddlepaddle平台上,该平台很好的支持了分布式部署的能力,对后期的模型微调再无后顾之忧。因此选择ERNIE替代BERT作为词向量生成模型。

05

样本积累

拥有了可以“成长”的模型后我们需要为模型积累“知识”了。这个积累过程很简单,就是将所有人工匹配的关系都记录下来作为模型微调的训练集进行Fine-tunning,这个过程需要注意的一点,每次训练前要备份好旧的模型, 防止新的模型训练出现过拟合等问题,恢复后可以重新调整训练集再次训练。

06

总结

“形式”匹配可能只是“语义”匹配的一个过渡产物,如果可训练的数据集巨大,模型足够准确是可以替代“形式”匹配的。但这个过渡期还是要有的。同时匹配过程需要具有一定人工控制的能力,修改模型的输出只能通过训练来完成,但并不是每次训练都能解决问题,有些特例还需要人工进行关系的建立。

文 / Joseph

编辑 / TiK

关于未名企鹅

未名企鹅中的“未名”代表北大,“企鹅”代表腾讯。由一群来自腾讯的北大校友们于创立。

公司创始人邹晓亮先生是北大博士,前腾讯高管。公司技术团队中有30多位研发人员来自腾讯,互联网技术基因和产品文化底蕴深厚。

医药产业是与人类生命健康相关的产业,未名企鹅在医药SaaS大数据应用领域深耕五年,是典型的“互联网+”科技公司。

未名企鹅以来自北大的人文精神,用源自腾讯的互联网科技手段,致力于与合作伙伴一起为生命健康领域创造价值。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。