一种工程项目投标文件的段落识别与主题提取方法及系统

文档序号:33006399发布日期:2023-01-18 04:31阅读:37来源:国知局
一种工程项目投标文件的段落识别与主题提取方法及系统

1.本发明属于自然语言处理领域,具体涉及一种工程项目投标文件的段落识别与主题提取方法及系统。


背景技术:

2.近年来,大力发展工程建设领域的招投标采购全流程电子化,使得全国的招投标效率比传统的线下模式提高了一个档次。但同时也面临着诸多问题,例如需要处理的投标文件数目庞大、技术含量高,导致专家评标效率低、质量差等,使得有限的专家资源无法充分利用。自动识别投标文件的文字段落与主题可以帮助提高专家评标效率和质量,使得专家资源可以充分利用。
3.目前,国内工程建设领域智能清标软件较为繁杂,但在实现路径和效果上大相径庭,根据智能化程度可分为自动评审、半智能评审和智能评审3个层次。自动评审是通过标签实现精准定位或者精准评审,需要投标人严格按照规定标记投标文件的标签,且标记准确。第二层次为半智能评审,在这种模式下,仍然需要人工建立招标文件评审条款和投标文件对应内容的响应关系,通常是以填空方式建立对应关系,比如在电子招投标系统中内置投标文件模板化,该模式需要招标人对投标人具有强有力的约束能力,且依赖于先建立电子招投标系统才能实现。第三种为全智能评审,是指无论是招标人和投标人均无需事先为评审做任何额外的结构化或对应关系,只需招标文件和投标文件即可完成评审。在此模式下,将pdf版招标文件和投标文件分别上传至智能评审系统,计算机通过一系列内部操作即可完成审核、内容定位等工作。
4.自动识别投标文件的文字段落与主题是在计算机将上传的pdf文件解析为json格式的文件后进行的处理,根据json文件的标签判断分类,并提取需要的信息。
5.文本主题识别最重要的是提取文本语义。为挖掘更多语义信息在众多的语义表征中,tf-idf(频率逆文档频率)是一种数字统计,旨在反映单词对集合或语料库中的文档的重要程度。它经常被用作搜索信息检索,文本挖掘和用户建模的加权因子。tf-idf值按比例增加一个单词出现在文档中的次数,并被包含该单词的语料库中的文档数量所抵消,这有助于调整某些单词在一般情况下更频繁出现的事实。文本段落与父标题相似度计算可以反映父标题和文本段落的关系,将计算的相似度结果与tf-idf权重矩阵进行加权后再进行后续计算能够提高主题识别的准确率。常用的文本相似度计算方法有编辑距离算法、余弦相似度算法以及simhash算法。余弦相似的原理是将文本矢量化,然后将两个矢量的空间夹角的余弦值作为两个文本的相似度。计算两个文本余弦相似度主要分为分词、去停用词、文本矢量化、计算余弦相似度四个步骤。simhash算法通过局部敏感哈希算法lsh(locality sensitive hashing)给每个文本生成一个等长的哈希编码(指纹),并且相似的文本编码后得到的哈希编码也相似,通过计算指纹的汉明距离来计算相似度。编辑距离算法基于字符比对,不受字符集和分词的限制,任何语言的两个字符串都可以计算编辑距离。且由于段落文本相对较短,使用编辑距离算法效率和准确率都比较高。


技术实现要素:

6.为了解决工程项目投标文件人工处理效率不高的问题,本发明提出了一种文字段落自动识别与主题提取的新方法及系统,识别并记录段落信息,提取段落的主题词,以备后续将招标条款与投标文件内容进行对应并定位,能够提高评标专家评标效率和质量,使得评标专家资源可以充分利用。
7.为了实现上述目的,本发明采用如下技术方案:
8.一种工程项目投标文件的段落识别与主题提取方法,具体包括如下步骤:
9.步骤1、获取当前工程项目投标文件的pdf文件,然后转换解析为json格式;
10.步骤2、根据json的《title》和《txt》标签分别识别出标题、段落文本,并记录每个段落对应的父标题;
11.步骤3、根据json的《page》标签划分页面,记录页码和该页内段落序号;
12.步骤4、对识别出的段落进行数据清洗,删除无实际意义的段落,然后进行段落内容的处理并进行保存;
13.步骤5、拼接处理后的段落文本和标题,并进行分词,得到预处理后的文本表示;
14.步骤6、统计词频,构建词频矩阵,将文本词语转换成词频矩阵;
15.步骤7、融合tf-idf方法和编辑距离算法,得到加权矩阵;
16.步骤8、对加权后的矩阵进行归一化,对归一化结果中主题词的占比按照由高到低的顺序进行排序,占比最高的前三个词为最终所需的主题词,同步将主题词及占比值存入数据库中。
17.进一步地,步骤4的具体过程如下:
18.步骤4.1、判断并删除无实际意义的段落,无实际意义的段落为只含有回车符、换行符、数字或空格的段落;
19.步骤4.2、对于剩下的有意义段落,删除段落文本内容中的回车符、换行符以及空格;具体为先对按照回车符、换行符或空格的位置进行分割,然后将分割得到的字符串进行拼接,得到处理后的段落文本。
20.进一步地,步骤5的具体过程如下:
21.步骤5.1、将正文段落及其父标题,按照父标题+正文段落的顺序拼接,得到待处理文本;
22.步骤5.2、使用jieba模块将拼接后的文本分词,得到原始分词列表;
23.步骤5.3、针对待处理文本,构建停留词表;
24.步骤5.4、加载停留词表,遍历原始分词列表,去除停留词,得到预处理后的文本表示di=[t1,t2,...,tn],其中,tn表示文本中第n个词,n表示该段落文本中词的总数。
[0025]
进一步地,步骤6中,词频计算公式如公式(1)所示,词频矩阵构建如公式(2)所示,
[0026][0027]
tf(di)=[tf(t1),tf(t2),...,tf(tn)]
t
ꢀꢀꢀꢀ
(2)其中,tf(t,d)表示特征词t在文档d中的词频,t
t,dl
表示特征词t在文档d中出现的次数,表示文档d中所有词出现的总次数。
[0028]
进一步地,步骤7的具体过程如下:
[0029]
步骤7.1、计算每个词语的逆文档频率,逆文档频率如公式(3)所示:
[0030][0031]
其中,idf(t)表示特征词t的逆文档频率,m表示文档集中文本的总数,n
t
表示文档集中包含特征词t的文档数;
[0032]
步骤7.2、计算并统计每个词语的tf-idf权值,如公式(4)所示;形成tf-idf矩阵tf_idf(di),如公式(5)所示:
[0033][0034]
tf_idf(di)=[tf_idf(t1),tf_idf(t2),

,tf_idf(tn)]
t
ꢀꢀꢀꢀ
(5)
[0035]
其中,tf_idf(ti)表示词语ti的tf-idf权值;
[0036]
步骤7.3、考虑父标题的作用,使用编辑距离算法计算父标题和每个段落所有词语的相似度,父标题与词语ti的编辑距离pc
ti
计算公式如公式(6)-(8)所示,
[0037][0038][0039]
pc
ti
=d(m,n)
ꢀꢀꢀꢀ
(8)
[0040]
其中,d(i,j)表示a[i]的前i个词与b[j]的前j个词之前的编辑距离,flag为一个指示函数,a[i]表示父标题字符串,b[j]表示段落文本的词语ti,m表示父标题长度,n表示词语ti长度;
[0041]
步骤7.4、将计算得到的tf-tdf权值矩阵与编辑距离pc
ti
按公式(9)和(10)计算加权,得到n维的加权矩阵weight(di):
[0042]
weight(di)=[weight(t1),weight(t2),...,weight(tn)]
t
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(9)
[0043]
weight(ti)=tf_idf
ti
+pc
ti
,i=1,2,...,n
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(10)
[0044]
其中,weight(ti)表示词ti的权重,tf_idfti表示词ti的td-idf权值,pc
ti
表示词ti的编辑距离。
[0045]
进一步地,步骤8中,归一化的公式如下,
[0046][0047]
其中,weight(ti)表示词ti的权重。
[0048]
一种工程项目投标文件的段落识别与主题提取系统,采用如上所述的工程项目投标文件的段落识别与主题提取方法;系统包括格式转换模块、段落识别模块、分词处理模块、主题提取模块、数据存储模块;其中,
[0049]
格式转换模块外连扫描设备,用于将扫描工程项目投标文件扫描得到的pdf格式文件转换为json格式;
[0050]
段落识别模块用于自动识别标题、段落部分,提取段落相关信息,处理段落文本的
内容,并将处理后产生的数据信息保存至数据存储模块;
[0051]
分词处理模块用于从数据存储模块中读取段落相关数据,对分词进行处理,以及去除停留词;
[0052]
主题提取模块用于计算tf-idf权值矩阵、编辑距离、权重和,归一化后排序获取主题词;
[0053]
数据存储模块用于存储处理过程中产生的各种数据,包括处理后的段落文本数据、正文段落及其父标题数据。
[0054]
本发明所带来的有益技术效果:
[0055]
自动识别工程项目投标文件文字段落与主题提高了评标专家电子评标的质量和效率,对招标人和投标人也无需做过多的规则限制,只需将投标文件从系统上传。
[0056]
计算机通过对标题和内容分类,记录相关信息实现内容定位,帮助评标专家提高效率。
[0057]
融合了tf-idf算法以及编辑距离算法来提取主题词,尽可能多的保留文本语义信息,,为标书内容与评标条款对应做了准备。
附图说明
[0058]
图1为本发明工程项目投标文件的段落识别与主题提取方法的流程图;
[0059]
图2为本发明方法中段落识别的逻辑流程图;
[0060]
图3为本发明工程项目投标文件的段落识别与主题提取系统的功能模块图。
具体实施方式
[0061]
下面结合附图以及具体实施方式对本发明作进一步详细说明:
[0062]
如图1所示,一种工程项目投标文件的段落识别与主题提取方法,分析获取输入投标文件的标题、段落信息,将段落文本分词,并使用tf-idf算法计算权重矩阵并与计算得到的父标题与段落的关联相似度加权;最后归一化得到主题词集合并存入数据库,以备后续招标条款与投标文件内容的对应定位;具体包括如下步骤:
[0063]
步骤1、获取当前工程项目投标文件的pdf文件,然后转换解析为json格式。
[0064]
步骤2、根据json的《title》和《txt》标签分别识别出标题、段落文本,并记录每个段落对应的父标题。具体过程如下:
[0065]
json格式文件中包含三个标签,其中,《title》标签对应标题部分,《txt》标签对应段落部分,《page》标签对应页码。对于输入的json格式的工程项目投标文件,按顺序遍历整个json文件的标签,依次将每个标签中的内容分类,分为标题部分和段落部分,并记录每个段落对应的父标题。
[0066]
步骤3、根据json的《page》标签划分页面,记录页码和该页内段落序号。具体过程如下:
[0067]
根据《page》标签划分页面,记录页码,为方便后续定位段落位置,记录段落或标题在页面内的位置,即在该页内段落序号。
[0068]
步骤4、对识别出的段落进行数据清洗,删除无实际意义的段落,然后进行段落内容的处理并进行保存。具体过程如下:
[0069]
步骤4.1、判断并删除空段落、无实际意义的段落。无实际意义的段落是指只含有回车符、换行符、数字和空格这种无实际意义的段落。针对遇到的每个段落,设计正则表达式“\n\s*[1-9]*\s*\r”进行判断。
[0070]
步骤4.2、为保证后续分词尽量准确,对于剩下的有意义段落,删除段落文本内容中的回车符、换行符以及空格。依次判断每个段落文本内容中是否有回车符、换行符以及空格,若有,则通过re模块中的split()方法按照对应符号分割,然后将分割得到的字符串进行拼接,得到处理后的段落文本。
[0071]
对于步骤2-4中标题、段落、页面的自动识别与段落内容的处理,可表示为图2所示的逻辑过程:
[0072]
(1)设置并初始化变量:
[0073]
标签遍历符i=1,变量i用来记录当前遍历位置。
[0074]
物理页码page=1,变量page用来记录待处理文件的物理页码,初始页码记录为1。
[0075]
页内段落序号num=1,变量num用来记录每一页的段落序号,初始值设为1。
[0076]
父标题parent_title=null,由于段落的父标题一定是其上方最邻近的一个标题,因此设置parent_title变量不断更新记录遇到的最新的一个标题。
[0077]
(2)对json文件进行遍历,读取当前标签遍历符号i;
[0078]
(3)当遇到《page》标签页码时,变量page的值加1,段落序号num更新为1;
[0079]
(4)当遇到《title》标签时,表示该标签文本内容为标题,记录标题内容、页码等信息,更新parent_title变量为标题内容,并将分类记为1,将所有信息出入数据库。
[0080]
(5)当遇到《txt》标签时,表示该标签文本内容为正文段落。首先判断该段落是否为空段落或无意义的段落,若是,则读取下一个标签内容;否则,依次按换行符以及回车符分割并拼接,然后记录其标题内容、页码等相关信息。同步将parent_title变量所记录下来的标题为该正文段落的父标题;分类记为0,将所有信息出入数据库。
[0081]
(6)对于遇到的每个《title》或者《txt》标签,num值加1。
[0082]
(7)遍历完所有标签后,识别结束。
[0083]
步骤5、拼接处理后的段落文本和标题,并进行分词,得到预处理后的文本表示。具体过程如下:
[0084]
步骤5.1、将正文段落及其父标题,按照父标题+正文段落的顺序拼接,得到待处理文本;
[0085]
步骤5.2、使用jieba模块将拼接后的文本分词,得到原始分词列表;
[0086]
步骤5.3、针对待处理文本,构建尽可能全面的停留词表。首先使用常见的基础停留词表对样本进行去停留词处理,然后筛选出分词结果中还存在的高频停留词,加入停留词表,进而构建所需的停留词表。
[0087]
步骤5.4、加载停留词表,遍历原始分词列表,去除停留词,得到预处理后的文本表示di=[t1,t2,...,tn],其中,ti(i=1,2,...,n)表示文本中第i个词,n表示该段落文本中词的总数。
[0088]
步骤6、统计词频,词频计算公式如公式(1)所示,构建词频矩阵,如公式(2)所示,将文本词语转换成词频矩阵。
[0089][0090]
tf(di)=[tf(t1),tf(t2),...,tf(tn)]
t
ꢀꢀꢀꢀ
(2)其中,tf(t,d)表示特征词t在文档d中的词频,t
t,d
表示特征词t在文档d中出现的次数,表示文档d中所有词出现的总次数。公式(2)中的参数此时已经在di中了,故统一简写为tf(t1)。
[0091]
步骤7、融合tf-idf方法和编辑距离算法,得到加权矩阵。具体过程如下:
[0092]
步骤7.1、计算每个词语的逆文档频率,逆文档频率如公式(3)所示:
[0093][0094]
其中,idf(t)表示特征词t的逆文档频率,m表示文档集中文本的总数,n
t
表示文档集中包含特征词t的文档数。
[0095]
步骤7.2、计算并统计每个词语的tf-idf权值,如公式(4)所示。形成tf-idf矩阵tf_idf(di),如公式(5)所示:
[0096][0097]
tf_idf(di)=[tf_idf(t1),tf_idf(t2),

,tf_idf(tn)]
t
ꢀꢀꢀꢀ
(5)
[0098]
其中,tf_idf(ti)表示词语ti的tf-idf权值。
[0099]
步骤7.3、考虑父标题的作用,使用编辑距离算法计算父标题和每个段落所有词语的相似度,父标题与词语ti的编辑距离pc
ti
计算公式如公式(6)-(8)所示,
[0100][0101][0102]
pc
ti
=d(m,n)
ꢀꢀꢀꢀ
(8)
[0103]
其中,d(i,j)表示a[i]的前i个词与b[j]的前j个词之前的编辑距离,flag为一个指示函数,a[i]表示父标题字符串,b[j]表示段落文本的词语ti,m表示父标题长度,n表示词语ti长度;
[0104]
步骤7.4、将计算得到的tf-tdf权值矩阵与编辑距离pc
ti
按公式(9)和(10)计算加权,得到n维的加权矩阵weight(di):
[0105]
weight(di)=[weight(t1),weight(t2),...,weight(tn)]
t
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(9)
[0106]
weight(ti)=tf-idf
ti
+pc
ti
,i=1,2,...,n
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(10)
[0107]
其中,weight(ti)表示词ti的权重,tf-idf
ti
表示词ti的td-idf权值,pc
ti
表示词ti的编辑距离。
[0108]
步骤8、对加权后的矩阵按公式(11)进行归一化,
[0109][0110]
对归一化结果中主题词的占比按照由高到低的顺序进行排序,占比最高的前三个
词为最终所需的主题词,同步将主题词及占比值存入数据库中。
[0111]
如图3所示,一种工程项目投标文件的段落识别与主题提取系统包括格式转换模块、段落识别模块、分词处理模块、主题提取模块、数据存储模块。其中,
[0112]
格式转换模块外连扫描设备(扫描仪或打印机等),用于将扫描工程项目投标文件扫描得到的pdf格式文件转换为json格式,也可以由电子版的word直接转转成pdf格式。
[0113]
段落识别模块主要用于自动识别标题、段落部分,提取段落相关信息(包括记录页码信息、页内段落、父标题),处理段落文本的内容,并将处理后产生的数据信息保存至数据存储模块。
[0114]
分词处理模块主要用于从数据存储模块中读取段落相关数据,对分词进行处理,以及去除停留词等。
[0115]
主题提取模块主要用于计算tf-idf权值矩阵、编辑距离、权重和,归一化后排序获取主题词。
[0116]
数据存储模块用于存储处理过程中产生的各种数据,包括处理后的段落文本数据、正文段落及其父标题数据等。数据存储模块采用常规数据库。
[0117]
为了证明本发明的可行性和优越性,进行了验证实验,验证试验选用山东高速集团有限公司提供的山东省各个企业的投标文件进行整理作为数据集。投标文件一般由资信部分、商务部分以及技术部分组成,技术部分专业性更强,评审条款更细致,对数据处理及结果精确度的要求更高,此实验主要针对技术标。数据集包括572个投标文件,大小为5.3g。以下为验证实验的具体步骤:
[0118]
实验环境配置:windows10操作系统、intel(r)core(tm)i5-11300h@3.10ghz、python3.9、
[0119]
输入:json格式的投标文件
[0120]
输出:标题或正文段落内容,物理页码、页内位置、正文段落父标题及段落主题词
[0121]
步骤1:对于输入的json格式的工程项目投标文件,按顺序遍历整个json文件的标签,根据json标签的内容依次将每个标签中的内容分类,分为标题和段落,并记录每个段落对应的父标题;同时根据page标签划分页面,记录页码,为方便后续定位段落位置,记录段落或标题在页面内的位置,即在该页内段落序号;
[0122]
步骤2:在遇到txt正文内容时进行数据清洗,判断并删除空段落、无实际意义的段落,然后判断段落内容中是否含有回车符、换行符,如果有则删除,并将数据依次存入数据库;
[0123]
步骤3:从数据库中依次读取正文段落及其父标题并拼接,然后使用jieba将拼接后的文本分词并去除停留词,得到预处理后的文本表示;
[0124]
步骤4:构建词频矩阵,将文本词语转换成词频矩阵;
[0125]
步骤5:计算并统计每个词语的tf-idf权值,按照公式(1)、(6)、(8)形成tf-idf矩阵,并根据权值排序得到文本主题词;
[0126]
步骤6:使用编辑距离算法计算父标题和每个段落所有主题词的相似度,与步骤5中计算得到的tf-tdf权值加权,得到n维的加权矩阵weight;
[0127]
步骤7:对加权后的矩阵进行归一化,并排序找出占比最高前三个词为主题词w1,w2,w3,将主题词及其比重q1,q2,q3存入数据库中。
[0128]
以上实验选取了10个大于70页的投标文件进行实验,实验结果表明,本发明方法处理一份投标文件的平均速度为0.3374217s,标题及段落提取平均准确率达到99.1%,段落主题词提取的准确率达到95.1%。
[0129]
为了检验本发明选用编辑距离算法计算相似度加权对段落主题识别的准确率提高更有效,与选用余弦相似度算法、simhash算法比较,结果如表1所示,其中准确率1为提取的前三个主题词至少有一个是正确的,准确率2为提取的前三个主题词至少有两个是正确的,准确率3为提取的前三个主题词均为正确的(不考虑顺序)。
[0130]
表1分类结果
[0131][0132][0133]
从表1可以看出,在给定的投标文件数据集上,本发明提出的采用编辑距离计算相似度加权方法的准确率比不使用相似度加权的方法提高了0.9%,比使用余弦相似度算法计算相似度加权算法提高了0.6%,比使用simhash算法提高了0.7%。实验证明本发明提出的方法在提取前三个主题词准确率实现了较好的效果。
[0134]
当然,上述说明并非是对本发明的限制,本发明也并不仅限于上述举例,本技术领域的技术人员在本发明的实质范围内所做出的变化、改型、添加或替换,也应属于本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1