首页 / 专利库 / 地球科学 / 地球科学 / 一种科学新闻标题的多层次多分类方法

一种科学新闻标题的多层次多分类方法

阅读:355发布:2020-05-14

专利汇可以提供一种科学新闻标题的多层次多分类方法专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种科学新闻标题的多层次多分类方法,本发明通过新闻标题,使用多层次多分类方法对科学类新闻进行分类,将科学类新闻分为生命科学、医学科学、 地球科学 、数学物理科学、化学科学、信息科学六类,多层次为多层对待分类的科学类新闻 文本分类 进行判断其类别,首先判断待分类的新闻文本是否为信息类科学类新闻,如果是则结束,否则判断待分类的新闻文本是否为生命科学类或医学科学类新闻,或者为地球科学类、数学物理科学类和化学科学类新闻三者之一,前者进一步再判断为生命科学类新闻,还是医学科学类新闻,后者再进一步判断为地球科学类、数学物理类或化学科学类新闻中的一类;本发明解决了Web网页上对科学类新闻详细分类的问题,提高了Web网页上科学类新闻分类后的使用价值。,下面是一种科学新闻标题的多层次多分类方法专利的具体信息内容。

1.一种科学新闻标题的多层次多分类方法,其特征在于:通过科学类新闻标题,首先对随机抽取的新闻标题文本集进行预处理和加权,形成初步完善的预分类的科学类词汇语料库集,再使用改进的余弦相似度计算方法对待分类的科学类新闻标题和各个完善后的科学类词汇语料库进行计算,最终将待分类的科学类新闻归类到已定义的科学类新闻类别中;
其中,包括待分类的科学类新闻归类流程步骤A、改进的余弦相似度计算步骤B、建立第一阶段科学类词汇语料库集流程步骤C、建立第二阶段科学类词汇语料库集流程步骤D、建立第三阶段科学类词汇语料库集流程步骤E和科学类词汇语料库完善步骤F;其中,具体包括以下步骤:
待分类的科学类新闻归类流程步骤A,从步骤A1到步骤A28:
步骤A1、定义ntitleL为单篇待分类的科学类新闻标题文本,其中,变量L为待分类的科学类新闻标题文本集的标题总数,待分类的科学新闻标题文本Ntitle={ntitle1, ntitle2, …, ntitleL};
步骤A2、定义循环变量sum,用于遍历Ntitle,赋值sum=1;
步骤A3、如果sum<=L,那么就执行步骤A4,否则执行步骤A28;
步骤A4、定义变量p为ntitlesum的分词总数,NWord为分词集,nword为单个分词,stopwordsum为单个停用词;使用分词工具 IK Analyzer对ntitlesum进行分词处理,去除单个字或单个字母的词,再去除停用词集StopWords中的词,其中,StopWords={stopword1, stopword2, …, stopwordsum},得到分词集:NWord={nword1, nword2, …, nwordp};
步骤A5、定义ncortfnp为nwordnp对应的加权值,其中,np∈[1, p];定义NTF=twords/TWords,用来计算待分类标题分词nwordnp的加权值,其中,twords为nwordnp在标题分词中出现的个数,TWords为标题的分词个数,依据步骤A4中的NWord,得到数据集:NCorTF={(nword1, ncortf1), (nword2, ncortf2), …, (nwordp, ncortfp)};
步骤A6、引入步骤C8中的语料库集:Variety;
步骤A7、将Variety应用于步骤B1;
步骤A8、执行步骤B1到步骤B12;
步骤A9、得到SIM={Sim1, Sim2, …, Sim6},将SIM赋值给COM,其中,COM={Com1, Com2, …, Com6},SIM来自于步骤B12;
步骤A10、如果Com6>=Com1&&Com6>=Com2&&Com6>=Com3&&Com6>=Com4&& Com6>=Com5,那么就执行步骤A11,否则执行步骤A12;
步骤A11、ntitlesum属于信息科学新闻,执行步骤A27;
步骤A12、如果(Com1>=Com2&&Com1>=Com3&&Com1>=Com4&&Com1>=Com5)|| (Com2>= Com1&&Com2>=Com3&&Com2>=Com4&&Com2>=Com5),那么就执行步骤A13,否则执行步骤A19;
步骤A13、引入步骤D7中语料库集Variety,将Variety应用于步骤B1;
步骤A14、执行步骤B1到步骤B12;
步骤A15、得到SIM={Sim1, Sim2};
步骤A16、依据步骤A15,如果Sim1>=Sim2,那么就执行步骤A17,否则执行步骤A18;
步骤A17、ntitlesum属于生命科学新闻,执行步骤A27;
步骤A18、ntitlesum属于医学科学新闻,执行步骤A27;
步骤A19、引入步骤E7中语料库集Variety,将Variety应用于步骤B1;
步骤A20、执行步骤B1到步骤B12;
步骤A21、得到SIM={Sim3, Sim4, Sim5};
步骤A22、依据步骤A21中SIM,如果Sim3>=Sim4&&Sim3>=Sim5,那么就执行步骤A23,否则执行步骤A24;
步骤A23、ntitlesum属于地球科学新闻,执行步骤A27;
步骤A24、依据步骤A21中SIM,如果Sim4>=Sim5,那么就执行步骤A25,否则执行步骤A26;
步骤A25、ntitlesum属于数学物理科学新闻,执行步骤A27;
步骤A26、ntitlesum属于化学科学新闻,执行步骤A27;
步骤A27、sum=sum+1,执行步骤A3;
步骤A28、引入步骤A1中Ntitle={ntitle1, ntitle2, …, ntitleL},定义变量one,其中,one∈[1, L];定义CLA={Cla1, Cla2, …, Cla6},其中,Cla1、Cla2、Cla3、Cla4、Cla5和Cla6分别为生命科学集、医学科学集、地球科学集、数学物理科学集、化学科学集和信息科学集;定义变量any,其中,any∈[1,6];得到Ntitle的分类结果ntitleone∈Claany,即,将待分类的标题分类到已知科学类新闻分类中;
其中,改进的余弦相似度计算步骤B,从步骤B1到步骤B12:
步骤B1、引入步骤A5中NCorTF={(nword1, ncortf1), (nword2, ncortf2), …, (nwordp, ncortfp)}, 引入步骤F1中Variety={V1,V2,…VN},其中,变量N为集合Variety中语料库的个数;计算待分类标题文本与N个不同学科方向语料库的相似度,定义SIM={Sim1, Sim2, …, SimN};定义循环变量r,用来遍历Variety,其中,r∈[1,N];定义循环变量t,用来遍历NCorTF,其中,t∈[1, p];定义循环变量s,用来遍历Variety的Vr语料库;赋值r=1,t=
1,s=1,SimTFCorTF=0,SimTF=0,SimCorTF=0;
步骤B2、如果r<=N,那么就执行步骤B3,否则执行步骤B12;
步骤B3、定义K为当前使用的语料库词语个数,如果s<=K,那么就执行步骤B4,否则执行B10;
步骤B4、求Vr语料库中所有词语的平方和SimTF=SimTF+tfr,s*tfr,s;
步骤B5、如果t<=p,那么就执行步骤B6,否则执行步骤B9;
步骤B6、如果nwordt=wordr,s,那么就执行步骤B7,否则执行步骤B8;
步骤B7、计算SimTFCorTF=SimTFCorTF+tfr,s*ncortft,SimCorTF=SimCorTF+ncortft*ncortft, 执行B9;
步骤B8、t=t+1,执行步骤B5;
步骤B9、s=s+1,执行步骤B3;
步骤B10、计算Simr=SimTFCorTF/(SimTF1/2*SimCorTF1/2);
步骤B11、赋值r=r+1,SimTFCorTF=0,SimTF=0,SimCorTF=0,执行步骤B2;
步骤B12、得到集合SIM={Sim1, Sim2, …, SimN};
其中,建立第一阶段科学类词汇语料库集流程步骤C,从步骤C1到步骤C8:
步骤C1、定义科学类新闻分为生命科学新闻、医学科学新闻、地球科学新闻、数学物理科学新闻、化学科学新闻和信息科学新闻,根据这六类分类,定义从Web网页挖取的新闻中AllTitle为新闻的标题集合,其中,ATitle1、ATitle2、ATitle3、ATitle4、ATitle5和ATitle6分别为生命科学类新闻标题集、医学科学类新闻标题集、地球科学类新闻标题集、数学物理科学类新闻标题集、化学科学类新闻标题集和信息科学类新闻标题集;定义atitle1a、atitle2b、atitle3c、atitle4d、atitle5e和atitle6f分别为生命科学类新闻标题、医学科学类新闻标题、地球科学类新闻标题、数学物理科学类新闻标题、化学科学类新闻标题和信息科学类新闻标题,其中,变量a、b、c、d、e和f分别为生命科学类新闻标题、医学科学类新闻标题、地球科学类新闻标题、数学物理科学类新闻标题、化学科学类新闻标题和信息科学类新闻标题的个数;得到AllTitle={ATitle1, ATitle2, ATitle3, ATitle4, ATitle5, ATitle6}, ATitle1={atitle11, atitle12, …, atitle1a}, ATitle2={atitle21, atitle22, …, atitle2b}, ATitle3={atitle31, atitle32, …, atitle3c}, ATitle4={atitle41, atitle42, …, atitle4d}, ATitle5={atitle51, atitle52, …, atitle5e}, ATitle6={atitle61, atitle62, …, atitle6f};
步骤C2、定义title1N、title2N、title3N、title4N、title5N和title6N分别为随机抽取的生命科学类新闻标题、医学科学类新闻标题、地球科学类新闻标题、数学物理科学类新闻标题、化学科学类新闻标题和信息科学类新闻标题,其中,N∈[1, 2500];从步骤C1中的AllTitle随机抽取标题文本,分别从生命科学、医学科学、地球科学、数学物理科学、化学科学和信息科学六类新闻标题集中随机抽取2500个文本作为训练文本集,即共抽取15000个新闻标题集TraTitle={Title1, Title2, Title3, Title4, Title5, Title6}, Title1={title11, title12, …, title1N}, Title2={title21, title22, …, title2N}, Title3={title31, title32, …, title3N}, Title4={title41, title42, …, title4N}, Title5={title51, title52, …, title5N}, Title6={title61, title62, …, title6N};
步骤C3、引入步骤A4中的停用词集StopWords,定义Word1、Word2、Word3、Word4、Word5和Word6分别为生命科学、医学科学、地球科学、数学物理科学、化学科学和信息科学的分词集,word1,u、word2,v、word3,w、word4,x、word5,y和word6,z分别为生命科学、医学科学、地球科学、数学物理科学、化学科学和信息科学的分词,其中,变量u、v、w、x、y和z分别为生命科学、医学科学、地球科学、数学物理科学、化学科学和信息科学六类的分词个数;使用的分词工具 IK Analyzer对步骤C2中的TraTitle进行分词处理,去除单个字或单个字母的词,再去除停用词集StopWords中的词,StopWords={stopword1, stopword2, …, stopwordnum},得到分词集:Cor={Word1, Word2, Word3, Word4, Word5, Word6}, Word1={word1,1, word1,2, …, word1,u}, Word2={word2,1, word2,2, …, word2,v}, Word3={word3,1, word3,2, …, word3,w}, Word4={word4,1, word4,2,…, word4,x}, Word5={word5,1, word5,2, …, word5,y}, Word6={word6,1, word6,2, …, word6,z};
步骤C4、定义corTF1、corTF2、corTF3、corTF4、corTF5和corTF6分别为生命科学、医学科学、地球科学、数学物理科学、化学科学和信息科学六类的语料库,其中,tf1,u为word1,u所对应的加权值,tf1,v为word1,v所对应的加权值,tf1,w为word1,w所对应的加权值,tf1,x为word1,x所对应的加权值,tf1,y为word1,y所对应的加权值,tf1,z为word1,z所对应的加权值;定义TF=Words/AllWords,计算加权值,其中,TF为单个词的加权值,Words为某个词在该类分词集中出现的次数,AllWords为某类分词集的总词数;依据步骤C3中的Cor,计算结果集Cor中word的加权值,得到语料库集:CorTF={corTF1, corTF2, corTF3, corTF4, corTF5, corTF6}, corTF1={(word1,1, tf1,1), (word1,2, tf1,2), …, (word1,u, tf1,u)}, corTF2={(word2,1, tf2,1), (word2,2, tf2,2), …, (word2,v, tf2,v)}, corTF3={(word3,1, tf3,1), (word3,2, tf3,2), …, (word3,w, tf3,w)}, corTF4={(word4,1, tf4,1), (word4,2, tf4,2), …, (word4,x, tf4,x)}, corTF5={(word5,1, tf5,1), (word5,2, tf5,2), …, (word5,y, tf5,y)}, corTF6={(word6,1, tf6,1), (word6,2, tf6,2), …, (word6,z, tf6,z)};
步骤C5、定义simwordg为单个六类语料库中相同的词语,其中,变量g为六类语料库拥有相同词语的个数;依据步骤C3中的Cor,计算SimWord=Word1∩Word2∩Word3∩Word4∩Word5∩Word6,得到:SimWord={simword1, simword2, …, simwordg};
步骤C6、将CorTF赋值给Variety,将SimWord赋值给Similarity,Variety与Similarity来自于步骤F1;
步骤C7、执行步骤F1到步骤F10;
步骤C8、将Variety赋值给CorTF11,Variety来自于步骤F10,得到完善后的语料库集:
CorTF11={corTF11, corTF21, corTF31, corTF41, corTF51, corTF61}, corTF11={(word1,1, tf1,1), (word1,2, tf1,2), …, (word1,u, tf1,u)}, corTF21={(word2,1, tf2,1), (word2,2, tf2,2), …, (word2,v, tf2,v)}, corTF31={(word3,1, tf3,1), (word3,2, tf3,2), …, (word3,w, tf3,w)}, corTF41={(word4,1, tf4,1), (word4,2, tf4,2), …, (word4,x, tf4,x)}, corTF51={(word5,1, tf5,1), (word5,2, tf5,2), …, (word5,y, tf5,y)}, corTF61={(word6,1, tf6,1), (word6,2, tf6,2), …, (word6,z, tf6,z)};
其中,建立第二阶段科学类词汇语料库集流程步骤D,从步骤D1到步骤D7:
步骤D1、定义CorTF2为医学科学与生命科学语料库集,依据步骤C4中语料库集CorTF的医学科学语料库和生命科学语料库,得到:CorTF2={corTF1, corTF2}, corTF1={(word1,1, tf1,1), (word1,2, tf1,2), …, (word1,u, tf1,u)}, corTF2={(word2,1, tf2,1), (word2,2, tf2,2), …, (word2,v, tf2,v)};
步骤D2、定义变量min,将MIN(u, v)结果赋值给min,MIN()函数为取最小值,统一CorTF2中医学科学与生命科学语料库词语数目,将corTF1和corTF2两个语料库按加权值进行降序排列,保留两个语料库中前min个词语;得到:CorTF22={corTF12, corTF22}, corTF12={(word1,1, tf1,1), (word1,2, tf1,2), …, (word1,min, tf1,min)}, corTF22={(word2,1, tf2,1), (word2,2, tf2,2), …, (word2,min, tf2,min)};
步骤D3、定义Word12为医学科学词集,定义Word22为生命科学词集,抽取步骤D2中的结果集CorTF22中的词语,形成词集:CorWord22={Word12, Word22}, Word12={word1,1, word1,2, …, word1,min}, Word22={word2,1, word2,2, …, word1,min};
步骤D4、定义simwordG为两类语料库中相同的词语,其中,变量G为两类语料库拥有相同词的个数,计算两个语料库的相同的词语SimWord2=Word12∩Word22,得到:SimWord2={simword1, simword2, …, simwordG};
步骤D5、将CorTF22赋值给Variety,将SimWord2赋值给Similarity,Variety与Similarity来自于步骤F1;
步骤D6、执行步骤F1到步骤F10;
步骤D7、将Variety赋值给CorTF23,Variety来自于步骤F10,得到完善后的语料库集:
CorTF23={corTF13, corTF23}, corTF13={(word1,1, tf1,1),  (word1,2, tf1,2),…, (word1,min, tf1,min)}, corTF23={(word2,1, tf2,1), (word2,2, tf2,2), …, (word2,min, tf2,min)};
其中,建立第三阶段科学类词汇语料库集流程步骤E,从步骤E1到步骤E7:
步骤E1、定义CorTF3为地球科学、数学物理科学和化学科学语料库集,依据步骤C4,得到语料库集CorTF3中的地球科学语料库、数学物理科学语料库和化学科学语料库:CorTF3={corTF3, corTF4, corTF5}, corTF3={(word3,1, tf3,1),  (word3,2, tf3,2), …, (word3,w, tf3,w)}, corTF4={(word4,1, tf4,1), (word4,2, tf4,2), …, (word4,x, tf4,x)}, corTF5={(word5,1, tf5,1), (word5,2,t f5,2), …, (word5,y, tf5,y)};
步骤E2、定义变量min2,将MIN(w, x, y)赋值给min2,统一CorTF3中的地球科学、数学物理科学和化学科学语料库三个语料库词语数目,将corTF3、corTF4和corTF5三个语料库按加权值降序排列,保留三个语料库中前min2个词语;得到:CorTF32={corTF32, corTF42, corTF52}, corTF32={(word3,1, tf3,1), (word3,2, tf3,2), …, (word3,min2, tf3,min2)}, corTF42={(word4,1, tf4,1),(word4,2, tf4,2), …, (word4,min2, tf4,min2)}, corTF52={(word5,1, tf5,1), (word5,2, tf5,2), …, (word5,min2, tf5,min2)};
步骤E3、定义Word32为地球科学词集,Word42为数学物理科学词集,Word52为化学科学词集,抽取步骤E2中CorTF32的词语,形成词集:CorWord32={Word32, Word42}, Word32={word3,1, word3,2, …, word3,min2}, Word42={word2,1, word4,2, …, word4,min2}, Word52={word5,1, word5,2, …, word5,min2};
步骤E4、定义simwordF为CorTF3中的地球科学、数学物理科学和化学科学三类语料库中相同的词语,其中,变量F为三类语料库拥有相同词的个数,依据步骤E3,计算三类语料库的相同的词语SimWord3=Word32∩Word42∩Word52,得到:SimWord3={simword1, simword2, …, simwordF};
步骤E5、将CorTF32赋值给Variety,将SimWord3赋值给Similarity,Variety与Similarity来自于步骤F1;
步骤E6、执行步骤F1到步骤F10;
步骤E7、将Variety赋值给CorTF23,Variety来自于步骤F10,得到完善后的语料库集:
CorTF33={corTF33, corTF43, corTF53}, corTF33={(word3,1, tf3,1), (word3,2, tf3,2), …, (word3,min2, tf3,min2)}, corTF43={(word4,1, tf4,1), (word4,2, tf4,2), …, (word4,min2, tf4,min2)}, corTF53={(word5,1, tf5,1), (word5,2, tf5,2), …, (word5,min2, tf5,min2)};
其中,科学类词汇语料库完善步骤F,从步骤F1到步骤F10:
步骤F1、定义Variety={V1, V2, …, VN},Similarity={S1, S2, …, SR},其中,变量N为Variety中语料库个数,变量R为Similarty集合中元素的个数;定义循环变量i,用来遍历Similarity,其中,i∈[1, R];定义循环变量j,用来遍历Variety,其中,j∈[1, N];定义循环变量h, 用来遍历Variety中语料库Vj,赋值i=1,j=1,h=1;
步骤F2、如果j<=N,那么就执行步骤F3,否则执行步骤F10;
步骤F3、如果i<=R,那么就执行步骤F4,否则执行步骤F8;
步骤F4、如果wordj,h=simwordi,就将执行步骤F5,否则执行步骤F6;
步骤F5、定义常量T为加权值控制常量,将语料库Vj中(wordj,h, tfj,h)更新为:(wordj,h, tfj,h*T),执行步骤F7;
步骤F6、h=h+1,执行步骤F4;
步骤F7、i=i+1,执行步骤F3;
步骤F8、定义变量k为Vj语料库中的词语对应加权值的个数,当j=1时,k=u;当j=2时,k=v;当j=3时,k=w;当j=4时,k=x;当j=5时,k=y;当j=6时,k=z;得到Vj语料库:corTFj,h={(wordj,1, tfj,1), (wordj,2, tfj,2), …, (wordj,k, tfj,k)},其中,有R个(wordj,h, tfj,h=tfj,h*T);
步骤F9、j=j+1,执行步骤F2;
步骤F10、得到完善后的集合:Variety。
2.根据权利要求1所述的一种科学新闻标题的多层次多分类方法,其特征在于:定义T为加权值控制常量,用于缩小语料库中相同词语的加权值,所以,步骤F5和步骤F8中加权值控制常量T的取值为0.001。

说明书全文

一种科学新闻标题的多层次多分类方法

技术领域

[0001] 本发明属于文本挖掘文本分类领域,特别涉及一种科学新闻的多层次多分类方法,可应用于对科学新闻的详细分类,提高科学新闻分类后的使用价值。

背景技术

[0002] 文本分类方法是解决从Web网页中杂乱的文本信息提取分类出详细类别的一种重要方法,随着科技的不断发展,网络已经成为科学类新闻的主要来源。近年来,如何对网上的各类信息进行科学的组织和管理日益成为一个重要的研究领域,研究文本分类的方法也比较广泛,如向量空间距离测度分类算法、K最邻近分类算法、支持向量机算法、神经网络算法、决策树分类算法等。
[0003] 2009 年到 2015 年,朱全等人给出了 Web 文本处理的办法 (朱全银,潘禄,刘文儒,李翔,张永军,刘金岭. Web科技新闻分类抽取算法. 淮阴工学院学报.2015. Vol.24(5):18-24;李翔, 朱全银. 联合聚类和评分矩阵共享的协同过滤推荐. 计算机科学与探索. 2014. Vol.8(6):751-759; Suqun Cao, Quanyin Zhu, Zhiwei Hou. Customer Segmentation Based on a Novel Hierarchical Clustering Algorithm. 2009, p:1-5; Quanyin Zhu, Sunqun Cao. A Novel Classifier- independent Feature Selection Algorithm for Imbalanced Datasets. 2009, p:77-82; Suqun Cao, Zhiwei Hou, Liuyang Wang, Quanyin Zhu. Kernelized Fuzzy Fisher Criterion based Clustering Algorithm. DCABES 2010, p:87-91; Quanyin Zhu, Yunyang Yan, Jin Ding, Jin Qian. The Case Study for Price Extracting of Mobile Phone Sell Online. 2011, p:282-285; Quanyin Zhu, Suqun Cao, Pei Zhou, Yunyang Yan, Hong Zhou. Integrated Price Forecast based on Dichotomy Backfilling and Disturbance Factor Algorithm. International Review on Computers and Software, 2011, Vol.6(6):1089-1093; Suqun Cao, Gelan Yang, Quanyin Zhu, Haihei Zhai. A novel feature extraction method for mechanical part recognition. Applied Mechanics and Materials, 2011, p:116-121; Pei Zhou, Quanyin Zhu. Multi-factor Matching Method for Basic Information of Science and Technology Experts Based on Web Mining. 2012, P:718-720; Jianping Deng, Fengwen Cao, Quanyin Zhu, Yu Zhang. The Web Data Extracting and Application for Shop Online Based on Commodities Classified. Communications in Computer and Information Science, Vol.234(4):
120-128; Hui Zong, Quanyin Zhu, Ming Sun, Yahong Zhang. The case study for human resource management research based on web mining and semantic analysis. Applied Mechanics and Materials, Vol.488, 2014 p:1336-1339).
[0004] 文本分类:
[0005] 文本分类是指按照预先定义的主题类别,为文档集合中的每个文档确定一个类别。文本分类是在给定的分类体系下,根据文本内容或属性将特定文本划分到一个或多个预先定义的类别中的方法。
[0006] 文本分类一般包括了文本的表达、分类器的选择与训练、分类结果的评价与反馈等过程,其中文本的表达又可细分为文本预处理、索引和统计、特征抽取等步骤。文本分类 系统的总体功能模为 :
[0007] (1)预处理:将原始语料格式化为同一格式,便于后续的统一处理;
[0008] (2)索引:将文档分解为基本处理单元,同时降低后续处理的开销;
[0009] (3)统计:词频统计,项(单词、概念)与分类的相关概率;
[0010] (4)特征抽取:从文档中抽取出反映文档主题的特征;
[0011] (5)分类器:分类器的训练;
[0012] (6)评价:分类器的测试结果分析。
[0013] 分词技术:
[0014] 对于中文文本而言,因为词与词之间没有明显的切分标志,所以首先需要对中文文本进行分词。现在的分词方法虽然有多种,但归纳起来不外乎两种:一类是机械式分词法,一般以分词词典为依据,通过文档中的汉字串和词表中的词逐一匹配来完成词的切分.另一类是理解式分词法,即利用汉语的语法知识和语义知识以及心理学知识进行分词,需要建立分词数据库知识库和推理库.后者可谓是理想的方法,但在语法分析、语义分析乃至篇章理解还没有得到解决之前,其分词系统主要采用机械分词法,或者介于二者之间的某种分词方法。
[0015] 向量空间模型:
[0016] 向量空间模型(VSM:Vector Space Model)由Salton等人于20世纪70年代提出,并成功地应用于著名的SMART文本检索系统。把对文本内容的处理简化为向量空间中的向量运算,并且它以空间上的相似度表达语义的相似度,直观易懂。当文档被表示为文档空间的向量,就可以通过计算向量之间的相似性来度量文档间的相似性。文本处理中最常用的相似性度量方式是余弦距离。
[0017] 分词工具 IK Analyzer:
[0018] IKAnalyzer是一个开源的,基于Java语言开发的轻量级的中文分词工具包。采用了多子处理器分析模式,支持:英文字母(IP地址、Email、URL)、数字(日期,常用中文数量词,罗数字,科学计数法),中文词汇(姓名、地名处理)等分词处理。

发明内容

[0019] 本发明的目的是通过科学新闻标题文本,首先对随机抽取的各类科学新闻标题文本集进行预处理和加权,形成预分类的科学类词汇语料库,再使用改进的向量空间模型方法对待分类的科学新闻进行分类,最终将待分类的科学新闻归类到已知的预分类的科学新闻类别中,完成对待分类的科学新闻的分类。
[0020] 本发明的技术方案是首先对训练新闻文本分词,运算得到加权值,再对加权值进行处理,形成预分类的科学类词汇语料库,最后使用改进的余弦相似度进行计算,将结果进行比较得到第一次分类结果,判断是否需要进一步分类,即先判断待分类的新闻文本是否为信息类科学类新闻,如果是则结束,否则判断待分类的新闻文本是否为生命科学类或医学科学类新闻,或者为地球科学类、数学物理科学类和化学科学类新闻三者之一,前者进一步再判断为生命科学类新闻,还是医学科学类新闻,后者再进一步判断为地球科学类、数学物理类或化学科学类新闻中的一类。
[0021] 具体来说,本发明方案通过如下步骤实现对科学类新闻的多层次多分类。
[0022] 本发明提出的一种科学新闻的多层次多分类方法,通过科学类新闻标题,首先对随机抽取的新闻标题文本集进行预处理和加权,形成初步完善的预分类的科学类词汇语料库,再使用改进的余弦相似度计算方法对待分类的科学类新闻标题和各个完善后的科学类词汇语料库进行计算,最终将待分类的科学类新闻归类到已定义的科学类新闻类别中;其中,包括待分类的科学类新闻归类流程步骤A、改进的余弦相似度计算步骤B、建立第一阶段科学类词汇语料库集流程步骤C、建立第二阶段科学类词汇语料库集流程步骤D、建立第三阶段科学类词汇语料库集流程步骤E和科学类词汇语料库完善步骤F;其中,具体包括以下步骤:
[0023] 待分类的科学类新闻归类流程步骤A,从步骤A1到步骤A28:
[0024] 步骤A1、定义ntitleL为单篇待分类的科学类新闻标题文本,其中,变量L为待分类的科学类新闻标题文本集的标题总数,待分类的科学新闻标题文本Ntitle={ntitle1, ntitle2, …, ntitleL};
[0025] 步骤A2、定义循环变量sum,用于遍历Ntitle,赋值sum=1;
[0026] 步骤A3、如果sum<=L,那么就执行步骤A4,否则执行步骤A28;
[0027] 步骤A4、定义变量p为ntitlesum的分词总数,NWord为分词集,nword为单个分词,stopwordsum为单个停用词;使用分词工具 IK Analyzer对ntitlesum进行分词处理,去除单个字或单个字母的词,再去除停用词集StopWords中的词,其中,StopWords={stopword1, stopword2, …, stopwordsum},得到分词集:NWord={nword1, nword2, …, nwordp};
[0028] 步骤A5、定义ncortfnp为nwordnp对应的加权值,其中,np∈[1, p];定义NTF=twords/TWords,用来计算待分类标题分词nwordnp的加权值,其中,twords为nwordnp在标题分词中出现的个数,TWords为标题的分词个数,依据步骤A4中的NWord,得到数据集:NCorTF={(nword1, ncortf1), (nword2, ncortf2), …, (nwordp, ncortfp)};
[0029] 步骤A6、引入步骤C8中的数据库集:Variety;
[0030] 步骤A7、将Variety应用于步骤B1;
[0031] 步骤A8、执行步骤B1到步骤B12;
[0032] 步骤A9、得到SIM={Sim1, Sim2, …, Sim6},将SIM赋值给COM,其中,COM={Com1, Com2, …, Com6},SIM来自于步骤B12;
[0033] 步骤A10、如果Com6>=Com1&&Com6>=Com2&&Com6>=Com3&&Com6>=Com4&& Com6>=Com5,那么就执行步骤A11,否则执行步骤A12;
[0034] 步骤A11、ntitlesum属于信息科学新闻,执行步骤A27;
[0035] 步骤A12、如果(Com1>=Com2&&Com1>=Com3&&Com1>=Com4&&Com1>=Com5)|| (Com2>=Com1 &&Com2>=Com3&&Com2>=Com4&&Com2>=Com5),那么就执行步骤A13,否则执行步骤A19;
[0036] 步骤A13、引入步骤D7中语料库集Variety,将Variety应用于步骤B1;
[0037] 步骤A14、执行步骤B1到步骤B12;
[0038] 步骤A15、得到SIM={Sim1, Sim2};
[0039] 步骤A16、依据步骤A15,如果Sim1>=Sim2,那么就执行步骤A17,否则执行步骤A18;
[0040] 步骤A17、ntitlesum属于生命科学新闻,执行步骤A27;
[0041] 步骤A18、ntitlesum属于医学科学新闻,执行步骤A27;
[0042] 步骤A19、引入步骤E7中语料库集Variety,将Variety应用于步骤B1;
[0043] 步骤A20、执行步骤B1到步骤B12;
[0044] 步骤A21、得到SIM={Sim3, Sim4, Sim5};
[0045] 步骤A22、依据步骤A21中SIM,如果Sim3>=Sim4&&Sim3>=Sim5,那么就执行步骤A23,否则执行步骤A24;
[0046] 步骤A23、ntitlesum属于地球科学新闻,执行步骤A27;
[0047] 步骤A24、依据步骤A21中SIM,如果Sim4>=Sim5,那么就执行步骤A25,否则执行步骤A26;
[0048] 步骤A25、ntitlesum属于数学物理科学新闻,执行步骤A27;
[0049] 步骤A26、ntitlesum属于化学科学新闻,执行步骤A27;
[0050] 步骤A27、sum=sum+1,执行步骤A3;
[0051] 步骤A28、引入步骤A1中Ntitle={ntitle1, ntitle2, …, ntitleL},定义变量one,其中,one∈[1, L];定义CLA={Cla1, Cla2, …, Cla6},其中,Cla1、Cla2、Cla3、Cla4、Cla5和Cla6分别为生命科学集、医学科学集、地球科学集、数学物理科学集、化学科学集和信息科学集;定义变量any,其中,any∈[1,6];得到Ntitle的分类结果ntitleone∈Claany,即,将待分类的标题分类到已知科学类新闻分类中;
[0052] 其中,改进的余弦相似度计算步骤B,从步骤B1到步骤B12:
[0053] 步骤B1、引入步骤A5中NCorTF={(nword1, ncortf1), (nword2, ncortf2), …, (nwordp, ncortfp)},引入步骤F1中Variety={V1,V2,…VN},其中,变量N为集合Variety中语料库的个数;计算待分类标题文本与N个不同学科方向语料库的相似度,定义SIM={Sim1, Sim2, …, SimN};定义循环变量r,用来遍历Variety,其中,r∈[1,N];定义循环变量t,用来遍历NCorTF,其中,t∈[1, p];定义循环变量s,用来遍历Variety的Vr语料库;赋值r=1,t=1,s=1,SimTFCorTF=0,SimTF=0,SimCorTF=0;
[0054] 步骤B2、如果r<=N,那么就执行步骤B3,否则执行步骤B12;
[0055] 步骤B3、定义K为当前使用的语料库词语个数,如果s<=K,那么就执行步骤B4,否则执行B10;
[0056] 步骤B4、求Vr语料库中所有词语的平方和SimTF=SimTF+tfr,s*tfr,s;
[0057] 步骤B5、如果t<=p,那么就执行步骤B6,否则执行步骤B9;
[0058] 步骤B6、如果nwordt=wordr,s,那么就执行步骤B7,否则执行步骤B8;
[0059] 步骤B7、计算SimTFCorTF=SimTFCorTF+tfr,s*ncortft,SimCorTF=SimCorTF+ncortft*ncortft, 执行B9;
[0060] 步骤B8、t=t+1,执行步骤B5;
[0061] 步骤B9、s=s+1,执行步骤B3;
[0062] 步骤B10、计算Simr=SimTFCorTF/(SimTF1/2*SimCorTF1/2);
[0063] 步骤B11、赋值r=r+1,SimTFCorTF=0,SimTF=0,SimCorTF=0,执行步骤B2;
[0064] 步骤B12、得到集合SIM={Sim1, Sim2, …, SimN};
[0065] 其中,建立第一阶段科学类词汇语料库集流程步骤C,从步骤C1到步骤C8:
[0066] 步骤C1、定义科学类新闻分为生命科学新闻、医学科学新闻、地球科学新闻、数学物理科学新闻、化学科学新闻和信息科学新闻,根据这六类分类,定义从Web网页挖取的新闻中AllTitle为新闻的标题集合,其中,ATitle1、ATitle2、ATitle3、ATitle4、ATitle5和ATitle6分别为生命科学类新闻标题集、医学科学类新闻标题集、地球科学类新闻标题集、数学物理科学类新闻标题集、化学科学类新闻标题集和信息科学类新闻标题集;定义atitle1a、atitle2b、atitle3c、atitle4d、atitle5e和atitle6f分别为生命科学类新闻标题、医学科学类新闻标题、地球科学类新闻标题、数学物理科学类新闻标题、化学科学类新闻标题和信息科学类新闻标题,其中,变量a、b、c、d、e和f分别为生命科学类新闻标题、医学科学类新闻标题、地球科学类新闻标题、数学物理科学类新闻标题、化学科学类新闻标题和信息科学类新闻标题的个数;得到AllTitle={ATitle1, ATitle2, ATitle3, ATitle4, ATitle5, ATitle6}, ATitle1={atitle11, atitle12, …, atitle1a}, ATitle2={atitle21, atitle22, …, atitle2b}, ATitle3={atitle31, atitle32, …, atitle3c}, ATitle4={atitle41, atitle42, …, atitle4d}, ATitle5={atitle51, atitle52, …, atitle5e}, ATitle6={atitle61, atitle62, …, atitle6f};
[0067] 步骤C2、定义title1N、title2N、title3N、title4N、title5N和title6N分别为随机抽取的生命科学类新闻标题、医学科学类新闻标题、地球科学类新闻标题、数学物理科学类新闻标题、化学科学类新闻标题和信息科学类新闻标题,其中,N∈[1, 2500];从步骤C1中的AllTitle随机抽取标题文本,分别从生命科学、医学科学、地球科学、数学物理科学、化学科学和信息科学六类新闻标题集中随机抽取2500个文本作为训练文本集,即共抽取15000个新闻标题集TraTitle={Title1, Title2, Title3, Title4, Title5, Title6}, Title1={title11, title12, …, title1N}, Title2={title21, title22, …, title2N}, Title3={title31, title32, …, title3N}, Title4={title41, title42, …, title4N}, Title5={title51, title52, …, title5N}, Title6={title61, title62, …, title6N};
[0068] 步骤C3、引入步骤A4中的停用词集StopWords,定义Word1、Word2、Word3、Word4、Word5和Word6分别为生命科学、医学科学、地球科学、数学物理科学、化学科学和信息科学的分词集,word1,u、word2,v、word3,w、word4,x、word5,y和word6,z分别为生命科学、医学科学、地球科学、数学物理科学、化学科学和信息科学的分词,其中,变量u、v、w、x、y和z分别为生命科学、医学科学、地球科学、数学物理科学、化学科学和信息科学六类的分词个数;使用的分词工具 IK Analyzer对步骤C2中的TraTitle进行分词处理,去除单个字或单个字母的词,再去除停用词集StopWords中的词,StopWords={stopword1, stopword2, …, stopwordnum},得到分词集:Cor={Word1, Word2, Word3, Word4, Word5, Word6}, Word1={word1,1, word1,2, …, word1,u}, Word2={word2,1, word2,2, …, word2,v}, Word3={word3,1, word3,2, …, word3,w}, Word4={word4,1, word4,2,…, word4,x}, Word5={word5,1, word5,2, …, word5,y}, Word6={word6,1, word6,2, …, word6,z};
[0069] 步骤C4、定义corTF1、corTF2、corTF3、corTF4、corTF5和corTF6分别为生命科学、医学科学、地球科学、数学物理科学、化学科学和信息科学六类的语料库,其中,tf1,u为word1,u所对应的加权值,tf1,v为word1,v所对应的加权值,tf1,w为word1,w所对应的加权值,tf1,x为word1,x所对应的加权值,tf1,y为word1,y所对应的加权值,tf1,z为word1,z所对应的加权值;定义TF=Words/AllWords,计算加权值,其中,TF为单个词的加权值,Words为某个词在该类分词集中出现的次数,AllWords为某类分词集的总词数;依据步骤C3中的Cor,计算结果集Cor中word的加权值,得到语料库集:CorTF={corTF1, corTF2, corTF3, corTF4, corTF5, corTF6}, corTF1={(word1,1, tf1,1), (word1,2, tf1,2), …, (word1,u, tf1,u)}, corTF2={(word2,1, tf2,1), (word2,2, tf2,2), …, (word2,v, tf2,v)}, corTF3={(word3,1, tf3,1), (word3,2, tf3,2), …, (word3,w, tf3,w)}, corTF4={(word4,1, tf4,1), (word4,2, tf4,2), …, (word4,x, tf4,x)}, corTF5={(word5,1, tf5,1), (word5,2, tf5,2), …, (word5,y, tf5,y)}, corTF6={(word6,1, tf6,1), (word6,2, tf6,2), …, (word6,z, tf6,z)};
[0070] 步骤C5、定义simwordg为单个六类语料库中相同的词语,其中,变量g为六类语料库拥有相同词语的个数;依据步骤C3中的Cor,计算SimWord=Word1∩Word2∩Word3∩Word4∩Word5∩Word6,得到:SimWord={simword1, simword2, …, simwordg};
[0071] 步骤C6、将CorTF赋值给Variety,将SimWord赋值给Similarity,Variety与Similarity来自于步骤F1;
[0072] 步骤C7、执行步骤F1到步骤F10;
[0073] 步骤C8、将Variety赋值给CorTF11,Variety来自于步骤F10,得到完善后的语料库集:CorTF11={corTF11, corTF21, corTF31, corTF41, corTF51, corTF61}, corTF11={(word1,1, tf1,1), (word1,2, tf1,2), …, (word1,u, tf1,u)}, corTF21={(word2,1, tf2,1), (word2,2, tf2,2), …, (word2,v, tf2,v)}, corTF31={(word3,1, tf3,1), (word3,2, tf3,2), …, (word3,w, tf3,w)}, corTF41={(word4,1, tf4,1), (word4,2, tf4,2), …, (word4,x, tf4,x)}, corTF51={(word5,1, tf5,1), (word5,2, tf5,2), …, (word5,y, tf5,y)}, corTF61={(word6,1, tf6,1), (word6,2, tf6,2), …, (word6,z, tf6,z)};
[0074] 其中,建立第二阶段科学类词汇语料库集流程步骤D,从步骤D1到步骤D7:
[0075] 步骤D1、定义CorTF2为医学科学与生命科学语料库集,依据步骤C4中语料库集CorTF的医学科学语料库和生命科学语料库,得到:CorTF2={corTF1, corTF2}, corTF1={(word1,1, tf1,1), (word1,2, tf1,2), …, (word1,u, tf1,u)}, corTF2={(word2,1, tf2,1), (word2,2, tf2,2), …, (word2,v, tf2,v)};
[0076] 步骤D2、定义变量min,将MIN(u, v)结果赋值给min,MIN()函数为取最小值,统一CorTF2中医学科学与生命科学语料库词语数目,将corTF1和corTF2两个语料库按加权值进行降序排列,保留两个语料库中前min个词语;得到:CorTF22={corTF12, corTF22}, corTF12={(word1,1, tf1,1), (word1,2, tf1,2), …, (word1,min, tf1,min)}, corTF22={(word2,1, tf2,1), (word2,2, tf2,2), …, (word2,min, tf2,min)};
[0077] 步骤D3、定义Word12为医学科学词集,定义Word22为生命科学词集,抽取步骤D2中的结果集CorTF22中的词语,形成词集:CorWord22={Word12, Word22}, Word12={word1,1, word1,2, …, word1,min}, Word22={word2,1, word2,2, …, word1,min};
[0078] 步骤D4、定义simwordG为两类语料库中相同的词语,其中,变量G为两类语料库拥有相同词的个数,计算两个语料库的相同的词语SimWord2=Word12∩Word22,得到:SimWord2={simword1, simword2, …, simwordG};
[0079] 步骤D5、将CorTF22赋值给Variety,将SimWord2赋值给Similarity,Variety与Similarity来自于步骤F1;
[0080] 步骤D6、执行步骤F1到步骤F10;
[0081] 步骤D7、将Variety赋值给CorTF23,Variety来自于步骤F10,得到完善后的语料库集:CorTF23={corTF13, corTF23}, corTF13={(word1,1, tf1,1), (word1,2, tf1,2),…, (word1,min, tf1,min)}, corTF23={(word2,1, tf2,1), (word2,2, tf2,2), …, (word2,min, tf2,min)};
[0082] 其中,建立第三阶段科学类词汇语料库集流程步骤E,从步骤E1到步骤E7:
[0083] 步骤E1、定义CorTF3为地球科学、数学物理科学和化学科学语料库集,依据步骤C4,得到语料库集CorTF3中的地球科学语料库、数学物理科学语料库和化学科学语料库:CorTF3={corTF3, corTF4, corTF5}, corTF3={(word3,1, tf3,1), (word3,2, tf3,2), …, (word3,w, tf3,w)}, corTF4={(word4,1, tf4,1), (word4,2, tf4,2), …, (word4,x, tf4,x)}, corTF5={(word5,1, tf5,1), (word5,2,t f5,2), …, (word5,y, tf5,y)};
[0084] 步骤E2、定义变量min2,将MIN(w, x, y)赋值给min2,统一CorTF3中的地球科学、数学物理科学和化学科学语料库三个语料库词语数目,将corTF3、corTF4和corTF5三个语料库按加权值降序排列,保留三个语料库中前min2个词语;得到:CorTF32={corTF32, corTF42, corTF52}, corTF32={(word3,1, tf3,1), (word3,2, tf3,2), …, (word3,min2, tf3,min2)}, corTF42={(word4,1, tf4,1),(word4,2, tf4,2), …, (word4,min2, tf4,min2)}, corTF52={(word5,1, tf5,1), (word5,2, tf5,2), …, (word5,min2, tf5,min2)};
[0085] 步骤E3、定义Word32为地球科学词集,Word42为数学物理科学词集,Word52为化学科学词集,抽取步骤E2中CorTF32的词语,形成词集:CorWord32={Word32, Word42}, Word32={word3,1, word3,2, …, word3,min2}, Word42={word2,1, word4,2, …, word4,min2}, Word52={word5,1, word5,2, …, word5,min2};
[0086] 步骤E4、定义simwordF为CorTF3中的地球科学、数学物理科学和化学科学三类语料库中相同的词语,其中,变量F为三类语料库拥有相同词的个数,依据步骤E3,计算三类语料库的相同的词语SimWord3=Word32∩Word42∩Word52,得到:SimWord3={simword1, simword2, …, simwordF};
[0087] 步骤E5、将CorTF32赋值给Variety,将SimWord3赋值给Similarity,Variety与Similarity来自于步骤F1;
[0088] 步骤E6、执行步骤F1到步骤F10;
[0089] 步骤E7、将Variety赋值给CorTF23,Variety来自于步骤F10,得到完善后的语料库集:CorTF33={corTF33, corTF43, corTF53}, corTF33={(word3,1, tf3,1), (word3,2, tf3,2), …, (word3,min2, tf3,min2)}, corTF43={(word4,1, tf4,1), (word4,2, tf4,2), …, (word4,min2, tf4,min2)}, corTF53={(word5,1, tf5,1), (word5,2, tf5,2), …, (word5,min2, tf5,min2)};
[0090] 其中,科学类词汇语料库完善步骤F,从步骤F1到步骤F10:
[0091] 步骤F1、定义Variety={V1, V2, …, VN},Similarity={S1, S2, …, SR},其中,变量N为Variety中语料库个数,变量R为Similarty集合中元素的个数;定义循环变量i,用来遍历Similarity,其中,i∈[1, R];定义循环变量j,用来遍历Variety,其中,j∈[1, N];定义循环变量h, 用来遍历Variety中语料库Vj,赋值i=1,j=1,h=1;
[0092] 步骤F2、如果j<=N,那么就执行步骤F3,否则执行步骤F10;
[0093] 步骤F3、如果i<=R,那么就执行步骤F4,否则执行步骤F8;
[0094] 步骤F4、如果wordj,h=simwordi,就将执行步骤F5,否则执行步骤F6;
[0095] 步骤F5、定义常量T为加权值控制常量,将语料库Vj中(wordj,h, tfj,h)更新为:(wordj,h, tfj,h*T),执行步骤F7;
[0096] 步骤F6、h=h+1,执行步骤F4;
[0097] 步骤F7、i=i+1,执行步骤F3;
[0098] 步骤F8、定义变量k为Vj语料库中的词语对应加权值的个数,当j=1时,k=u;当j=2时,k=v;当j=3时,k=w;当j=4时,k=x;当j=5时,k=y;当j=6时,k=z;得到Vj语料库:corTFj,h={(wordj,1, tfj,1), (wordj,2, tfj,2), …, (wordj,k, tfj,k)},其中,有R个(wordj,h, tfj,h=tfj,h*T);
[0099] 步骤F9、j=j+1,执行步骤F2;
[0100] 步骤F10、得到完善后的集合:Variety。
[0101] 定义T为加权值控制常量,用于缩小语料库中相同词语的加权值,所以,步骤F5和步骤F8中加权值控制常量T的取值为0.001。
[0102] 本发明创造性的提出了通过新闻标题,使用多层次多分类方法对科学类新闻进行分类,将科学类新闻分为生命科学、医学科学、地球科学、数学物理科学、化学科学和信息科学六类,多层次为多层对待分类的科学类新闻文本分类进行判断其类别,首先判断待分类的新闻文本是否为信息类科学类新闻,如果是则结束,否则判断待分类的新闻文本是否为生命科学类或医学科学类新闻,或者为地球科学类、数学物理科学类和化学科学类新闻三者之一,前者进一步再判断为生命科学类新闻,还是医学科学类新闻,后者再进一步判断为地球科学类、数学物理类或化学科学类新闻中的一类;本发明创造性的解决了Web网页上对科学类新闻进一步分类的问题,提高了Web网页上科学类新闻分类后的使用价值;本发明可应用于企业向用户推送可定制的科学类新闻服务,也可用于用户主动关注需要的科学类新闻服务,从而有效的节省了用户的时间。附图说明
[0103] 附图1为本发明待分类的科学类新闻归类流程图
[0104] 附图2为本发明改进的余弦相似度计算方法流程图。
[0105] 附图3为本发明建立第一阶段科学类词汇语料库集流程图。
[0106] 附图4为本发明建立第二阶段科学类词汇语料库集流程图。
[0107] 附图5为本发明建立第三阶段科学类词汇语料库集流程图。
[0108] 附图6为本发明科学类词汇语料库完善流程图。

具体实施方式

[0109] 下面结合附图对本发明的技术方案进行详细说明:
[0110] 一种科学新闻标题的多层次多分类方法包括待分类的科学类新闻归类流程步骤A、改进的余弦相似度计算步骤B、建立第一阶段科学类词汇语料库集流程步骤C、建立第二阶段科学类词汇语料库集流程步骤D、建立第三阶段科学类词汇语料库集流程步骤E和科学类词汇语料库完善步骤F;其中,具体包括以下步骤:
[0111] 如附图1,本发明待分类的科学类新闻归类流程步骤A,从步骤A1到步骤A28:
[0112] 步骤A1、定义ntitleL为单篇待分类的科学类新闻标题文本,其中,变量L为待分类的科学类新闻标题文本集的标题总数,待分类的科学新闻标题文本Ntitle={ntitle1, ntitle2, …, ntitleL};
[0113] 步骤A2、定义循环变量sum,用于遍历Ntitle,赋值sum=1;
[0114] 步骤A3、如果sum<=L,那么就执行步骤A4,否则执行步骤A28;
[0115] 步骤A4、定义变量p为ntitlesum的分词总数,NWord为分词集,nword为单个分词,stopwordsum为单个停用词;使用分词工具 IK Analyzer对ntitlesum进行分词处理,去除单个字或单个字母的词,再去除停用词集StopWords中的词,其中,StopWords={stopword1, stopword2, …, stopwordsum},得到分词集:NWord={nword1, nword2, …, nwordp};
[0116] 步骤A5、定义ncortfnp为nwordnp对应的加权值,其中,np∈[1, p];定义NTF=twords/TWords,用来计算待分类标题分词nwordnp的加权值,其中,twords为nwordnp在标题分词中出现的个数,TWords为标题的分词个数,依据步骤A4中的NWord,得到数据集:NCorTF={(nword1, ncortf1), (nword2, ncortf2), …, (nwordp, ncortfp)};
[0117] 步骤A6、引入步骤C8中的数据库集:Variety;
[0118] 步骤A7、将Variety应用于步骤B1;
[0119] 步骤A8、执行步骤B1到步骤B12;
[0120] 步骤A9、得到SIM={Sim1, Sim2, …, Sim6},将SIM赋值给COM,其中,COM={Com1, Com2, …, Com6},SIM来自于步骤B12;
[0121] 步骤A10、如果Com6>=Com1&&Com6>=Com2&&Com6>=Com3&&Com6>=Com4&& Com6>=Com5,那么就执行步骤A11,否则执行步骤A12;
[0122] 步骤A11、ntitlesum属于信息科学新闻,执行步骤A27;
[0123] 步骤A12、如果(Com1>=Com2&&Com1>=Com3&&Com1>=Com4&&Com1>=Com5)|| (Com2>= Com1&&Com2>=Com3&&Com2>=Com4&&Com2>=Com5),那么就执行步骤A13,否则执行步骤A19;
[0124] 步骤A13、引入步骤D7中语料库集Variety,将Variety应用于步骤B1;
[0125] 步骤A14、执行步骤B1到步骤B12;
[0126] 步骤A15、得到SIM={Sim1, Sim2};
[0127] 步骤A16、依据步骤A15,如果Sim1>=Sim2,那么就执行步骤A17,否则执行步骤A18;
[0128] 步骤A17、ntitlesum属于生命科学新闻,执行步骤A27;
[0129] 步骤A18、ntitlesum属于医学科学新闻,执行步骤A27;
[0130] 步骤A19、引入步骤E7中语料库集Variety,将Variety应用于步骤B1;
[0131] 步骤A20、执行步骤B1到步骤B12;
[0132] 步骤A21、得到SIM={Sim3, Sim4, Sim5};
[0133] 步骤A22、依据步骤A21中SIM,如果Sim3>=Sim4&&Sim3>=Sim5,那么就执行步骤A23,否则执行步骤A24;
[0134] 步骤A23、ntitlesum属于地球科学新闻,执行步骤A27;
[0135] 步骤A24、依据步骤A21中SIM,如果Sim4>=Sim5,那么就执行步骤A25,否则执行步骤A26;
[0136] 步骤A25、ntitlesum属于数学物理科学新闻,执行步骤A27;
[0137] 步骤A26、ntitlesum属于化学科学新闻,执行步骤A27;
[0138] 步骤A27、sum=sum+1,执行步骤A3;
[0139] 步骤A28、引入步骤A1中Ntitle={ntitle1, ntitle2, …, ntitleL},定义变量one,其中,one∈[1, L];定义CLA={Cla1, Cla2, …, Cla6},其中,Cla1、Cla2、Cla3、Cla4、Cla5和Cla6分别为生命科学集、医学科学集、地球科学集、数学物理科学集、化学科学集和信息科学集;定义变量any,其中,any∈[1,6];得到Ntitle的分类结果ntitleone∈Claany,即,将待分类的标题分类到已知科学类新闻分类中;
[0140] 如附图2,本发明改进的余弦相似度计算步骤B,从步骤B1到步骤B12:
[0141] 步骤B1、引入步骤A5中NCorTF={(nword1, ncortf1), (nword2, ncortf2), …, (nwordp, ncortfp)},引入步骤F1中Variety={V1,V2,…VN},其中,变量N为集合Variety中语料库的个数;计算待分类标题文本与N个不同学科方向语料库的相似度,定义SIM={Sim1, Sim2, …, SimN};定义循环变量r,用来遍历Variety,其中,r∈[1,N];定义循环变量t,用来遍历NCorTF,其中,t∈[1, p];定义循环变量s,用来遍历Variety的Vr语料库;赋值r=1,t=1,s=1,SimTFCorTF=0,SimTF=0,SimCorTF=0;
[0142] 步骤B2、如果r<=N,那么就执行步骤B3,否则执行步骤B12;
[0143] 步骤B3、定义K为当前使用的语料库词语个数,如果s<=K,那么就执行步骤B4,否则执行B10;
[0144] 步骤B4、求Vr语料库中所有词语的平方和SimTF=SimTF+tfr,s*tfr,s;
[0145] 步骤B5、如果t<=p,那么就执行步骤B6,否则执行步骤B9;
[0146] 步骤B6、如果nwordt=wordr,s,那么就执行步骤B7,否则执行步骤B8;
[0147] 步骤B7、计算SimTFCorTF=SimTFCorTF+tfr,s*ncortft,SimCorTF=SimCorTF+ncortft*ncortft, 执行B9;
[0148] 步骤B8、t=t+1,执行步骤B5;
[0149] 步骤B9、s=s+1,执行步骤B3;
[0150] 步骤B10、计算Simr=SimTFCorTF/(SimTF1/2*SimCorTF1/2);
[0151] 步骤B11、赋值r=r+1,SimTFCorTF=0,SimTF=0,SimCorTF=0,执行步骤B2;
[0152] 步骤B12、得到集合SIM={Sim1, Sim2, …, SimN};
[0153] 如附图3,本发明建立第一阶段科学类词汇语料库流程步骤C,从步骤C1到步骤C8:
[0154] 步骤C1、定义科学类新闻分为生命科学新闻、医学科学新闻、地球科学新闻、数学物理科学新闻、化学科学新闻和信息科学新闻,根据这六类分类,定义从Web网页挖取的新闻中AllTitle为新闻的标题集合,其中,ATitle1、ATitle2、ATitle3、ATitle4、ATitle5和ATitle6分别为生命科学类新闻标题集、医学科学类新闻标题集、地球科学类新闻标题集、数学物理科学类新闻标题集、化学科学类新闻标题集和信息科学类新闻标题集;定义atitle1a、atitle2b、atitle3c、atitle4d、atitle5e和atitle6f分别为生命科学类新闻标题、医学科学类新闻标题、地球科学类新闻标题、数学物理科学类新闻标题、化学科学类新闻标题和信息科学类新闻标题,其中,变量a、b、c、d、e和f分别为生命科学类新闻标题、医学科学类新闻标题、地球科学类新闻标题、数学物理科学类新闻标题、化学科学类新闻标题和信息科学类新闻标题的个数;得到AllTitle={ATitle1, ATitle2, ATitle3, ATitle4, ATitle5, ATitle6}, ATitle1={atitle11, atitle12, …, atitle1a}, ATitle2={atitle21, atitle22, …, atitle2b}, ATitle3={atitle31, atitle32, …, atitle3c}, ATitle4={atitle41, atitle42, …, atitle4d}, ATitle5={atitle51, atitle52, …, atitle5e}, ATitle6={atitle61, atitle62, …, atitle6f};
[0155] 步骤C2、定义title1N、title2N、title3N、title4N、title5N和title6N分别为随机抽取的生命科学类新闻标题、医学科学类新闻标题、地球科学类新闻标题、数学物理科学类新闻标题、化学科学类新闻标题和信息科学类新闻标题,其中,N∈[1, 2500];从步骤C1中的AllTitle随机抽取标题文本,分别从生命科学、医学科学、地球科学、数学物理科学、化学科学和信息科学六类新闻标题集中随机抽取2500个文本作为训练文本集,即共抽取15000个新闻标题集TraTitle={Title1, Title2, Title3, Title4, Title5, Title6}, Title1={title11, title12, …, title1N}, Title2={title21, title22, …, title2N}, Title3={title31, title32, …, title3N}, Title4={title41, title42, …, title4N}, Title5={title51, title52, …, title5N}, Title6={title61, title62, …, title6N};
[0156] 步骤C3、引入步骤A4中的停用词集StopWords,定义Word1、Word2、Word3、Word4、Word5和Word6分别为生命科学、医学科学、地球科学、数学物理科学、化学科学和信息科学的分词集,word1,u、word2,v、word3,w、word4,x、word5,y和word6,z分别为生命科学、医学科学、地球科学、数学物理科学、化学科学和信息科学的分词,其中,变量u、v、w、x、y和z分别为生命科学、医学科学、地球科学、数学物理科学、化学科学和信息科学六类的分词个数;使用的分词工具 IK Analyzer对步骤C2中的TraTitle进行分词处理,去除单个字或单个字母的词,再去除停用词集StopWords中的词,StopWords={stopword1, stopword2, …, stopwordnum},得到分词集:Cor={Word1, Word2, Word3, Word4, Word5, Word6}, Word1={word1,1, word1,2, …, word1,u}, Word2={word2,1, word2,2, …, word2,v}, Word3={word3,1, word3,2, …, word3,w}, Word4={word4,1, word4,2,…, word4,x}, Word5={word5,1, word5,2, …, word5,y}, Word6={word6,1, word6,2, …, word6,z};
[0157] 步骤C4、定义corTF1、corTF2、corTF3、corTF4、corTF5和corTF6分别为生命科学、医学科学、地球科学、数学物理科学、化学科学和信息科学六类的语料库,其中,tf1,u为word1,u所对应的加权值,tf1,v为word1,v所对应的加权值,tf1,w为word1,w所对应的加权值,tf1,x为word1,x所对应的加权值,tf1,y为word1,y所对应的加权值,tf1,z为word1,z所对应的加权值;定义TF=Words/AllWords,计算加权值,其中,TF为单个词的加权值,Words为某个词在该类分词集中出现的次数,AllWords为某类分词集的总词数;依据步骤C3中的Cor,计算结果集Cor中word的加权值,得到语料库集:CorTF={corTF1, corTF2, corTF3, corTF4, corTF5, corTF6}, corTF1={(word1,1, tf1,1), (word1,2, tf1,2), …, (word1,u, tf1,u)}, corTF2={(word2,1, tf2,1), (word2,2, tf2,2), …, (word2,v, tf2,v)}, corTF3={(word3,1, tf3,1), (word3,2, tf3,2), …, (word3,w, tf3,w)}, corTF4={(word4,1, tf4,1), (word4,2, tf4,2), …, (word4,x, tf4,x)}, corTF5={(word5,1, tf5,1), (word5,2, tf5,2), …, (word5,y, tf5,y)}, corTF6={(word6,1, tf6,1), (word6,2, tf6,2), …, (word6,z, tf6,z)};
[0158] 步骤C5、定义simwordg为单个六类语料库中相同的词语,其中,变量g为六类语料库拥有相同词语的个数;依据步骤C3中的Cor,计算SimWord=Word1∩Word2∩Word3∩Word4∩Word5∩Word6,得到:SimWord={simword1, simword2, …, simwordg};
[0159] 步骤C6、将CorTF赋值给Variety,将SimWord赋值给Similarity,Variety与Similarity来自于步骤F1;
[0160] 步骤C7、执行步骤F1到步骤F10;
[0161] 步骤C8、将Variety赋值给CorTF11,Variety来自于步骤F10,得到完善后的语料库集:CorTF11={corTF11, corTF21, corTF31, corTF41, corTF51, corTF61}, corTF11={(word1,1, tf1,1), (word1,2, tf1,2), …, (word1,u, tf1,u)}, corTF21={(word2,1, tf2,1), (word2,2, tf2,2), …, (word2,v, tf2,v)}, corTF31={(word3,1, tf3,1), (word3,2, tf3,2), …, (word3,w, tf3,w)}, corTF41={(word4,1, tf4,1), (word4,2, tf4,2), …, (word4,x, tf4,x)}, corTF51={(word5,1, tf5,1), (word5,2, tf5,2), …, (word5,y, tf5,y)}, corTF61={(word6,1, tf6,1), (word6,2, tf6,2), …, (word6,z, tf6,z)};
[0162] 如附图4,本发明建立第二阶段科学类词汇语料库流程步骤D,从步骤D1到步骤D7:
[0163] 步骤D1、定义CorTF2为医学科学与生命科学语料库集,依据步骤C4中语料库集CorTF的医学科学语料库和生命科学语料库,得到:CorTF2={corTF1, corTF2}, corTF1={(word1,1, tf1,1), (word1,2, tf1,2), …, (word1,u, tf1,u)}, corTF2={(word2,1, tf2,1), (word2,2, tf2,2), …, (word2,v, tf2,v)};
[0164] 步骤D2、定义变量min,将MIN(u, v)结果赋值给min,MIN()函数为取最小值,统一CorTF2中医学科学与生命科学语料库词语数目,将corTF1和corTF2两个语料库按加权值进行降序排列,保留两个语料库中前min个词语;得到:CorTF22={corTF12, corTF22}, corTF12={(word1,1, tf1,1), (word1,2, tf1,2), …, (word1,min, tf1,min)}, corTF22={(word2,1, tf2,1), (word2,2, tf2,2), …, (word2,min, tf2,min)};
[0165] 步骤D3、定义Word12为医学科学词集,定义Word22为生命科学词集,抽取步骤D2中的结果集CorTF22中的词语,形成词集:CorWord22={Word12, Word22}, Word12={word1,1, word1,2, …, word1,min}, Word22={word2,1, word2,2, …, word1,min};
[0166] 步骤D4、定义simwordG为两类语料库中相同的词语,其中,变量G为两类语料库拥有相同词的个数,计算两个语料库的相同的词语SimWord2=Word12∩Word22,得到:SimWord2={simword1, simword2, …, simwordG};
[0167] 步骤D5、将CorTF22赋值给Variety,将SimWord2赋值给Similarity,Variety与Similarity来自于步骤F1;
[0168] 步骤D6、执行步骤F1到步骤F10;
[0169] 步骤D7、将Variety赋值给CorTF23,Variety来自于步骤F10,得到完善后的语料库集:CorTF23={corTF13, corTF23}, corTF13={(word1,1, tf1,1), (word1,2, tf1,2),…, (word1,min, tf1,min)}, corTF23={(word2,1, tf2,1), (word2,2, tf2,2), …, (word2,min, tf2,min)};
[0170] 如附图5,本发明建立第三阶段科学类词汇语料库流程步骤E,从步骤E1到步骤E7:
[0171] 步骤E1、定义CorTF3为地球科学、数学物理科学和化学科学语料库集,依据步骤C4,得到语料库集CorTF3中的地球科学语料库、数学物理科学语料库和化学科学语料库:CorTF3={corTF3, corTF4, corTF5}, corTF3={(word3,1, tf3,1), (word3,2, tf3,2), …, (word3,w, tf3,w)}, corTF4={(word4,1, tf4,1), (word4,2, tf4,2), …, (word4,x, tf4,x)}, corTF5={(word5,1, tf5,1), (word5,2,t f5,2), …, (word5,y, tf5,y)};
[0172] 步骤E2、定义变量min2,将MIN(w, x, y)赋值给min2,统一CorTF3中的地球科学、数学物理科学和化学科学语料库三个语料库词语数目,将corTF3、corTF4和corTF5三个语料库按加权值降序排列,保留三个语料库中前min2个词语;得到:CorTF32={corTF32, corTF42, corTF52}, corTF32={(word3,1, tf3,1), (word3,2, tf3,2), …, (word3,min2, tf3,min2)}, corTF42={(word4,1, tf4,1),(word4,2, tf4,2), …, (word4,min2, tf4,min2)}, corTF52={(word5,1, tf5,1), (word5,2, tf5,2), …, (word5,min2, tf5,min2)};
[0173] 步骤E3、定义Word32为地球科学词集,Word42为数学物理科学词集,Word52为化学科学词集,抽取步骤E2中CorTF32的词语,形成词集:CorWord32={Word32, Word42}, Word32={word3,1, word3,2, …, word3,min2}, Word42={word2,1, word4,2, …, word4,min2}, Word52={word5,1, word5,2, …, word5,min2};
[0174] 步骤E4、定义simwordF为CorTF3中的地球科学、数学物理科学和化学科学三类语料库中相同的词语,其中,变量F为三类语料库拥有相同词的个数,依据步骤E3,计算三类语料库的相同的词语SimWord3=Word32∩Word42∩Word52,得到:SimWord3={simword1, simword2, …, simwordF};
[0175] 步骤E5、将CorTF32赋值给Variety,将SimWord3赋值给Similarity,Variety与Similarity来自于步骤F1;
[0176] 步骤E6、执行步骤F1到步骤F10;
[0177] 步骤E7、将Variety赋值给CorTF23,Variety来自于步骤F10,得到完善后的语料库集:CorTF33={corTF33, corTF43, corTF53}, corTF33={(word3,1, tf3,1), (word3,2, tf3,2), …, (word3,min2, tf3,min2)}, corTF43={(word4,1, tf4,1), (word4,2, tf4,2), …, (word4,min2, tf4,min2)}, corTF53={(word5,1, tf5,1), (word5,2, tf5,2), …, (word5,min2, tf5,min2)};
[0178] 如附图6,本发明科学类词汇语料库完善步骤F,从步骤F1到步骤F10:
[0179] 步骤F1、定义Variety={V1, V2, …, VN},Similarity={S1, S2, …, SR},其中,变量N为Variety中语料库个数,变量R为Similarty集合中元素的个数;定义循环变量i,用来遍历Similarity,其中,i∈[1, R];定义循环变量j,用来遍历Variety,其中,j∈[1, N];定义循环变量h, 用来遍历Variety中语料库Vj,赋值i=1,j=1,h=1;
[0180] 步骤F2、如果j<=N,那么就执行步骤F3,否则执行步骤F10;
[0181] 步骤F3、如果i<=R,那么就执行步骤F4,否则执行步骤F8;
[0182] 步骤F4、如果wordj,h=simwordi,就将执行步骤F5,否则执行步骤F6;
[0183] 步骤F5、定义常量T为加权值控制常量,将语料库Vj中(wordj,h, tfj,h)更新为:(wordj,h, tfj,h*T),执行步骤F7;
[0184] 步骤F6、h=h+1,执行步骤F4;
[0185] 步骤F7、i=i+1,执行步骤F3;
[0186] 步骤F8、定义变量k为Vj语料库中的词语对应加权值的个数,当j=1时,k=u;当j=2时,k=v;当j=3时,k=w;当j=4时,k=x;当j=5时,k=y;当j=6时,k=z;得到Vj语料库:corTFj,h={(wordj,1, tfj,1), (wordj,2, tfj,2), …, (wordj,k, tfj,k)},其中,有R个(wordj,h, tfj,h=tfj,h*T);
[0187] 步骤F9、j=j+1,执行步骤F2;
[0188] 步骤F10、得到完善后的集合:Variety。
[0189] 定义T为加权值控制常量,取值为0.001,用于缩小语料库中相同词语的加权值,所以,步骤F5和步骤F8中加权值控制常量T的取值为0.001。
[0190] 为了更好地说明本方法的有效性,利用从Web网页上挖取6类不同的科学类新闻,这些科学类新闻由2012年至2015年产生,总共41316篇,其中生命科学类新闻有8970篇、医学科学类新闻有12976篇、地球科学类新闻有7951篇、数学物理科学类新闻有4443篇、化学科学类新闻有4124篇、信息科学类新闻有2852篇;从每一种文章中随机抽取2500篇科学类新闻标题文本作为训练数据,共15000篇。测试数据为从抽出训练数据剩下的科学类新闻中抽取各类新闻的30%,即测试数据包含生命科学类新闻1941篇,医学类新闻3142篇,地球科学类新闻1635篇,数学物理类新闻582篇,化学类新闻487篇,信息类新闻105篇。实验结果生命科学类新闻分类准确率为81.60%,医学科学类新闻分类准确率为71.36%,地球科学类新闻分类准确率为80.62%,数学物理类新闻分类准确率为76.24%,化学类新闻分类准确率为68.74%,信息类新闻分类准确率为74.29%。
[0191] 本发明可与计算机系统结合,从而自动完成科学类新闻的分类。
[0192] 本发明创造性的提出了通过新闻标题,使用多层次多分类方法对科学类新闻进行分类,将科学类新闻分为生命科学、医学科学、地球科学、数学物理科学、化学科学、信息科学六类,多层次为多层对新的科学类新闻文本分类进行判断其类别,先判断该新闻文本是否为信息类科学类新闻,如果是则结束,否则判断该新闻文本是否为生命科学类或医学科学类新闻,或者为地球科学类、数学物理科学类和化学科学类新闻三者之一,前者进一步再判断为生命科学类新闻,还是医学科学类新闻,后者再进一步判断为地球科学类、数学物理类或化学科学类新闻中的一类;本发明创造性的解决了Web网页上对科学类新闻详细分类的问题,提高了Web网页上科学类新闻分类后的使用价值。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈