一种基于组合特征加权的科技文献标注精简研究结论的方法流程与流程

文档序号:11234108阅读:256来源:国知局

本发明新型涉及基于组合特征加权的科技文献标注精简研究结论的方法流程技术领域,具体为一种基于组合特征加权的科技文献标注精简研究结论的方法流程。



背景技术:

伴随着科学技术的飞速发展,文献在各个学科及各种生活、生产领域总均有广泛应用,且数量巨大,文献的精简的研究结论作为一种简明扼要的信息归结内容,亦广泛存在于文献的原始语句中,而从文献中抽取出这些句子实际上仍是基于人工阅读和标注,这就带来很大的劳动量,不适合海量的文献的信息提取,而目前研究中对文献研究结论提出的提取方法,多数基于文本分类的文章,有基于文本情感分析,文本相似度检测、基本利用规则抽、统计机器学习方法等进行文本处理科技术语,命名实体识别等,但对于期刊中文文本来讲,其规则复杂性太高,而单独基于统计机器学习的方法对中文内容识别其效果依赖于特征的选取,这给实际提取本发明基于期刊论文等资源,从内容碎片化角度上将文章碎片化为句子级别,以句子为单位来抽取每篇文章的研究结论,作为每篇文章的得到的实际结论。

发明新型内容

本发明新型的目的在于提供一种基于组合特征加权的科技文献标注精简研究结论的方法流程,以解决上述背景技术中提出的问题。

为实现上述目的,本发明新型提供如下技术方案:一种基于组合特征加权的科技文献标注精简研究结论的方法流程,其包括分类抽取流程,既是基于训练语料,做数据前清洗,然后分句获得句子和类标签,句子特征选择进行特征化,然后训练分类器,评价分类器,对训练的分类器进行保存序列化,在应用阶段,获得应用文本,对其同样数据清洗,分句,然后特征化(应用 阶段chi词特征是使用训练阶段的chi词),加载训练分类器对应用文本进行研究结论预测,之后对预测的结果句子人工审核,进行后数据清洗处理,然后将这些清洗规则加入到原有程序中,迭代实验,具体的步骤如下:

步骤一:前数据清洗模块

由于句子本身会有乱码公式表格英文字母数字等,需要对句子进行预处理去掉这些脏东西,在这里需要数据前清洗,阅读大量待处理的文本,总结出的文本前处理特点,结合其特点采用规则处理清洗;

步骤二:训练阶段模块

获取训练样本的全文文本,这些训练样本全部经过人工标注,即对全文字段中的全部内容(这里指的是正文的全部内容,不包括参考文献等),按照句子级别(句号)标出属于研究结论的句子,非研究结论的句子不予标注,一篇文章可以标注多个结论句子,经过程序处理获得全篇的句子(保持原文句子顺序)和对应的标签属于研究结论的句子对应的标签为正例1,不属于研究结论的句子对应标签为反例0,假如一篇被标注的文章有50句子,标记为研究结论的5句,其余45句是非研究结论,那么正例就是5句话,反例45句话,这样就获得了句子样本数据,假如有10篇标注的文章,那么按照文章的顺序,每篇文章分50个句子,那么就是500个句子,具体的,训练过程的算法为:

(1)获取样本

获取训练样本文句子记录为集合sens={sens(i)},对应的句子训练标签集合为labels={labels(i)},句子总数为n,各个句子表示为sens(i),其中1=<i<=n,要求n尽可能大,n>=10000,labels(i)的取值为1或0两种取值,其中1代表本句子是研究结论句,为正例表示,0代表本句子是非研究结论句子,为反例表示;

(2)对训练语料sens(i)句子进行特征化表示,句子特征化这里使用了以下特征:人工标记的标识词特征1个、chi词频特征200个、句子所在文章级别的相关特征4个、句子级别的相关特征10个、词语级别的相关特征3 个、句序特征1个、句序比特征1个、句子结论段特征4个,一共224个特征,可以表示为f={f1,f2,f3……fn},fi表示每个特征n为224,f0到f224一共224个特征,每个句子都要提取224个特征;

步骤三:选取分类器训练与评价模块

(31)样本类平衡处理,这里分类属于二分类问题,由于样本中正例(研究结论句子很少),反例(非研究结论句子很多)造成样本分布不均匀,对于这些不均匀样本直接采用分类的话会影响分类效果,所以需要进行样本类平衡处理,有三种办法可以处理:1增加少数类样本数量,2减少多数类样本数量,3增加少数类样本的权重比例。可以根据需要采用任何一种方法处理;

(32)训练分类器,使用常用的分类器decisiontree、svm、gaussiannb、randomforest、gradientboosting等分别对输入特征矩阵f和label训练,可以选用5折交叉验证,(80%数据训练,20%的数据来测试)来平均训练的分类器,某些情况下还要进行分类器的参数调优;

(33)评价分类器,评价参数主要是预测标签的准确率,召回率,f值,a:正例测试文档被正确分类为该类的数量,b:负例测试文档被错误分类为属于该类的数量,c:正例测试文档被错误分类为不属于该类的数量,d:负例测试文档被正确分类为不属于该类的数量,准确率precision=a/(a+b),召回率recall=a/(a=c),f=(2*precision*recall)/(precision+recall),选择f值较大的分类器作为生成的模型,如果效果不太理想,需要调整分类器参数,选择好分类器之后,将训练得到的这个分类器序列化到硬盘上保存起来,当需要应用测试的时候将其加载到内存即可进行应用预测;

步骤四:应用分类器预测研究结论标签模块

将待预测的rec文本全文字段的正文部分经过程序分句提取出对应的特征矩阵,{f0,f1......f223}这种形式,然后可以加载训练保存的分类器模型进行预测出对应的研究结论标签。

优选的,所述步骤二中,对训练语料sens(i)句子进行特征化表示,其中各特征的提取细节步骤为:

第一步,人工标记的标识词特征1个,人工标识的短语句子集合记录为tops={tops(i),},tops(i)为短语集合中的第i个短语,针对sens中的sens(i),看当前的sens(i)能包含几个tops(i),记录特征为f0,表示为当前句子包含多少个tops(i)f0=当期句子sens(i)包含多少个tops(i),

第二步,chi词频特征200个:对各个句子分词后的词语是否包含对应的chi词语(200个)建立chi词频特征,记录为f1,f2,,,,,f200,这里分两个步骤,步骤1为如何构建200个chi词语,步骤2为句子分词后的词语在对应的200个chi词语位置上是否出现,出现的话此位置特征为1,不出现特征为0,

第三步,句子所在文章的级别相关特征4个,这里主要有本文章的句子总个数,影响因子,页数,作者个数,关键字的个数,但是句子总个数需要分句程序来计算。特征记录为{f影响因子,f页数,f作者个数,f关键字个数},f201=当前句子sens(i)所在文章的影响因子数,f202=当前句子sens(i)所在文章的总页数是多少,f203=当前句子sens(i)所在文章的作者个数,f204=当前句子sens(i)所在文章的关键词个数是几个第四步,句子级别相关特征10个,句子相关特征主要有本句子长度,句子是否有引用别的句子(参考文献),句子中文字符个数,句子其他字符个数,逗号个数,分号个数,引用号个数,顿号个数,冒号个数,当前句子中文字数占句子所在文章的全部句子的中文字数比例,结论段句子中文字数占全文总句子中的中文词个数比例,f205=当前句子sens(i)的长度,f206=当前句子sens(i)是否引用别的文章,引用为1,否则为0,f207=当前句子sens(i)的中文字符个数,f208=当前句子sens(i)的非中文字符个数,f209=当前句子sens(i)的逗号个数,f210=当前句子sens(i)的分号个数,f211=当前句子sens(i) 的引用号个数,f212=当前句子sens(i)的顿号个数,f213=当前句子sens(i)的冒号个数,f214={(当前句子sens(i)的中文字符个数,分母>0)/(当前句子sens(i)所在文章全部句子中文字符个数,分母为0)},

第五步,词语级别相关特征3个,这里主要是句子分词后与标题词共同出现的词个数(去停用词),与文章定义的关键词共现的个数,句子分次后的词语与chi的200个词共现的个数f215=当前句子sens(i)分词去停用词后与标题分词后二者共同出现词个数,f216=当前句子sens(i)分词去停用词后与文章定义的关键词共同出现词个数,f217=当前句子sens(i)分词去停用词后与chi200个词共同出现词个数,

第六步,句序特征1个,这里是指一个句子在本篇文章所有句子的句序,比如一篇文章有100句,当前第49句的句序就是49,特征记录为218=当前句子sens(i)在所在问所有句子的句序,

第七步,句序比特征1个,这里是指一个句子在本篇文章所有句子的句序比例,比如一篇文章有100句,当前第49句的句序就是0.49,也就是百分之49,特征记录为f219={(当前句子sens(i)的句序)/(当前句子sens(i)所在文章的所有句子的总个数)},

第八步,结论段特征4个,结论段特征是基于某些算法或者规则得到一篇文章哪些句子开始的段落属于结论段。属于结论段的句子的开始句序到结尾都属于结论段。主要有:当前句子是否是处于结论段,是1,否0;当前句子结论段的处于结论段的据序号,初始结论段据序位0,后续依次加1;当前句子处于结论段是通过句子开头关键词匹配找到;当前句子处于结论段是通过句子中间关键词找到的,记录为f220=当前句子sens(i)是否为与结论段,是1,否0,f221=当前句子sens(i)在所在结论段序,结论段开始1,后续句子依次加1,f222=当前句子sens(i)处于结论段是通过句子开头关键词找到,为1,否则为0,以上f0到f223就是224个句子特征化后的特征, 每个句子也对应一个label特征,标记这个句子是否是研究结论句子,将训练语料中所有字符的特征化结果f={f1,f2,f3……fn}特征和对应的类别表示结果label作为输入数据,进行训练,得到训练后的研究结论提取模型m。

优选的,所述在第二步中,构建chi词语时,首先针对sens中的所有句子进行分词,分词以后形成词集合,记录为words_all={words(j)},wrods(j)是words_all中的第j个词语,针对每个words(j)计算chi,包含words(j)同时属于正例的句子总数为a,包含words(j)同时属于反例的句子总数为b,不包含words(j)同时属于正例的句子总数为c,不包含words(j)同时属于反例的句子总数为d,正例句子总数为a+b,反例句子总数为b+d,包含word(j)句子总数为a+b,不包含words(j)的句子总数为c+d,chi=(n(ad-bc)*(ad-bc))/{(a+b)(c+d)(a+c)(d+b)}其中n=a+b+c+d为样本容量,一般我们不关心具体数值,只关心大小顺序,可简化计算chi=chi(words(j),正例)=(n(ad-bc)*(ad-bc))/{(a+b)(c+d)},这样就获得所有句子分词后的词集合为words_all={words(j)},每个words(j)对应一个chi值,记录为词典dict_words_all={words(j);chi(j)},,words(j)为words_all集合中的第j个词语,它对应的chi值记录为chi(j),保存各个词语及其它的chi值,选择chi大的前200个words(j)作为特征词记录集合为chi200={feat_chi_words(j)},其中1=<j<=200,最后chi词频特征化200个chi词排成200列,当前句子sens(i)的分词结果集合记录为words_sens_currents,每个属于chi200的词为feat_chi_words(j),如果feat_chi_words(j)出现在words_sens_cuurets中,则当前feat_chi_words(j)处的特征记录为1,否则为0,fj=1或者0,如果当前句子分词出现chi(j)词语,为1否则0,其中j范围1到200。

与现有技术相比,本发明新型的有益效果是:本发明基于将文章碎片化为背景、目的、研究对象、研究内容、研究方法、研究结论等元数据,结合 规则和机器学习方法二者并用,建立了基于文章、段落、句子、词、位置等特征,采用分类和规则结合方法、主要从句子级别提取一篇文章的结论问题,另外还在一次分类的基础上研究试验了二次分类,在一次分类评判的结果语料上,进行再次建模分类实验测试,在实际应用中更贴近问题的本质,从而有很高的发明效果。

附图说明

图1为本发明新型的方法流程图。

具体实施方式

下面将结合本发明新型实施例中的附图,对本发明新型实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明新型一部分实施例,而不是全部的实施例。基于本发明新型中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明新型保护的范围。

实施例一

一种基于组合特征加权的科技文献标注精简研究结论的方法流程,包括分类抽取流程,既是基于训练语料,做数据前清洗,然后分句获得句子和类标签,句子特征选择进行特征化,然后训练分类器,评价分类器,对训练的分类器进行保存序列化,在应用阶段,获得应用文本,对其同样数据清洗,分句,然后特征化(应用阶段chi词特征是使用训练阶段的chi词),加载训练分类器对应用文本进行研究结论预测,之后对预测的结果句子人工审核,进行后数据清洗处理,然后将这些清洗规则加入到原有程序中,迭代实验,具体的步骤如下:

步骤一:前数据清洗模块

由于句子本身会有乱码公式表格英文字母数字等,需要对句子进行预处理去掉这些脏东西,在这里需要数据前清洗,阅读大量待处理的文本,总结 出的文本前处理特点,结合其特点采用规则处理清洗;

步骤二:训练阶段模块

获取训练样本的全文文本,这些训练样本全部经过人工标注,即对全文字段中的全部内容(这里指的是正文的全部内容,不包括参考文献等),按照句子级别(句号)标出属于研究结论的句子,非研究结论的句子不予标注,一篇文章可以标注多个结论句子,标注形式可以如使用xml标注,<研究结论>这标签中间是属于研究结论句子</研究结论>经过程序处理获得全篇的句子(保持原文句子顺序)和对应的标签属于研究结论的句子对应的标签为正例1,不属于研究结论的句子对应标签为反例0,假如一篇被标注的文章有50句子,标记为研究结论的5句,其余45句是非研究结论,那么正例就是5句话,反例45句话,这样就获得了句子样本数据,假如有10篇标注的文章,那么按照文章的顺序,每篇文章分50个句子,那么就是500个句子,具体的,训练过程的算法为:

(1)获取样本

获取训练样本文句子记录为集合sens={sens(i)},对应的句子训练标签集合为labels={labels(i)},句子总数为n,各个句子表示为sens(i),其中1=<i<=n,要求n尽可能大,n>=10000,labels(i)的取值为1或0两种取值,其中1代表本句子是研究结论句,为正例表示,0代表本句子是非研究结论句子,为反例表示;

(2)对训练语料sens(i)句子进行特征化表示,句子特征化这里使用了以下特征:人工标记的标识词特征1个、chi词频特征200个、句子所在文章级别的相关特征4个、句子级别的相关特征10个、词语级别的相关特征3个、句序特征1个、句序比特征1个、句子结论段特征4个,一共224个特征,可以表示为f={f1,f2,f3……fn},fi表示每个特征n为224,f0到f224一共224个特征,每个句子都要提取224个特征,步骤二中,对训练语料sens(i)句子进行特征化表示,其中各特征的提取细节步骤为:

第一步,人工标记的标识词特征1个,人工标识的短语句子集合记录为tops={tops(i),},tops(i)为短语集合中的第i个短语,针对sens中的sens(i),看当前的sens(i)能包含几个tops(i),记录特征为f0,表示为当前句子包含多少个tops(i)f0=当期句子sens(i)包含多少个tops(i),

第二步,chi词频特征200个对各个句子分词后的词语是否包含对应的chi词语(200个)建立chi词频特征,记录为f1,f2,,,,,f200,这里分两个步骤,步骤1为如何构建200个chi词语,步骤2为句子分词后的词语在对应的200个chi词语位置上是否出现,出现的话此位置特征为1,不出现特征为0,所述在第二步中,构建chi词语时,首先针对sens中的所有句子进行分词,分词以后形成词集合,记录为words_all={words(j)},wrods(j)是words_all中的第j个词语,针对每个words(j)计算chi,包含words(j)同时属于正例的句子总数为a,包含words(j)同时属于反例的句子总数为b,不包含words(j)同时属于正例的句子总数为c,不包含words(j)同时属于反例的句子总数为d,正例句子总数为a+b,反例句子总数为b+d,包含word(j)句子总数为a+b,不包含words(j)的句子总数为c+d,chi=(n(ad-bc)*(ad-bc))/{(a+b)(c+d)(a+c)(d+b)}其中n=a+b+c+d为样本容量,一般我们不关心具体数值,只关心大小顺序,可简化计算chi=chi(words(j),正例)=(n(ad-bc)*(ad-bc))/{(a+b)(c+d)},这样就获得所有句子分词后的词集合为words_all={words(j)},每个words(j)对应一个chi值,记录为词典dict_words_all={words(j);chi(j)},,words(j)为words_all集合中的第j个词语,它对应的chi值记录为chi(j),保存各个词语及其它的chi值,选择chi大的前200个words(j)作为特征词记录集合为chi200={feat_chi_words(j)},其中1=<j<=200,最后chi词频特征化200个chi词排成200列,当前句子sens(i)的分词结果集合记录为words_sens_currents,每个属于chi200的词为feat_chi_words(j),如果 feat_chi_words(j)出现在words_sens_cuurets中,则当前feat_chi_words(j)处的特征记录为1,否则为0,fj=1或者0,如果当前句子分词出现chi(j)词语,为1否则0,其中j范围1到200,

第三步,句子所在文章的级别相关特征4个,这里主要有本文章的句子总个数,影响因子,页数,作者个数,关键字的个数,但是句子总个数需要分句程序来计算。特征记录为{f影响因子,f页数,f作者个数,f关键字个数},f201=当前句子sens(i)所在文章的影响因子数,f202=当前句子sens(i)所在文章的总页数是多少,f203=当前句子sens(i)所在文章的作者个数,f204=当前句子sens(i)所在文章的关键词个数是几个,

第四步,句子级别相关特征10个,句子相关特征主要有本句子长度,句子是否有引用别的句子(参考文献),句子中文字符个数,句子其他字符个数,逗号个数,分号个数,引用号个数,顿号个数,冒号个数,当前句子中文字数占句子所在文章的全部句子的中文字数比例,结论段句子中文字数占全文总句子中的中文词个数比例,f205=当前句子sens(i)的长度,f206=当前句子sens(i)是否引用别的文章,引用为1,否则为0,f207=当前句子sens(i)的中文字符个数,f208=当前句子sens(i)的非中文字符个数,f209=当前句子sens(i)的逗号个数,f210=当前句子sens(i)的分号个数,f211=当前句子sens(i)的引用号个数,f212=当前句子sens(i)的顿号个数,f213=当前句子sens(i)的冒号个数,f214={(当前句子sens(i)的中文字符个数,分母>0)/(当前句子sens(i)所在文章全部句子中文字符个数,分母为0)},

第五步,词语级别相关特征3个,这里主要是句子分词后与标题词共同出现的词个数(去停用词),与文章定义的关键词共现的个数,句子分次后的词语与chi的200个词共现的个数f215=当前句子sens(i)分词去停用词后与标题分词后二者共同出现词个数,f216=当前句子sens(i)分词去停用词 后与文章定义的关键词共同出现词个数,f217=当前句子sens(i)分词去停用词后与chi200个词共同出现词个数,

第六步,句序特征1个,这里是指一个句子在本篇文章所有句子的句序,比如一篇文章有100句,当前第49句的句序就是49,特征记录为218=当前句子sens(i)在所在问所有句子的句序,

第七步,句序比特征1个,这里是指一个句子在本篇文章所有句子的句序比例,比如一篇文章有100句,当前第49句的句序就是0.49,也就是百分之49,特征记录为f219={(当前句子sens(i)的句序)/(当前句子sens(i)所在文章的所有句子的总个数)},

第八步,结论段特征4个,结论段特征是基于某些算法或者规则得到一篇文章哪些句子开始的段落属于结论段。属于结论段的句子的开始句序到结尾都属于结论段。主要有:当前句子是否是处于结论段,是1,否0;当前句子结论段的处于结论段的据序号,初始结论段据序位0,后续依次加1;当前句子处于结论段是通过句子开头关键词匹配找到;当前句子处于结论段是通过句子中间关键词找到的,记录为f220=当前句子sens(i)是否为与结论段,是1,否0,f221=当前句子sens(i)在所在结论段序,结论段开始1,后续句子依次加1,f222=当前句子sens(i)处于结论段是通过句子开头关键词找到,为1,否则为0,以上f0到f223就是224个句子特征化后的特征,每个句子也对应一个label特征,标记这个句子是否是研究结论句子,将训练语料中所有字符的特征化结果f={f1,f2,f3……fn}特征和对应的类别表示结果label作为输入数据,进行训练,得到训练后的研究结论提取模型m;

步骤三:选取分类器训练与评价模块

(31)样本类平衡处理,这里分类属于二分类问题,由于样本中正例(研究结论句子很少),反例(非研究结论句子很多)造成样本分布不均匀,对于这些不均匀样本直接采用分类的话会影响分类效果,所以需要进行样本类平 衡处理,有三种办法可以处理:1增加少数类样本数量,2减少多数类样本数量,3增加少数类样本的权重比例。可以根据需要采用任何一种方法处理;

(32)训练分类器,使用常用的分类器decisiontree、svm、gaussiannb、randomforest、gradientboosting等分别对输入特征矩阵f和label训练,可以选用5折交叉验证,(80%数据训练,20%的数据来测试)来平均训练的分类器,某些情况下还要进行分类器的参数调优;

(33)评价分类器,评价参数主要是预测标签的准确率,召回率,f值,a:正例测试文档被正确分类为该类的数量,b:负例测试文档被错误分类为属于该类的数量,c:正例测试文档被错误分类为不属于该类的数量,d:负例测试文档被正确分类为不属于该类的数量,准确率precision=a/(a+b),召回率recall=a/(a=c),f=(2*precision*recall)/(precision+recall),选择f值较大的分类器作为生成的模型,如果效果不太理想,需要调整分类器参数,选择好分类器之后,将训练得到的这个分类器序列化到硬盘上保存起来,当需要应用测试的时候将其加载到内存即可进行应用预测;

步骤四:应用分类器预测研究结论标签模块

将待预测的文本全文字段的正文部分经过程序分句提取出对应的特征矩阵,{f0,f1......f223}这种形式,然后可以加载训练保存的分类器模型进行预测出对应的研究结论标签。

尽管已经示出和描述了本发明新型的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明新型的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明新型的范围由所附权利要求及其等同物限定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1