System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种非时序文本的向量化表示方法及系统技术方案_技高网

一种非时序文本的向量化表示方法及系统技术方案

技术编号:41130846 阅读:4 留言:0更新日期:2024-04-30 18:00
本发明专利技术提供了一种非时序文本的向量化表示方法,包括如下:S1.搜集病例处方数据集;S2.对处方中每一种药的用药量进行归一化处理;S3.将处方中的每一种药名用one‑hot向量表示;S4.将每一个处方表示成V维的空间向量vt;S5.将vt和药品的one‑hot编码vw组成一个训练样本(vw,vt),所有处方的训练样本组成训练集;S6.将训练集输入到CBOW网络;S7.得到CBOW网络的每层权重R和R’;S8.通过vw乘以R得到药名的词嵌入表示ew,用vt乘以R’得到处方名的词嵌入表示et。本发明专利技术针对药方提出了词向量表示方法,能够提高词向量的准确性,从而提高后续自然语言处理任务的准确率。

【技术实现步骤摘要】

本专利技术涉及文本的向量化,尤其是涉及一种非时序文本的向量化表示方法及系统


技术介绍

1、自word2vec方法提出以来,将文本中的字或词表示成高维实数向量,能有效表达其语义信息,从而在信息检索、自动问答等下游自然语言处理任务中得到广泛应用。早期,word2vec利用搜集到的大规模语料进行无监督的训练,对每一个词得到一个固定的词向量,而忽略了一些多义词在不同语境下有不同含义。近来,基于transformer的大规模预训练模型,如bert模型,考虑了词在不同语句中以及不同位置的关系,其准确性得到进一步提高。然后,这些方法都是通过搜集文本,根据句子中出现的顺序和频率来生成词向量。而忽略了这些词本身之前的语义信息,而且,在一些特定领域,如医疗电子病例,文本中全是短文本,特别是在处方中,药品名称之间都是用药量和标点符号隔开,而且其先后顺序也有一定的随机性,不同医生开出的处方中的药品顺序不一样,由此通过现有方法很难得到准确的词向量模型。因为传统方法是从句子中抽取训练样本,这些词在句子中排成一个序列信息,词和词之间有固定的先后顺序。而在电子病例中,其词之间是一个集合成员之间的关系。

2、word2vec主要处理文本句子,以词语在句子中出现的先后顺序转化为概率模型,而临床处方中,搜集到的处方中的药品是用顿号隔开,不能形成句子,而且由于不同医学习惯,一个药品与前后药品的顺序并不一致。对于这种非时序文本需要新的方法来进行向量化表示。


技术实现思路

1、本专利技术提供一种非时序文本的向量化表示方法及系统,以对医疗电子病例(处方)进行向量化表示。

2、本专利技术实施例的一方面公开了一种非时序文本的向量化表示方法,包括如下步骤:

3、步骤s1.搜集病例处方数据集;

4、步骤s2.对处方中每一种药的用药量进行归一化处理,得到:

5、

6、其中,n为处方的中药数量,wi为第i种药的用药量,w′i为归一化后第i种药的用药量;

7、步骤s3.将处方中的每一种药名用一个one-hot向量表示,设处方中的第i种药表示为vwi;

8、步骤s4.假设数据集中所有处方或药典中的中药类别数量为v,则将每一个处方表示成v维的空间向量,将该处方中含有对应药的归一化权重填入该向量,对于该处方中未出现的药对应的向量元素赋值为0,得到该处方名的v维的实数向量表示vt;

9、步骤s5.将vt和药方中的其中一种药品的one-hot编码vw组成一个训练样本(vw,vt),所有处方的训练样本组成训练集;

10、步骤s6.将所述训练集中的所有训练样本依次输入到cbow网络,每次输入为药名的one-hot编码向量vwi,输出真值为归一化权重值vt,对于单个处方中未出现的药名,其权重赋为0;

11、步骤s7.通过交叉熵损失函数,采用随机梯度下降法进行训练,得到cbow网络的每层权重r和r’;

12、步骤s8.通过one-hot编码vw乘以s7中的r得到药名的词嵌入表示ew,同时,用vt乘以s7中的r’得到处方名的词嵌入表示et。

13、本专利技术实施例的另一方面公开了一种非时序文本的向量化系统,包括:

14、数据集获取模块,用于获取病例处方数据集;

15、归一化模块,用于对处方中每一种药的用药量进行归一化处理,得到:

16、

17、其中,n为处方的中药数量,wi为第i种药的用药量,w′i为归一化后第i种药的用药量;

18、one-hot模块,用于将处方中的每一种药名用一个one-hot向量表示,设处方中的第i种药表示为vwi;

19、处方向量表示模块,用于将每一个处方表示成v维的空间向量,v为数据集中所有处方或药典中的中药类别数量,则将该处方中含有对应药的归一化权重填入该向量,对于该处方中未出现的药对应的向量元素赋值为0,得到该处方名的v维的实数向量表示vt;

20、训练集模块,用于将vt和药方中的其中一种药品的one-hot编码vw组成一个训练样本(vw,vt),所有处方的训练样本组成训练集;

21、cbow网络模块,用于将所述训练集中的所有训练样本依次输入到cbow网络,每次输入为药名的one-hot编码向量vwi,输出真值为归一化权重值vt,对于单个处方中未出现的药名,其权重赋为0;

22、交叉熵损失函数模块,用于通过交叉熵损失函数,采用随机梯度下降法进行训练,得到cbow网络的每层权重r和r’;

23、词嵌入表示模块,用于通过one-hot编码vw乘以s8中的r得到药名的词嵌入表示ew,同时,用vt乘以s8中的r’得到处方名的词嵌入表示et。

24、在一些实施例中,非时序文本的向量化系统还包括:

25、处理器,分别与所述数据集获取模块、归一化模块、one-hot模块、处方向量表示模块、训练集模块、cbow网络模块、交叉熵损失函数模块和词嵌入表示模块连接;

26、存储器,与所述处理器连接,并存储有可在所述处理器上运行的计算机程序;

27、其中,当所述处理器执行所述计算机程序时,所述处理器控制所述数据集获取模块、归一化模块、one-hot模块、处方向量表示模块、训练集模块、cbow网络模块、交叉熵损失函数模块和词嵌入表示模块工作,以实现如上所述的非时序文本的向量化表示方法。

28、综上所述,本专利技术至少具有以下有益效果:

29、本专利技术针对药方等非时序出现词场景提出了词向量表示方法,先对处方中每一种药的用药量进行归一化处理,再将处方中的每一种药名用一个one-hot向量表示,将每一个处方表示成v维的空间向量,并组成训练集,通过cbow网络进行训练,得到cbow网络的每层权重,最后权重乘以对应的向量,分别得到药名的词嵌入表示和处方名的词嵌入表示,能够提高词向量的准确性,从而提高后续自然语言处理任务,如分词、命名实体识别、事件抽取等任务的准确率。

本文档来自技高网...

【技术保护点】

1.一种非时序文本的向量化表示方法,其特征在于,包括如下步骤:

2.一种非时序文本的向量化系统,其特征在于,包括:

3.根据权利要求2所述的非时序文本的向量化系统,其特征在于,还包括:

【技术特征摘要】

1.一种非时序文本的向量化表示方法,其特征在于,包括如下步骤:

2.一种非时序文本的向量化系...

【专利技术属性】
技术研发人员:许林蒋涛张林帅张宇洁刘甲甲
申请(专利权)人:成都中医药大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1