CN110413781B - 一种基于LD和ANN-SoftMax Regressor的中医药短文本多分类方法 - Google Patents
一种基于LD和ANN-SoftMax Regressor的中医药短文本多分类方法 Download PDFInfo
- Publication number
- CN110413781B CN110413781B CN201910653833.0A CN201910653833A CN110413781B CN 110413781 B CN110413781 B CN 110413781B CN 201910653833 A CN201910653833 A CN 201910653833A CN 110413781 B CN110413781 B CN 110413781B
- Authority
- CN
- China
- Prior art keywords
- text
- name
- data set
- jumping
- defining
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 55
- 239000003814 drug Substances 0.000 title claims abstract description 46
- 238000012549 training Methods 0.000 claims abstract description 42
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 claims abstract description 35
- 238000012545 processing Methods 0.000 claims abstract description 31
- 230000011218 segmentation Effects 0.000 claims abstract description 19
- 208000024891 symptom Diseases 0.000 claims abstract description 11
- 230000009467 reduction Effects 0.000 claims abstract description 6
- 239000013598 vector Substances 0.000 claims description 78
- 230000009191 jumping Effects 0.000 claims description 53
- 238000004422 calculation algorithm Methods 0.000 claims description 33
- 238000012360 testing method Methods 0.000 claims description 27
- 230000006870 function Effects 0.000 claims description 24
- 238000013528 artificial neural network Methods 0.000 claims description 10
- 210000002569 neuron Anatomy 0.000 claims description 10
- 230000004913 activation Effects 0.000 claims description 9
- 238000004364 calculation method Methods 0.000 claims description 7
- 239000011159 matrix material Substances 0.000 claims description 7
- 238000002474 experimental method Methods 0.000 claims description 6
- 238000002372 labelling Methods 0.000 claims description 5
- 238000007781 pre-processing Methods 0.000 claims description 5
- 230000008569 process Effects 0.000 claims description 5
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 claims description 3
- 230000003213 activating effect Effects 0.000 claims description 3
- 238000000354 decomposition reaction Methods 0.000 claims description 3
- 238000005457 optimization Methods 0.000 claims description 3
- 230000001902 propagating effect Effects 0.000 claims description 3
- 125000004122 cyclic group Chemical group 0.000 claims description 2
- 238000002360 preparation method Methods 0.000 claims description 2
- 241000965478 Darksidea epsilon Species 0.000 claims 1
- 201000010099 disease Diseases 0.000 abstract description 15
- 239000010410 layer Substances 0.000 description 20
- 238000000513 principal component analysis Methods 0.000 description 12
- 229940079593 drug Drugs 0.000 description 9
- 238000007635 classification algorithm Methods 0.000 description 3
- 238000007418 data mining Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000000605 extraction Methods 0.000 description 3
- 238000005065 mining Methods 0.000 description 3
- 239000000203 mixture Substances 0.000 description 3
- 238000009472 formulation Methods 0.000 description 2
- 230000010365 information processing Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000012706 support-vector machine Methods 0.000 description 2
- 235000011511 Diospyros Nutrition 0.000 description 1
- 244000236655 Diospyros kaki Species 0.000 description 1
- 241000254158 Lampyridae Species 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 239000007788 liquid Substances 0.000 description 1
- 238000007477 logistic regression Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012806 monitoring device Methods 0.000 description 1
- 238000000465 moulding Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 239000002356 single layer Substances 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
- G06F16/353—Clustering; Classification into predefined classes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02A—TECHNOLOGIES FOR ADAPTATION TO CLIMATE CHANGE
- Y02A90/00—Technologies having an indirect contribution to adaptation to climate change
- Y02A90/10—Information and communication technologies [ICT] supporting adaptation to climate change, e.g. for weather forecasting or climate simulation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于LD和ANN‑SoftMax Regressor的中医药短文本多分类方法,主要是基于已经构建好的人工实体标注的文本标签数据,对中医药短文本数据进行数据处理,首先采用jieba分词工具进行分词然后采用词袋(Bag‑of‑words)模型进行处理,再通过LD的方式建立病症同义词词典,对构建词袋后的文本onehot向量化表示利用SVD和PCA降维处理后进行ANN‑SoftMax Regressor多分类训练,最终得到中医药短文本多分类的方法。本发明方法适用于中医药和短文本分类领域可有效的使疾病的模糊症状分类更加准确。
Description
技术领域
本发明属于中医药和短文本分类技术领域,特别涉及一种基于LD和ANN-SoftMaxRegressor的中医药短文本多分类方法。
背景技术
在面对短文本分类问题的时候,研究者们会选择将相似度模型、神经网络等融入到短文本分类中来研究文本之间的关系,以提高文本分类的准确度。
章慧,朱全银等人已有的研究基础包括:白秋产,金春霞,章慧,周海岩.词共现文本主题聚类算法[J].计算机工程与科学,2013,35(07):164-168;刘鹏飞,张宝宇,袁芷楠,章慧.基于区块链的药品溯源系统的研发[J].信息通信,2019(04):162-164;章慧.基于k-medoids与c5.0联合约束的药品信息挖掘算法[J].长沙大学学报,2012,26(05):75-77+85;章慧.改进模糊支持向量机方法及其应用[J].安徽农业科学,2011,39(23):14406-14409;Yang Pan,Shuo Zhang,Quanyin Zhu.A Method of Confidence Evaluation Based onSupport Vector Machines[J].Journal of Physics:Conference Series,2018,1069(1);瞿学新,朱全银,严云洋,李翔.基于互信息和关联规则的文本特征提取方法[J].淮阴工学院学报,2018,27(03):20-24;Quanyin Zhu,Sunqun Cao.A Novel Classifier-independent Feature Selection Algorithm for Imbalanced Datasets.2009,p:77-82;Quanyin Zhu,Yunyang Yan,Jin Ding,Jin Qian.The Case Study for Price Extractingof Mobile Phone Sell Online.2011,p:282-285;章慧,朱全银等人申请、公开与授权的相关专利:章慧,张苏,钟亮平等,气压式吸液探测器.中国专利:ZL 201820145269.2,2018.09.11;章慧,钟亮平,张钰等,无人值守的库房温湿度远程监测装置及其控制系统.中国专利:ZL 201410039626.3,2014.04.30;姚敏海,蒋晓玲,章慧等,一种塑件浇注系统的浇口套.中国专利:ZL 201520263676.X,2015.08.12;朱全银,胡蓉静,何苏群,周培等.一种基于线性插补与自适应滑动窗口的商品价格预测方法.中国专利:ZL 2011 1 0423015.5,2015.07.01;朱全银,曹苏群,严云洋,胡蓉静等,一种基于二分数据修补与扰乱因子的商品价格预测方法.中国专利:ZL 2011 1 0422274.6,2013.01.02;朱全银,于柿民,胡荣林等,一种基于知识图谱的专家组合推荐方法.中国专利公开号:CN109062961A,2018.12.21;朱全银,严云洋,胡荣林,李翔等,一种基于互信息和关联规则的文本特征提取方法.中国专利公开号:CN107766323A,2018.03.06。
Levenshtein Distance:
Levenshtein距离,是编辑距离的一种。指两个字符串之间,由一个转成另一个所需的最少编辑操作次数。允许的编辑操作包括将一个字符替换成另一个字符,插入一个字符,删除一个字符。本发明主要通过对病症关系进行处理通过jieba文本分词算法对短文本信息进行分词处理,使用Bag-of-words模型方法结合Levenshtein Distance计算两种模糊病症之间的编辑距离再利用SVD和PCA降维处理得到模糊病症药方矩阵,相对于传统的自动组方和药物推荐,Levenshtein Distance是一种良好的病症相似度计算方法。
i,j为字符串m,n的长度
OneHotEncoder独热编码
独热码,在英文文献中称做one-hot code,直观来说就是有多少个状态就有多少比特,而且只有一个比特为1,其他全为0的一种码制。使用one-hot编码,将离散特征的取值扩展到了欧式空间,离散特征的某个取值就对应欧式空间的某个点。将离散型特征使用one-hot编码,会让特征之间的距离计算更加合理。离散特征进行one-hot编码后,每一维度的特征都可以看作是连续的特征。
PCA(主成分分析):
主成分分析是一种统计方法,通过正交变换将一组可能存在相关性的变量转换成一组线性不相关的变量,转换后的这组变量叫主成分。PCA的思想是将n维特征映射到m维上(m<n),这m维是全新的正交特征,称为主成分,这m维的特征是重新构造出来的,不是简单的从n维特征中减去n-m维特征。PCA的核心思想就是将数据沿最大方向投影,使数据更易于区分。PCA可以从数据中识别主要特征,通过将数据坐标轴旋转到数据角度上那些最重要的方向(使方差最大),然后通过特征值分析,确定出需要保留的主成分个数,舍弃其他主成分,从而实现数据的降维。
ANN:
ANN是指由大量的处理单元(神经元)互相连接而形成的复杂网络结构,是对人脑组织结构和运行机制的某种抽象、简化和模拟。人工神经网络有多层和单层之分,每一层包含若干神经元,各神经元之间用带可变权重的有向弧连接,网络通过对已知信息的反复学习训练,通过逐步调整改变神经元连接权重的方法,达到处理信息、模拟输入输出之间关系的目的。因此与传统的数据处理方法相比,神经网络技术在处理模糊数据、随机性数据、非线性数据方面具有明显优势,对规模大、结构复杂、信息不明确的系统尤为适用。
在(0,1)范围内随机初始化网络中所有连接权和阈值;
计算输出层神经元的梯度项gj;
计算隐层神经元的梯度项eh;
更新连接权whj,vih与阈值θj,γh;
输出:连接权和阈值确定的多层前馈神经网络。
SoftMax Regressor:
SoftMax Regressor算法,又称为多项式或多类别的Logistic回归算法。对于每个类别,都存在一个独立的、实值加权向量,这个权重向量通常作为权重矩阵中的行。对于每个类别,都存在一个独立的、实值偏置量。使用softmax函数作为激活函数,使用交叉熵(cross-entropy)作为损失函数。多分类过程中,它将多个神经元的输出,映射到(0,1)区间内,将计算结果的向量得分值转化成概率,从而来进行多分类。
SoftMax Regressor特点:
对于每个类别,都存在一个独立的、实值加权向量W=(W(1),…,W(m))这个权重向量通常作为权重矩阵中的行;
对于每个类别,都存在一个独立的、实值偏置量b;
它使用softmax函数作为激活函数;
它使用交叉熵(cross-entropy)作为损失函数;
步骤:
(1).初始化权重向量和偏置值(一般选0或最小值);
(2).对于每个类别k,计算其输入的特征与权重值的线性组合输入向量为X(i),则得分值的计算:矢量化为Scores=X·WT+b,X是所有训练样本(nsamples,nfeatures)的维度矩阵,W表示每个类别的权重矩阵维度,其形式为(nclasses,nfeatures);
在中医药组方问题中,已有论文基于特征选择和特征抽取通过聚类、分类和回归来完成用药推荐和自动组方,比如袁锋.中医医案文本挖掘的若干关键技术研究[D].山东师范大学,2016.在博士论文中提出基于本体的命名实体识别算法和基于萤火虫算法的中医医案文本聚类方法。但是由于疾病症状的多样性和语义重复性往往会造成组方冗余和重复减慢了组方速度。也有相关专利提出借助关联规则挖掘进行药物推荐,比如姜晓红;严海明等人针对现有方法无法有效地得到中医药处方中隐含的关系信息的缺点,提供了一种基于LDA主题模型的中医药数据挖掘方法.中国专利:ZL 2013 1 0276021.1,2017.03.29。吴骏;谢隽等人在中医药研究领域应用数据挖掘技术的意愿,在保证准确度的基础上,提出一种智能化中医药信息处理系统,是包括频繁项集,聚类,层次聚类,关联规则等常用数据挖掘技术的平台.中国专利公开号:CN104794340A,2015.07.22。但并未充分挖掘疾病和药物之间的语义关系并将其融入至推荐中。本发明利用LD算法结合ANN-SoftMax Regressor算法,对中医药短文本进行训练,优化分类准确度,提高模糊病症的分类准确度进而提高自动组方和用药推荐的精确度。
发明内容
发明目的:针对上述问题,本发明提供基于一种基于LD和ANN-SoftMax Regressor的中医药短文本多分类方法,通过构建人工实体标注文本标签,实现疾病的模糊症状准确分类。
技术方案:本发明提出一种基于LD和ANN-SoftMax Regressor的中医药短文本多分类方法,包括如下步骤:
(1)对文本数据进行预处理,得到人工实体标注文本标签数据集T1,文本数据集T2,使用jieba分词处理文本数据集T2后得到文本数据集T3;
(2)通过词袋模型处理文本数据集T3得到词袋文本数据集T4;
(3)通过LD方式处理文本数据集T4得到中医病症同义词词典T5;
(4)与中医病症同义词词典T5对比后可把文本数据集T4转化为onehot向量得到文本向量集S1,经SVD处理后得到文本向量集S2,再利用PCA降维后得到文本向量集S3;
(5)把待处理文本向量集S4随机按照8:2分为训练集和测试集分别得到训练集S5与测试集S6,通过ANN-SoftMaxRegressor方法处理文本向量集S5得到训练模型,把文本向量集S6带入模型测试计算模型在测试集中的分类精度进而得到文本多分类数据集T6。
进一步的,所述步骤(1)中对文本数据进行预处理,得到人工实体标注文本标签数据集T1,文本数据集T2,使用jieba分词处理文本数据集T2后得到文本数据集T3的具体步骤如下:
(1.1)定义Text为文本信息集,Name为单个文本名称集,定义id,name,label分别为单个文本的序号、名称和标签,并且满足关系Text={id,name,label};
(1.2)定义T1、T2分别为文本标签数据集和文本数据集,T1={Text1,Text2,…,TextN},T2={name1,name2,…,nameN},Textn为T1中第n个文本标签信息数据,namen为文本集T2中第n个文本名称数据,变量n∈[1,N];
(1.3)定义循环变量i1遍历文本数据集T2,i1赋初始值为1;
(1.4)如果i1≤N则跳转到步骤(1.5),否则跳转到步骤(1.7);
(1.5)调用jieba分词工具对T2处理,得到文本数据集T3={nameT3 1,nameT3 2,…,nameT3 N},nameT3 a为T3中第a个文本数据,其中,变量a∈[1,N];
(1.6)i1=i1+1;
(1.7)不需要进行jieba分词保留原始数据集T2。
进一步的,所述步骤(2)中通过词袋模型处理文本数据集T3得到词袋文本数据集T4的具体步骤如下:
(2.1)定义A1为待处理文本数据集,A1={id1,name1},其中,id1,name1分别为编号,名称;
(2.2)通过对T3使用Bag-of-words模型方法得到的单词文本数据集T4={nameT4 1,nameT4 2,…,nameT4 B},nameT4 c为T4中第c个文本数据,其中,变量c∈[1,B]。
进一步的,所述步骤(3)中通过LD方式处理文本数据集T4得到中医病症同义词词典T5的具体步骤如下:
(3.1)定义B1为待处理文本数据集,B1={id2,name2},其中,id2,name2分别为编号,名称;
(3.2)定义循环变量i2用来遍历T4,i2赋初值为1;
(3.3)如果i2≤B则跳转到步骤(3.4),否则跳转到步骤(3.6);
(3.4)找到病症字段用编辑距离LD计算病症之间的相似度;
(3.5)i2=i2+1;
(3.6)保留B1不做处理与未进行LD方式的文本集作比对;
(3.7)定义循环变量j1遍历未进行LD的文本集B1,j1赋初值为1;
(3.8)如果j1≤B则跳转到步骤(3.9),否则跳转到步骤(3.15);
(3.9)定义Levenshtein比值R=0.8;
(3.10)如果R≥0.8则跳转到步骤(3.11),否则跳到步骤(3.12);
(3.11)病症之间有相关性,将其放在一个字典{T5i2}里;
(3.12)病症之间无相关性单独字典{T5j1}存放;
(3.13)将两个词典合并为一个词典T5={T5i2}U{T5j1};
(3.14)j1=j1+1;
(3.15)保留未建立词典的数据集不做处理后期与建立词典的数据集进行算法实验对比。
进一步的,所述步骤(4)中得到文本向量集S3的具体步骤如下:
(4.1)定义C1为待处理文本数据集,C1={id3,name3},其中id3,name3分别为编号,名称;
(4.2)将待处理文本数据集C1与病症同义词词典对比;
(4.3)判断是否有相同病症,是则跳转到步骤(4.4),否则跳转到步骤(4.5);
(4.4)赋值为1;
(4.5)赋值为0;
(4.6)单个病症onehot向量表示;
(4.7)定义循环变量j2遍历待处理文本数据集C1,j2赋初始值为1;
(4.8)如果j2≤B则跳转到步骤(4.9),否则跳转到步骤(4.13);
(4.9)得到onehot文本向量集S1,S1={s1,s2,…,sB},sd为文本向量集S1中第d个文本向量,其中,变量d∈[1,B];
(4.10)j2=j2+1;
(4.11)使用奇异矩阵分解SVD处理文本向量集S1,得到文本向量集S2,S2={sS2 1,sS2 2,…,sS2 C},sS2 e为文本向量集S2中第e个文本向量,其中,变量e∈[1,C];
(4.12)通过SVD得到的文本向量集S2稀疏且高维,使用PCA方法进行降维,得到文本向量集S3,S3={sS3 1,sS3 2,…,sS3 D},sS3 f为文本向量集S3中第f个文本向量,其中,变量f∈[1,D];
(4.13)将未建立词典的数据集onehot向量化表示为之后算法对比实验作准备。
进一步的,所述步骤(5)中得到文本多分类数据集T6的具体步骤如下:
(5.1)定义待处理文本向量集S4,S4={sS4 1,sS4 2,…,sS4 L},sS4 k为文本向量集S4中第k个文本向量,其中,变量k∈[1,L];
(5.2)搭建神经网络结构:多输入,单隐层,多输出,SoftMax Regressor多分类;
(5.3)创建输入数据X;
(5.4)定义单隐层激活函数为sigmoid函数,并激活隐藏层;
(5.5)定义权重W和偏置b;
(5.6)输出层使用softmax函数作为激活函数,神经网络前向传播y=softmax(WX+b);
(5.7)定义一个随机梯度下降算法SGD;
(5.8)设置学习速度为0.5,使用交叉熵损失函数(cross_entropy)计算损失,使用Adam作为优化算法;
(5.9)把待处理文本向量集S4随机按照8:2分为训练集和测试集分别得到训练集S5与测试集S6,其中S5={sS5 1,sS5 2,…,sS5 P},S6={sS6 1,sS6 2,…,sS6 Q};
(5.10)定义循环变量i3,i3初始赋值为0;
(5.11)初始化全部变量并设定迭代次数为48600;
(5.12)前向传播求出隐藏层及输出层的输出;
(5.13)求出输出层与预期输出的偏差F;
(5.14)通过反向传播算法传播误差,求出隐藏层的误差;
(5.15)更新神经元权重W和偏置b;
(5.16)如果i3≤48600,则跳转到步骤(5.17),否则跳转到步骤(5.19);
(5.17)i3=i3+100;
(5.18)反向传播算法训练时跳转到(5.12);
(5.19)对训练集S5定义循环变量i4,i4初始赋值为1;
(5.20)如果i4≤P,则跳转到步骤(5.21),否则跳转到步骤(5.23);
(5.21)i4=i4+1;
(5.22)跳转到步骤(5.11)循环迭代;
(5.23)达到指定训练次数或参数收敛,对训练集S5进行
ANN-SoftMaxRegressor多分类训练得到训练模型;
(5.24)计算模型在测试集中的分类精度;
(5.25)把测试集S6带入到训练得到的模型中进行测试得到多分类数据集T6,其中,T6={nameT6 1,nameT6 2,…,nameT6 V}。
传统的文本多分类算法通常需要领域专家在原始数据上进行特征的设计和提取,然后才可以用于算法模型的训练和优化,传统的分类方法存在以下问题:消耗大量的时间用于特征选择;模型训练时间较长;无法对疾病和药物之间的语义关系充分挖掘进行准确分类,从而导致最终的分类效果并不可观。相对于传统分类方法,基于SoftMax分类器的文本多分类算法具有一定的先进性,然而该方法并不能充分利用文本语义之间的关系,在文本多分类准确度方面无法满足实际应用需求。
本发明采用上述技术方案,具有以下有益效果:
本发明方法基于人工实体标注的文本标签集,利用LD和ANN-SoftMax Regressor进行训练使中医药短文本有效分类,具体描述如下:本发明利用jieba分词算法对爬取的中医药短文本信息进行分词,该算法基于已有的内置专业字典,能够精准地切开中文文本;利用LD算法结合ANN-SoftMax Regressor算法,对中医药短文本进行有监督训练,实现较高准确度的短文本多分类,提高模糊病症的分类准确度进而提高自动组方和用药推荐的精确度。
附图说明
图1为本发明的总体流程图;
图2为具体实施例中基于jieba文本分词方法整体流程图;
图3为具体实施例中LD创建字典方法流程图;
图4为具体实施例中onehot文本向量化和PCA降维流程图;
图5为具体实施例中ANN-SoftMax Regressor短文本多分类方法流程图。
具体实施方式
下面结合具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。
如图1~图5所示,本发明所述的一种基于LD和ANN-SoftMax Regressor的中医药短文本多分类方法,包括如下步骤:
步骤1:对文本数据进行预处理,得到人工实体标注文本标签数据集T1,文本数据集T2,jieba分词处理文本数据集T2后得到文本数据集T3;具体方法为:
步骤1.1:定义Text为文本信息集,Name为单个文本名称集,定义id,name,label分别为单个文本的序号、名称和标签,并且满足关系Text={id,name,label};
步骤1.2:定义T1、T2分别为文本标签数据集和文本数据集,T1={Text1,Text2,…,TextN},T2={name1,name2,…,nameN},Textn为T1中第n个文本标签信息数据,namen为文本集T2中第n个文本名称数据,变量n∈[1,N];
步骤1.3:定义循环变量i1遍历文本数据集T2,i1赋初始值为1;
步骤1.4:如果i1≤N则跳转到步骤1.5,否则跳转到步骤1.7;
步骤1.5:调用jieba分词工具对T2处理,得到文本数据集T3={nameT3 1,nameT3 2,…,nameT3 N},nameT3 a为T3中第a个文本数据,其中,变量a∈[1,N];
步骤1.6:i1=i1+1;
步骤1.7:不需要进行jieba分词保留原始数据集T2;
步骤2:通过词袋模型处理文本数据集T3得到词袋文本数据集T4;具体方法为:
步骤2.1:定义A1为待处理文本数据集,A1={id1,name1},其中,id1,name1分别为编号,名称;
步骤2.2:通过对T3使用Bag-of-words模型方法得到的单词文本数据集T4={nameT4 1,nameT4 2,…,nameT4 B},nameT4 c为T4中第c个文本数据,其中,变量c∈[1,B];
步骤3:通过编辑距离方式处理文本数据集T4得到中医病症同义词字典T5;具体方法为:
步骤3.1:定义B1为待处理文本数据集,B1={id2,name2},其中,id2,name2分别为编号,名称;
步骤3.2:定义循环变量i2用来遍历T4,i2赋初值为1;
步骤3.3:如果i2≤B则跳转到步骤3.4,否则跳转到步骤3.6;
步骤3.4:找到病症字段用编辑距离(LD)计算病症之间的相似度;
步骤3.5:i2=i2+1;
步骤3.6:保留B1不做处理与未进行LD方式的文本集作比对;
步骤3.7:定义循环变量j1遍历未进行LD的文本集B1,j1赋初值为1;
步骤3.8:如果j1≤B则跳转到步骤3.9,否则跳转到步骤3.15;
步骤3.9:定义Levenshtein比值R=0.8;
步骤3.10:如果R≥0.8则跳转到步骤3.11,否则跳到步骤3.12;
步骤3.11:病症之间有相关性,将其放在一个字典{T5i2}里;
步骤3.12:病症之间无相关性单独字典{T5j1}存放;
步骤3.13:将两个词典合并为一个词典T5={T5i2}U{T5j1};
步骤3.14:j1=j1+1;
步骤3.15:保留未建立词典的数据集不做处理后期与建立词典的数据集进行算法实验对比;
步骤4:把文本数据集T4转化为onehot向量得到文本向量集S1,再利用PCA降维后得到文本向量集S2;具体方法为:
步骤4.1:定义C1为待处理文本数据集,C1={id3,name3},其中id3,name3分别为编号,名称;
步骤4.2:将待处理文本数据集C1与病症同义词词典对比;
步骤4.3:判断是否有相同病症,有则跳转到步骤4.4,否则跳转到步骤4.5;
步骤4.4:赋值为1;
步骤4.5:赋值为0;
步骤4.6:单个病症onehot向量表示;
步骤4.7:定义循环变量j2遍历待处理文本数据集C1,j2赋初始值为1;
步骤4.8:如果j2≤B则跳转到步骤4.9,否则跳转到步骤4.13;
步骤4.9:得到onehot文本向量集S1,S1={s1,s2,…,sB},sd为文本向量集S1中第d个文本向量,其中,变量d∈[1,B];
步骤4.10:j2=j2+1;
步骤4.11:使用奇异矩阵分解SVD处理文本向量集S1,得到文本向量集S2,S2={sS2 1,sS2 2,…,sS2 C},sS2 e为文本向量集S2中第e个文本向量,其中,变量e∈[1,C];
步骤4.12:通过SVD得到的文本向量集S2稀疏且高维,使用PCA方法进行降维,得到文本向量集S3,S3={sS3 1,sS3 2,…,sS3 D},sS3 f为文本向量集S3中第f个文本向量,其中,变量f∈[1,D];
步骤4.13:将未建立词典的数据集onehot向量化表示为以后算法对比实验作准备;
步骤5:把待处理文本向量集S4随机按照8:2分为训练集和测试集分别得到训练集S5与测试集S6,通过ANN-SoftMaxRegressor方法处理文本向量集S5得到训练模型,把文本向量集S6带入模型测试计算模型在测试集中的分类精度进而得到文本多分类数据集T6。具体方法为:
步骤5.1:定义待处理文本向量集S4,S4={sS4 1,sS4 2,…,sS4 L},sS4 k为文本向量集S4中第k个文本向量,其中,变量k∈[1,L];
步骤5.2:搭建神经网络结构:多输入,单隐层,多输出,SoftMax Regressor多分类;
步骤5.3:创建输入数据X;
步骤5.4:定义单隐层激活函数为sigmoid函数,并激活隐藏层;
步骤5.5:定义权重W和偏置b;
步骤5.6:输出层使用softmax函数作为激活函数,神经网络前向传播y=softmax(WX+b);
步骤5.7:定义一个随机梯度下降算法SGD;
步骤5.8:设置学习速度为0.5,使用交叉熵损失函数(cross_entropy)计算损失,使用Adam作为优化算法;
步骤5.9:把待处理文本向量集S4随机按照8:2分为训练集和测试集分别得到训练集S5与测试集S6,其中S5={sS5 1,sS5 2,…,sS5 P},S6={sS6 1,sS6 2,…,sS6 Q};
步骤5.10:定义循环变量i3,i3初始赋值为0;
步骤5.11:初始化全部变量并设定迭代次数为48600;
步骤5.12:前向传播求出隐藏层及输出层的输出;
步骤5.13:求出输出层与预期输出的偏差F;
步骤5.14:通过反向传播算法传播误差,求出隐藏层的误差;
步骤5.15:更新神经元权重W和偏置b;
步骤5.16:如果i3≤48600,则跳转到步骤5.17,否则跳转到步骤5.19;
步骤5.17:i3=i3+100;
步骤5.18:反向传播算法训练时跳转到5.12;
步骤5.19:对训练集S5定义循环变量i4,i4初始赋值为1;
步骤5.20:如果i4≤P,则跳转到步骤5.21,否则跳转到步骤5.23;
步骤5.21:i4=i4+1;
步骤5.22:跳转到步骤5.11循环迭代;
步骤5.23:达到指定训练次数或参数收敛,对训练集S5进行ANN-SoftMaxRegressor多分类训练得到训练模型;
步骤5.24:计算模型在测试集中的分类精度;
步骤5.25:把测试集S6带入到训练得到的模型中进行测试得到多分类数据集T6,其中,T6={nameT6 1,nameT6 2,…,nameT6 V};
通过对96300条中医药短文本数据处理,利用jieba文本分词方法得到分词数据集,结合LD和ANN-SoftMaxRegressor对于待处理文本数据集进行改善。改进的短文本多分类算法以消耗时间为代价提高了分类的准确度,在中医药短文本多分类中模糊病症的分类准确度达到了90.95%。
本发明可与中医药领域自动组方与用药推荐结合,从而完成模糊病症的精确组方和药物推荐。
因为表达和描述不同存在很多疾病同义不同词的现象,本发明创造性的提出了将字符串编辑距离(Levenshtein Distance)和ANN-SoftMax Regressor结合的方法并将该方法应用于自动组方和药物推荐,解决了现有疾病症状的多样性和语义重复的问题,同时还获得了更高的模糊病症分类的准确率,具有很高的实用价值。
本发明提出的基于LD和ANN-SoftMax Regressor的中医药短文本分类方法不但可以用于中医药模糊病症分类领域,也可以用于其他领域比如模糊语言匹配短文本分类等。
以上所述仅为本发明的实施例子而已,并不用于限制本发明。凡在本发明的原则之内,所作的等同替换,均应包含在本发明的保护范围之内。本发明未作详细阐述的内容属于本专业领域技术人员公知的已有技术。
Claims (4)
1.一种基于LD和ANN-SoftMax Regressor的中医药短文本多分类方法,其特征在于,包括如下步骤:
(1)对文本数据进行预处理,得到人工实体标注文本标签数据集T1,文本数据集T2,使用jieba分词处理文本数据集T2后得到文本数据集T3;
(2)通过词袋模型处理文本数据集T3得到词袋文本数据集T4;
(3)通过LD方式处理文本数据集T4得到中医病症同义词词典T5,包括:
(3.1)定义B1为待处理文本数据集,B1={id2,name2},其中,id2、name2分别为编号、名称;
(3.2)定义循环变量i2用来遍历T4,i2赋初始值为1;
(3.3)如果i2≤B则跳转到步骤(3.4),否则跳转到步骤(3.6),B为T4中文本总数;
(3.4)找到病症字段用编辑距离LD计算病症之间的相似度;
(3.5)i2=i2+1;
(3.6)保留B1不做处理,与未进行LD方式的文本集作比对;
(3.7)定义循环变量j1遍历未进行LD的文本集B1,j1赋初值为1;
(3.8)如果j1≤B则跳转到步骤(3.9),否则跳转到步骤(3.15);
(3.9)定义Levenshtein比值R=0.8;
(3.10)如果R≥0.8则跳转到步骤(3.11),否则跳到步骤(3.12);
(3.11)病症之间有相关性,将其放在一个字典{T5i2}里;
(3.12)病症之间无相关性单独字典{T5j1}存放;
(3.13)将两个词典合并为一个词典T5={T5i2}∪{T5j1};
(3.14)j1=j1+1;
(3.15)保留未建立词典的数据集不做处理,后期与建立词典的数据集进行算法实验对比;
(4)与中医病症同义词词典T5对比后把文本数据集T4转化为onehot向量得到文本向量集S1,经SVD处理后得到文本向量集S2,再利用PCA降维后得到文本向量集S3;
(5)把待处理文本向量集S4随机按照8:2分为训练集和测试集分别得到训练集S5与测试集S6,通过ANN-SoftMaxRegressor方法处理文本向量集S5得到训练模型,把文本向量集S6代入模型测试计算模型在测试集中的分类精度进而得到文本多分类数据集T6,包括:
(5.1)定义待处理文本向量集S4,S4={sS4 1,sS4 2,…,sS4 L},sS4 k为文本向量集S4中第k个文本向量,其中,变量k∈[1,L];
(5.2)搭建神经网络结构:多输入,单隐层,多输出,SoftMax Regressor多分类;
(5.3)创建输入数据X;
(5.4)定义单隐层激活函数为sigmoid函数,并激活隐藏层;
(5.5)定义权重W和偏置b;
(5.6)输出层使用softmax函数作为激活函数,神经网络前向传播y=softmax(WX+b);
(5.7)定义一个随机梯度下降算法SGD;
(5.8)设置学习速度为0.5,使用交叉熵损失函数cross_entropy计算损失,使用Adam作为优化算法;
(5.9)把待处理文本向量集S4随机按照8:2分为训练集和测试集分别得到训练集S5与测试集S6,其中S5={sS5 1,sS5 2,…,sS5 P},S6={sS6 1,sS6 2,…,sS6 Q};
(5.10)定义循环变量i3,i3赋初始值为0;
(5.11)初始化全部变量并设定迭代次数为48600;
(5.12)前向传播求出隐藏层及输出层的输出;
(5.13)求出输出层与预期输出的偏差F;
(5.14)通过反向传播算法传播误差,求出隐藏层的误差;
(5.15)更新神经元权重W和偏置b;
(5.16)如果i3≤48600,是则跳转到步骤(5.17),否则跳转到步骤(5.19);
(5.17)i3=i3+100;
(5.18)反向传播算法训练时跳转到(5.12);
(5.19)对训练集S5定义循环变量i4,i4赋初始值为1;
(5.20)如果i4≤P,则跳转到步骤(5.21),否则跳转到步骤(5.23);
(5.21)i4=i4+1;
(5.22)跳转到步骤(5.11)循环迭代;
(5.23)达到指定训练次数或参数收敛,对训练集S5进行ANN-SoftMaxRegressor多分类训练得到训练模型;
(5.24)计算模型在测试集S6中的分类精度;
(5.25)把测试集S6带入到训练得到的模型中进行测试得到多分类数据集T6,其中,T6={nameT6 1,nameT6 2,…,nameT6 V}。
2.根据权利要求1所述的一种基于LD和ANN-SoftMax Regressor的中医药短文本多分类方法,其特征在于,所述步骤(1)中对文本数据进行预处理,得到人工实体标注文本标签数据集T1,文本数据集T2,使用jieba分词处理文本数据集T2后得到文本数据集T3的具体步骤如下:
(1.1)定义Text为文本信息集,Name为单个文本名称集,定义id、name、label分别为单个文本的序号、名称和标签,并且满足关系Text={id,name,label};
(1.2)定义T1、T2分别为文本标签数据集和文本数据集,T1={Text1,Text2,…,TextN},T2={name1,name2,…,nameN},Textn为T1中第n个文本标签信息数据,namen为文本集T2中第n个文本名称数据,变量n∈[1,N];
(1.3)定义循环变量i1遍历文本数据集T2,i1赋初始值为1;
(1.4)如果i1≤N则跳转到步骤(1.5),否则跳转到步骤(1.7);
(1.5)调用jieba分词工具对T2处理,得到文本数据集T3={nameT3 1,nameT3 2,…,nameT3 N},nameT3 a为T3中第a个文本数据,其中,变量a∈[1,N];
(1.6)i1=i1+1;
(1.7)不需要进行jieba分词保留原始数据集T2。
3.根据权利要求1所述的一种基于LD和ANN-SoftMax Regressor的中医药短文本多分类方法,其特征在于,所述步骤(2)中通过词袋模型处理文本数据集T3得到词袋文本数据集T4的具体步骤如下:
(2.1)定义A1为待处理文本数据集,A1={id1,name1},其中,id1、name1分别为编号、名称;
(2.2)通过对T3使用Bag-of-words模型方法得到的单词文本数据集T4={nameT4 1,nameT4 2,…,nameT4 B},nameT4 c为T4中第c个文本数据,其中,变量c∈[1,B]。
4.根据权利要求1所述的一种基于LD和ANN-SoftMax Regressor的中医药短文本多分类方法,其特征在于,所述步骤(4)中得到文本向量集S3的具体步骤如下:
(4.1)定义C1为待处理文本数据集,C1={id3,name3},其中id3、name3分别为编号、名称;
(4.2)将待处理文本数据集C1与病症同义词词典对比;
(4.3)判断是否有相同病症,是则跳转到步骤(4.4),否则跳转到步骤(4.5);
(4.4)赋值为1;
(4.5)赋值为0;
(4.6)单个病症onehot向量表示;
(4.7)定义循环变量j2遍历待处理文本数据集C1,j2赋初始值为1;
(4.8)如果j2≤B则跳转到步骤(4.9),否则跳转到步骤(4.13);
(4.9)得到onehot文本向量集S1,S1={s1,s2,…,sB},sd为文本向量集中第d个文本向量,其中,变量d∈[1,B];
(4.10)j2=j2+1;
(4.11)使用奇异矩阵分解SVD处理文本向量集S1,得到文本向量集S2,S2={sS2 1,sS2 2,…,sS2 C},sS2 e为文本向量集S2中第e个文本向量,其中,变量e∈[1,C];
(4.12)通过SVD得到的文本向量集S2稀疏且高维,使用PCA方法进行降维,得到文本向量集S3,S3={sS3 1,sS3 2,…,sS3 D},sS3 f为文本向量集S3中第f个文本向量,其中,变量f∈[1,D];
(4.13)将未建立词典的数据集onehot向量化表示为之后算法对比实验作准备。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910653833.0A CN110413781B (zh) | 2019-07-19 | 2019-07-19 | 一种基于LD和ANN-SoftMax Regressor的中医药短文本多分类方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910653833.0A CN110413781B (zh) | 2019-07-19 | 2019-07-19 | 一种基于LD和ANN-SoftMax Regressor的中医药短文本多分类方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110413781A CN110413781A (zh) | 2019-11-05 |
CN110413781B true CN110413781B (zh) | 2023-06-23 |
Family
ID=68362033
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910653833.0A Active CN110413781B (zh) | 2019-07-19 | 2019-07-19 | 一种基于LD和ANN-SoftMax Regressor的中医药短文本多分类方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110413781B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111523594B (zh) * | 2020-04-23 | 2024-08-02 | 湖州师范学院 | 一种基于lda-kmedoids的改进knn故障分类方法 |
CN113449106A (zh) * | 2021-06-28 | 2021-09-28 | 淮阴工学院 | 一种基于att-cn的医疗文本分类方法及装置 |
CN113254653B (zh) * | 2021-07-05 | 2021-12-21 | 明品云(北京)数据科技有限公司 | 一种文本分类方法、系统、设备及介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150286953A1 (en) * | 2012-09-28 | 2015-10-08 | Alkis Papadopoullos | Method and system for analysing sentiments |
CN109998525A (zh) * | 2019-04-03 | 2019-07-12 | 哈尔滨理工大学 | 一种基于判别式深度置信网络的心律失常自动分类方法 |
-
2019
- 2019-07-19 CN CN201910653833.0A patent/CN110413781B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150286953A1 (en) * | 2012-09-28 | 2015-10-08 | Alkis Papadopoullos | Method and system for analysing sentiments |
CN109998525A (zh) * | 2019-04-03 | 2019-07-12 | 哈尔滨理工大学 | 一种基于判别式深度置信网络的心律失常自动分类方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110413781A (zh) | 2019-11-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Settle et al. | Discriminative acoustic word embeddings: Tecurrent neural network-based approaches | |
CN109446338B (zh) | 基于神经网络的药物疾病关系分类方法 | |
Qin et al. | An empirical convolutional neural network approach for semantic relation classification | |
CN109783818B (zh) | 一种企业行业分类方法 | |
US11321671B2 (en) | Job skill taxonomy | |
CN110413781B (zh) | 一种基于LD和ANN-SoftMax Regressor的中医药短文本多分类方法 | |
CN113239700A (zh) | 改进bert的文本语义匹配设备、系统、方法及存储介质 | |
CN109753660A (zh) | 一种基于lstm的中标网页命名实体抽取方法 | |
CN111222318B (zh) | 基于双通道双向lstm-crf网络的触发词识别方法 | |
WO2021052137A1 (zh) | 情绪向量的生成方法及装置 | |
Hota | Diagnosis of breast cancer using intelligent techniques | |
CN111476024A (zh) | 一种文本分词方法、装置及模型训练方法 | |
CN116384371A (zh) | 一种基于bert和依存句法联合实体及关系抽取方法 | |
CN114925205A (zh) | 基于对比学习的gcn-gru文本分类方法 | |
Karankar et al. | Comparative study of various machine learning classifiers on medical data | |
CN118013038A (zh) | 一种基于原型聚类的文本增量关系抽取方法 | |
Xia | An overview of deep learning | |
Majewski et al. | Sentence recognition using artificial neural networks | |
CN114692615B (zh) | 一种针对小语种的小样本意图识别方法 | |
Ech-Chouyyekh et al. | Scientific paper classification using convolutional neural networks | |
Zong et al. | Text Classification | |
Zhang et al. | Machine Learning and Applications | |
Xu et al. | Chinese relation extraction using lattice GRU | |
CN112329440A (zh) | 一种基于两阶段筛选和分类的关系抽取方法和装置 | |
Fang et al. | A fusion method of text categorization based on key sentence extraction and neural network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
EE01 | Entry into force of recordation of patent licensing contract |
Application publication date: 20191105 Assignee: Huai'an Xudong Technology Co.,Ltd. Assignor: HUAIYIN INSTITUTE OF TECHNOLOGY Contract record no.: X2024980014508 Denomination of invention: A multi classification method for short texts of traditional Chinese medicine based on LD and ANN-SoftMax Regressor Granted publication date: 20230623 License type: Common License Record date: 20240909 |
|
EE01 | Entry into force of recordation of patent licensing contract |