CN113961702A - 一种文章标题层次结构的提取方法 - Google Patents
一种文章标题层次结构的提取方法 Download PDFInfo
- Publication number
- CN113961702A CN113961702A CN202111242645.2A CN202111242645A CN113961702A CN 113961702 A CN113961702 A CN 113961702A CN 202111242645 A CN202111242645 A CN 202111242645A CN 113961702 A CN113961702 A CN 113961702A
- Authority
- CN
- China
- Prior art keywords
- title
- word
- titles
- article
- paragraph
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 14
- 238000013145 classification model Methods 0.000 claims abstract description 16
- 239000013598 vector Substances 0.000 claims description 69
- 230000011218 segmentation Effects 0.000 claims description 27
- 238000013528 artificial neural network Methods 0.000 claims description 25
- 238000010606 normalization Methods 0.000 claims description 5
- 238000002372 labelling Methods 0.000 claims description 4
- 230000004913 activation Effects 0.000 claims description 3
- 150000001875 compounds Chemical class 0.000 description 9
- 238000010801 machine learning Methods 0.000 description 6
- 238000013527 convolutional neural network Methods 0.000 description 4
- 238000013136 deep learning model Methods 0.000 description 4
- 238000003058 natural language processing Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000000605 extraction Methods 0.000 description 3
- 238000010276 construction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000008451 emotion 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/211—Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Molecular Biology (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Databases & Information Systems (AREA)
- Machine Translation (AREA)
Abstract
本发明公开了一种文章标题层次结构的提取方法,首先分别构造了标题判别模型、标题之间关系分类模型,然后将具体文章示例输入标题判别模型得到文章标题,将文章标题输入标题之间关系分类模型得到标题之间的关系,最后根据标题之间的关系构造标题的层次结构,本发明的有益效果是在python读取文章的时候,对读取不到序号的标题,构造判断模型判断标题跟其他标题的关系,对标题层次结构信息进行识别。
Description
技术领域
本发明属于自然语言处理技术领域,尤其涉及一种文章标题层次结构的提取方法。
背景技术
自然语言处理是以语言为对象,利用计算机技术来分析、理解和处理自然语言的一门学科,其任务包括词法分析、句法分析、语义分析、信息抽取等。自然语言处理用于句子分析时通常用于情感分析、文本相似度等,对于句子之间的关系分析鲜少提及。事实上,随着机器对自然语言理解的深入,自然语言处理的应用领域也会更加广泛,为了满足更多的应用需求,机器对句子之间关系的提取具有一定的重要意义。
目前文章标题层次结构的识别属于比较成熟的技术,许多文字编辑软件(比如:word、PDF、HTML等)都自带格式信息,作者在撰写文章时也会通过添加标题序号、采用不同字体大小等突出标题和段落的层次,使得计算机可以识别;但是,在实际操作中,我们发现,使用python等工具在读取文章的格式信息时会出现格式丢失的情况,导致机器不能识别出正确的文章标题的层次结构信息,影响后续的应用,对此,目前的现有技术并没有什么好的办法来避免这一情况。
发明内容
为解决上述技术问题,本发明提供了一种文章标题层次结构的提取方法,在python读取文章的时候,对读取不到序号的标题,构造判断模型判断标题跟其他标题的关系,对标题层次结构信息进行识别。
本发明所述的一种文章标题层次结构的提取方法,其步骤为:
步骤1、构建标题判别模型,判断文章中某段落是否为标题;
步骤2、构建标题之间的关系分类模型,得到标题之间的分类结果;
步骤3、根据标题之间的分类结果提取标题的层次关系。
进一步的,构建标题判别模型的步骤为:
步骤1-1、构建某一文章数据集{d1,d2,…,dn},其中n为文章数量;
步骤1-2、假设第i篇文章di存在m个段落{p1,p2,…,pm},对其中第j个段落pj人工标注段落标签,如果是标题标注为1,非标题标注为0;
步骤1-3、使用python文档读取工具读取文章di,得到第j段的字体大小为SIZEj、第j段的长度大小为LENGTHj;
步骤1-4、使用hanlp分词工具对文章di的第j段进行索引分词处理,分词结果为列表[s1s2…sh],其中h为第j段分成的单词数量,si为第j段经过索引分词处理后得到的第i个单词、该单词词性、该单词在段落中的偏移量组成的元素,si的结构为:“单词/单词词性/单词在段落中的偏移量”;
步骤1-5、使用word2vec算法计算si的词向量,得到si的词向量序列veci,则pj所有单词的词向量序列为{vec1,vec2,…,vech};
步骤1-6、重复步骤1-2至步骤1-5,得到文章数据集{d1,d2,…,dn}中每一篇文章的所有段落的字体大小、长度大小、所有词向量组成的向量序列;
步骤1-7、使用sklearn工具包中的svm算法,将文章数据集{d1,d2,…,dn}中所有文章每个段落的字体大小、长度大小、所有词向量组成的向量序列和段落标签作为算法的输入,训练得到标题判别模型。
进一步的,构建标题之间的关系分类模型的步骤为:
步骤2-1、将得到的文章di中所有标题组成集合为{t1,t2,…,tr},其中r为标题的数量;
步骤2-2、对文章di所有的标题,两两标注两个标题之间的关系,其中,定义文章标题之间的关系包括:包含、并列、无关,人工标注标题之间的关系,文章上级标题于对所属的下级标题关系标注为“包含”,同一上级标题下的同级标题关系标注为“并列”,非上述情况的标题之间关系标注为“无关”;
步骤2-3、对标题集合{t1,t2,…,tr}中任意两个标题ti和tj,使用hanlp分词工具分别对标题ti和tj进行分词,得到单词列表wti和wt;
步骤2-4、使用word2vec算法计算单词列表wti、wtj中每个单词的词向量,得到标题ti、tj中所有单词的词向量组成的序列sti、stj;
步骤2-5、使用keras工具包中的lstm神经网络算法,将词向量序列sti、stj分别输入lstm神经网络中,输出标题ti的特征向量u及tj的特征向量v;
步骤2-6、使用keras工具包中的Batch normalize算法,将特征向量u和特征向量v分别输入Batch normalize算法进行归一化处理,得到向量u’,v’;
步骤2-7、使用sklearn工具包中的余弦相似度算法计算向量u’、v’的余弦相似度,得到u’与v’的余弦相似度的值cos similarity(u’,v’);
步骤2-8、计算向量u’-v’的绝对值,得到向量abs(u’-v’);
步骤2-9、将向量u’和v’、向量abs(u’-v’)、cos similarity(u’,v’)拼接形成向量[u’,v’,abs(u’-v’),cos similarity(u’,v’)];
步骤2-10、使用keras工具包中的全连接层dense,激活函数为softmax,将向量[u’,v’,abs(u’-v’),cos similarity(u’,v’)]作为dense层的输入,输出标题ti与标题tj之间关系的分类结果;
步骤2-11、通过输入的分类标签(即包含、并列、无关),对lstm神经网络和分类器进行训练,使lstm神经网络参数和dense层的参数能够不断更新优化,得到标题关系分类模型。
进一步的,提取标题层次关系的步骤为:
步骤3-1、对于文章数据集{d1,d2,…,dn}中的某篇文章A,使用python文档读取工具读取文章A得到文章各段的段落号Pn={0,1,2,3,…,N},其中N为文章A的段落数;
步骤3-2、将文章A输入步骤1得到的标题判别模型,得到标题集合T={T1,T2,...,TM},其中M为标题个数;
步骤3-3、对任意Ti,Tj∈T,使用hanlp分词工具分别对标题Ti和Tj进行分词,得到标题Ti、Tj的单词列表WTi、WTj;
步骤3-4、使用word2vec算法分别计算单词列表WTi、WTj中每个单词的词向量,得到标题Ti、Tj中所有单词的词向量组成的序列STi,STj;
步骤3-5、将STi、STj输入步骤2得到的标题之间关系分类模型,得到标题Ti和Tj之间的关系。
进一步,步骤3中,标题集合T={T1,T2,...,TM}中部分标题包含序号,直接通过序号构造部分层次关系;
通过正则表达式,匹配得到标题集合T中包含序号的标题,形成子集T1={T11,…,T1f},其中f为带有序号的标题的数量,不带有序号的标题形成子集T2={T21,…,T2g},其中g为不带有序号的标题的数量;
对T1i∈T1,根据标题序号,将T1i在Python中用列表Tree以树结构的形式存储;
对T2i∈T2,查找标题集合T中所有与它关系为“包含”的标题,形成集合Ui;
查找Ui中所有段落号小于T2i的段落号的标题,形成子集Ui0;
若Ui0为空,则T2i为一级标题;
查找Ui中所有段落号大于T2i的段落号的标题,形成子集Ui1;
若Ui1为空,则T2i不存在下级标题;
若Ui1不为空,对于任意标题t2∈Ui1,若在列表Tree中,t2所在的节点的父节点为“空”,则T2i为t2的上级标题。
遍历T2进行上述操作,若在遍历过程中标题结构的构造结果与前面产生的结果不一致,则更新为最新的结果。
本发明所述的有益效果为:与现有的文字编辑软件通过文章格式信息提取标题层次结构的方法相比,本发明提出了一种利用机器学习,通过语义特征提取文章标题层次结构的方法;首先,通过段落的格式和文本特征,判断段落是否为标题。然后,定义标题之间的关系为:包含、并列、无关。通过长短期记忆人工神经网络(lstm)对标题段落进行语义特征提取,基于标题的语义特征对标题之间的关系进行分类。最后,利用分类结果与标题层次关系之间的逻辑关系构造标题的层次结构;本发明在构造标题层次结构的时候主要利用的是标题的语义特征,在格式信息缺失,计算机无法识别的情况下,可以对标题层次结构的构造起到一个补充作用。
附图说明
为了使本发明的内容更容易被清楚地理解,下面根据具体实施例并结合附图,对本发明作进一步详细的说明。
图1为本发明实施例中对某文章A提取标题层次结构的流程图;
图2为标题判别模型构造示意图;
图3为标题之间关系分类模型结构示意图;
图4为本发明实施例中含有序号的标题在python中存储的树结构表示图;
图5为本发明实施例标题层次结构提取结果在python中存储的树结构表示图。
具体实施方式
如图1-3所示,本发明所述的一种文章标题层次结构的提取方法,首先分别构造了标题判别模型、标题之间关系分类模型,然后将具体文章示例输入标题判别模型得到文章标题,将文章标题输入标题之间关系分类模型得到标题之间的关系,最后根据标题之间的关系构造标题的层次结构。
步骤1中构造标题判别模型步骤如下:
假设存在某一文章数据集{d1,d2,…,dn},其中n为文章数量;
假设其中第i篇文章di存在m个段落,{p1,p2,…,pm};
对其中第j个段落pj进行人工标注,如果是标题标注为1,非标题标注为0。则第i篇文章的段落标签可标注为{11,02,…,0m};
使用python文档读取工具读取文章di,得到pj的字体大小为SIZEj;例如:文章di得到的所有段落字体大小为{251,202,183,204,…,18m},其中251代表第一段的字体大小为25;
使用python文档读取工具读取文章di,得到第j段的长度大小为LENGTHj。例如:文章di得到的所有段落长度大小为{51,642,…,105m},其中51代表第一段的长度大小为5;
使用hanlp分词工具对pj进行索引分词处理,分词结果为列表[s1 s2…sh],其中h为pj中的单词数量,si为pj经过索引分词处理后得到的第i个单词、该单词词性、该单词在段落中的偏移量组成的元素,其结构为:“单词/单词词性/单词在段落中的偏移量”;例如:假设pj的文本内容为“机器学习相关概述”,则分词结果为:[机器/n/[0:2]学习/v/[2:4]相关/ad/[4:6]概述/n/[6:8]]。其中,英文字母表示词性,如n代表名词,v代表动词,ad代表形容词;形如[数字1,数字2]表示单词在段落中的偏移量,如[0:2]表示该词在段中的位置为0到2;
使用word2vec算法计算si的词向量,得到si的词向量序列veci,则pj所有单词的词向量序列为{vec1,vec2,…,vech};
对文章数据集{d1,d2,…,dn}进行上述数据处理,得到文章d1,d2,…,dn每个段落的字体大小、长度大小、所有词向量组成的向量序列;
使用sklearn工具包中的svm算法,将文章数据集{d1,d2,…,dn}中所有文章每个段落的字体大小、长度大小、所有词向量组成的向量序列和段落标签作为算法的输入,训练得到标题判别模型。
步骤2中构造标题之间关系分类模型步骤如下:
假设文章di中所有标题组成集合为{t1,t2,…,tr},其中r为标题的数量;
定义标题之间的关系包括:包含、并列、无关;
对标题集合{t1,t2,…,tr}中任意两个标题ti,tj,人工标注标题之间的关系,文章上级标题于对所属的下级标题关系标注为“包含”;同一上级标题下的同级标题关系标注为“并列”;非上述情况的标题之间关系标注为“无关”;
使用hanlp分词工具分别对标题ti,tj进行分词,得到单词列表wti,wtj。例如:假设标题ti的文本内容为:2.1依存句法概述,则分词结果wti=[2.1依存句法概述];
使用word2vec算法计算单词列表wti,wtj中每个单词的词向量,得到标题ti,tj中所有单词的词向量组成的序列sti,stj;
使用keras工具包中的lstm神经网络算法,将词向量序列sti,stj分别输入lstm神经网络中,输出标题ti的特征向量u,tj的特征向量v;
使用keras工具包中的Batch normalize算法,将向量u,v分别输入Batchnormalize算法进行归一化处理,得到向量u’,v’;
使用sklearn工具包中的余弦相似度算法计算向量u’,v’的余弦相似度,得到u’与v’的余弦相似度的值cos similarity(u’,v’);
计算向量u’-v’的绝对值,得到向量abs(u’-v’);
将向量u’,v’、向量abs(u’-v’)、cos similarity(u’,v’)拼接形成向量[u’,v’,abs(u’-v’),cos similarity(u’,v’)];
使用keras工具包中的全连接层dense,激活函数为softmax。将向量[u’,v’,abs(u’-v’),cos similarity(u’,v’)]作为dense层的输入,输出标题ti与标题tj之间关系的分类结果;
通过输入的分类标签,对lstm神经网络和分类器进行训练,使lstm神经网络参数和dense层的参数能够不断更新优化,得到标题关系分类模型。
步骤3中文章标题层次结构提取:
假设文章数据集中存在某篇文章A,
使用python文档读取工具读取文章A得到文章各段的段落号Pn={0,1,2,3,…,N},其中N为文章A的段落数;
将文章A输入标题判别模型,得到标题集合T;本实施例中,T={2汉语复句分句划分与层次结构体系概述,2.1依存句法概述,2.2基于标点符号和依存句法的汉语复句分句的划分,2.2.1基于标点符号的分句划分,基于依存句法的汉语复句分句的划分,2.3层次结构概述,Bert-CNN深度学习模型概述,3.1机器学习相关概述,3.2神经网络相关内容概述,3.2.1神经网络基本工作原理,3.2.2神经网络的相关概念};
对任意Ti,Tj∈T,使用hanlp分词工具分别对标题Ti和Tj进行分词,得到标题Ti,Tj的单词列表WTi,WTj;
使用word2vec算法分别计算单词列表WTi,WTj中每个单词的词向量,得到标题T2i,T1j中所有单词的词向量组成的序列STi,STj;
将STi,STj输入标题之间关系分类模型,得到标题Ti和Tj之间的关系。例如:T2=“2.2基于标点符号和依存句法的汉语复句分句的划分”,T4=基于依存句法的汉语复句分句的划分,输出标题之间关系的分类结果为“包含”。
在python读取文章的时候,因为docx格式的原因有的标题可以读取到序号,有的读取不到;读取得到序号的标题可以直接构造关系,读取不到的需要用模型判断该标题跟其他标题的关系。
标题集合T中部分标题包含序号,可直接通过序号构造部分层次关系;
通过正则表达式,匹配得到标题集合T中包含序号的标题,形成子集T1={T11,…,T1f},其中f为带有序号的标题的数量,不带有序号的标题形成子集T2={T21,…,T2g},其中g为不带有序号的标题的数量。本实施例中T1={2汉语复句分句划分与层次结构体系概述,2.1依存句法概述,2.2基于标点符号和依存句法的汉语复句分句的划分,2.2.1基于标点符号的分句划分,2.3层次结构概述,3.1机器学习相关概述,3.2神经网络相关内容概述,3.2.1神经网络基本工作原理,3.2.2神经网络的相关概念},T2={基于依存句法的汉语复句分句的划分,Bert-CNN深度学习模型概述}。
对T1i∈T1,根据标题序号,将T1i在Python中用列表Tree以树结构的形式存储。本实施例中树结构示意图如图4所示。
如图5所示,对T2i∈T2,查找标题集合T中所有与它关系为“包含”的标题,形成集合Ui。例如:T20=“基于依存句法的汉语复句分句的划分”,U0={2汉语复句分句划分与层次结构体系概述,2.2基于标点符号和依存句法的汉语复句分句的划分};
查找Ui中所有段落号小于T2i的段落号的标题,形成子集Ui0;
若Ui0为空,则T2i为一级标题;例如:T21=“Bert-CNN深度学习模型概述”,段落号为37;U1={3.1机器学习相关概述,3.2神经网络相关内容概述,3.2.1神经网络基本工作原理,3.2.2神经网络的相关概念},段落号分别为,38,42,43,47。U1中没有段落号小于T21段落号的标题,所以T21为一级标题;
若Ui0不为空,对任意标题t1∈Ui0,若T2i的段落号与标题t1的段落号的差值为T2i的段落号与Ui0中所有标题段落号差值的最小值,则T2i为标题t1所属的次级标题。例如:对T20=“基于依存句法的汉语复句分句的划分”,段落号为30,U000=“2汉语复句分句划分与层次结构体系概述”,段落号为21,U001=“2.2基于标点符号和依存句法的汉语复句分句的划分”,段落号为24。由于30-24=6<30-21=9,所以T20为U001所属的次级标题;
查找Ui中所有段落号大于T2i的段落号的标题,形成子集Ui1;
若Ui1为空,则T2i不存在下级标题;
若Ui1不为空,对于任意标题t2∈Ui1,若在列表Tree中,t2所在的节点的父节点为“空”,则T2i为t2的上级标题;例如:T21=“Bert-CNN深度学习模型概述”,U1={3.1机器学习相关概述,3.2神经网络相关内容概述,3.2.1神经网络基本工作原理,3.2.2神经网络的相关概念},U110、U111在Tree中的节点分别为Tree[1][1],Tree[1][2],父节点Tree[1]为“空”,则T21为U110和U111的上级标题;
遍历T2进行上述操作,若在遍历过程中标题结构的构造结果与前面产生的结果不一致,则更新为最新的结果。
以上所述仅为本发明的优选方案,并非作为对本发明的进一步限定,凡是利用本发明说明书及附图内容所作的各种等效变化均在本发明的保护范围之内。
Claims (5)
1.一种文章标题层次结构的提取方法,其特征在于,所述方法的步骤为:
步骤1、构建标题判别模型,判断文章中某段落是否为标题;
步骤2、构建标题之间的关系分类模型,得到标题之间的分类结果;
步骤3、根据标题之间的分类结果提取标题的层次关系。
2.根据权利要求1所述的一种文章标题层次结构的提取方法,其特征在于,构建标题判别模型的步骤为:
步骤1-1、构建某一文章数据集{d1,d2,…,dn},其中n为文章数量;
步骤1-2、假设第i篇文章di存在m个段落{p1,p2,…,pm},对其中第j个段落pj人工标注段落标签,如果是标题标注为1,非标题标注为0;
步骤1-3、使用python文档读取工具读取文章di,得到第j段的字体大小为SIZEj、第j段的长度大小为LENGTHj;
步骤1-4、使用hanlp分词工具对文章di的第j段进行索引分词处理,分词结果为列表[s1s2…sh],其中h为第j段分成的单词数量,si为第j段经过索引分词处理后得到的第i个单词、该单词词性、该单词在段落中的偏移量组成的元素,si的结构为:“单词/单词词性/单词在段落中的偏移量”;
步骤1-5、使用word2vec算法计算si的词向量,得到si的词向量序列veci,则pj所有单词的词向量序列为{vec1,vec2,…,vech};
步骤1-6、重复步骤1-2至步骤1-5,得到文章数据集{d1,d2,…,dn}中每一篇文章的所有段落的字体大小、长度大小、所有词向量组成的向量序列;
步骤1-7、使用sklearn工具包中的svm算法,将文章数据集{d1,d2,…,dn}中所有文章每个段落的字体大小、长度大小、所有词向量组成的向量序列和段落标签作为算法的输入,训练得到标题判别模型。
3.根据权利要求1所述的一种文章标题层次结构的提取方法,其特征在于,构建标题之间的关系分类模型的步骤为:
步骤2-1、将得到的文章di中所有标题组成集合为{t1,t2,…,tr},其中r为标题的数量;
步骤2-2、对文章di所有的标题,两两标注两个标题之间的关系,其中,定义文章标题之间的关系包括:包含、并列、无关,人工标注标题之间的关系,文章上级标题于对所属的下级标题关系标注为“包含”,同一上级标题下的同级标题关系标注为“并列”,非上述情况的标题之间关系标注为“无关”;
步骤2-3、对标题集合{t1,t2,…,tr}中任意两个标题ti和tj,使用hanlp分词工具分别对标题ti和tj进行分词,得到单词列表wti和wt;
步骤2-4、使用word2vec算法计算单词列表wti、wtj中每个单词的词向量,得到标题ti、tj中所有单词的词向量组成的序列sti、stj;
步骤2-5、使用keras工具包中的lstm神经网络算法,将词向量序列sti、stj分别输入lstm神经网络中,输出标题ti的特征向量u及tj的特征向量v;
步骤2-6、使用keras工具包中的Batch normalize算法,将特征向量u和特征向量v分别输入Batch normalize算法进行归一化处理,得到向量u’,v’;
步骤2-7、使用sklearn工具包中的余弦相似度算法计算向量u’、v’的余弦相似度,得到u’与v’的余弦相似度的值cos similarity(u’,v’);
步骤2-8、计算向量u’-v’的绝对值,得到向量abs(u’-v’);
步骤2-9、将向量u’和v’、向量abs(u’-v’)、cos similarity(u’,v’)拼接形成向量[u’,v’,abs(u’-v’),cos similarity(u’,v’)];
步骤2-10、使用keras工具包中的全连接层dense,激活函数为softmax,将向量[u’,v’,abs(u’-v’),cos similarity(u’,v’)]作为dense层的输入,输出标题ti与标题tj之间关系的分类结果;
步骤2-11、通过输入的分类标签,对lstm神经网络和分类器进行训练,使lstm神经网络参数和dense层的参数能够不断更新优化,得到标题关系分类模型。
4.根据权利要求1所述的一种文章标题层次结构的提取方法,其特征在于,提取标题层次关系的步骤为:
步骤3-1、对于文章数据集{d1,d2,…,dn}中的某篇文章A,使用python文档读取工具读取文章A得到文章各段的段落号Pn={0,1,2,3,…,N},其中N为文章A的段落数;
步骤3-2、将文章A输入标题判别模型,得到标题集合T={T1,T2,...,TM},其中M为标题个数;
步骤3-3、对任意Ti,Tj∈T,使用hanlp分词工具分别对标题Ti和Tj进行分词,得到标题Ti、Tj的单词列表WTi、WTj;
步骤3-4、使用word2vec算法分别计算单词列表WTi、WTj中每个单词的词向量,得到标题Ti、Tj中所有单词的词向量组成的序列STi,STj;
步骤3-5、将STi、STj输入标题之间关系分类模型,得到标题Ti和Tj之间的关系。
5.根据权利要求4所述的一种文章标题层次结构的提取方法,其特征在于,步骤3中,标题集合T={T1,T2,...,TM}中部分标题包含序号,直接通过序号构造部分层次关系;
通过正则表达式,匹配得到标题集合T中包含序号的标题,形成子集T1={T11,…,T1f},其中f为带有序号的标题的数量,不带有序号的标题形成子集T2={T21,…,T2g},其中g为不带有序号的标题的数量;
对T1i∈T1,根据标题序号,将T1i在Python中用列表Tree以树结构的形式存储;
对T2i∈T2,查找标题集合T中所有与它关系为“包含”的标题,形成集合Ui;
查找Ui中所有段落号小于T2i的段落号的标题,形成子集Ui0;
若Ui0为空,则T2i为一级标题;
查找Ui中所有段落号大于T2i的段落号的标题,形成子集Ui1;
若Ui1为空,则T2i不存在下级标题;
若Ui1不为空,对于任意标题t2∈Ui1,若在列表Tree中,t2所在的节点的父节点为“空”,则T2i为t2的上级标题。
遍历T2进行上述操作,若在遍历过程中标题结构的构造结果与前面产生的结果不一致,则更新为最新的结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111242645.2A CN113961702A (zh) | 2021-10-25 | 2021-10-25 | 一种文章标题层次结构的提取方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111242645.2A CN113961702A (zh) | 2021-10-25 | 2021-10-25 | 一种文章标题层次结构的提取方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113961702A true CN113961702A (zh) | 2022-01-21 |
Family
ID=79466790
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111242645.2A Pending CN113961702A (zh) | 2021-10-25 | 2021-10-25 | 一种文章标题层次结构的提取方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113961702A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115935074A (zh) * | 2023-01-09 | 2023-04-07 | 北京创新乐知网络技术有限公司 | 文章推荐方法、装置、设备及介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120303636A1 (en) * | 2009-12-14 | 2012-11-29 | Ping Luo | System and Method for Web Content Extraction |
CN109657055A (zh) * | 2018-11-09 | 2019-04-19 | 中山大学 | 基于层次混合网络的标题党文章检测方法及联邦学习策略 |
CN111737985A (zh) * | 2020-07-27 | 2020-10-02 | 江苏联著实业股份有限公司 | 一种从文章标题层次结构提取过程体系的方法和装置 |
-
2021
- 2021-10-25 CN CN202111242645.2A patent/CN113961702A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120303636A1 (en) * | 2009-12-14 | 2012-11-29 | Ping Luo | System and Method for Web Content Extraction |
CN109657055A (zh) * | 2018-11-09 | 2019-04-19 | 中山大学 | 基于层次混合网络的标题党文章检测方法及联邦学习策略 |
CN111737985A (zh) * | 2020-07-27 | 2020-10-02 | 江苏联著实业股份有限公司 | 一种从文章标题层次结构提取过程体系的方法和装置 |
Non-Patent Citations (2)
Title |
---|
YUNXIANG LIU 等: "Text Classification Based on Title Semantic Information", ICIIBMS 2020, 20 November 2020 (2020-11-20), pages 1 - 5 * |
秦成磊 等: "基于层次注意力网络模型的学术文本结构功能识别", 数据分析与知识发现, no. 47, 31 December 2020 (2020-12-31), pages 1 - 17 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115935074A (zh) * | 2023-01-09 | 2023-04-07 | 北京创新乐知网络技术有限公司 | 文章推荐方法、装置、设备及介质 |
CN115935074B (zh) * | 2023-01-09 | 2023-08-11 | 北京创新乐知网络技术有限公司 | 文章推荐方法、装置、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1679625B1 (en) | Method and apparatus for structuring documents based on layout, content and collection | |
CN106776562B (zh) | 一种关键词提取方法和提取系统 | |
WO2017080090A1 (zh) | 一种网页正文提取比对方法 | |
EP1745396B1 (en) | Document information mining tool | |
CN110175334B (zh) | 基于自定义的知识槽结构的文本知识抽取系统和方法 | |
JP2005526317A (ja) | ドキュメントコーパスからコンセプト階層構造を自動に捜索する方法及びシステム | |
CN114254653A (zh) | 一种科技项目文本语义抽取与表示分析方法 | |
CN111061882A (zh) | 一种知识图谱构建方法 | |
CN107562919A (zh) | 一种基于信息检索的多索引集成软件构件检索方法及系统 | |
Milosevic et al. | Disentangling the structure of tables in scientific literature | |
CN108763192B (zh) | 用于文本处理的实体关系抽取方法及装置 | |
CN114118053A (zh) | 一种合同信息提取方法及装置 | |
Meuschke et al. | A benchmark of pdf information extraction tools using a multi-task and multi-domain evaluation framework for academic documents | |
CN115618866A (zh) | 一种工程项目投标文件的段落识别与主题提取方法及系统 | |
CN110020024B (zh) | 一种科技文献中链接资源的分类方法、系统、设备 | |
CN105574066A (zh) | 网页正文提取比对方法及其系统 | |
CN113963748B (zh) | 一种蛋白质知识图谱向量化方法 | |
Chen et al. | A Structured Information Extraction Algorithm for Scientific Papers based on Feature Rules Learning. | |
CN112199960B (zh) | 一种标准知识元粒度解析系统 | |
CN113961702A (zh) | 一种文章标题层次结构的提取方法 | |
Das Dawn et al. | A comprehensive review of Bengali word sense disambiguation | |
Haase et al. | Taxy. io@ FinTOC-2020: Multilingual Document Structure Extraction using Transfer Learning | |
Souza et al. | ARCTIC: metadata extraction from scientific papers in pdf using two-layer CRF | |
Hazman et al. | An ontology based approach for automatically annotating document segments | |
Eyecioglu et al. | Knowledge-lean paraphrase identification using character-based features |
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 |