一种采购中标数据的解析方法

文档序号:9631566阅读:479来源:国知局
一种采购中标数据的解析方法【
技术领域
】[0001]本发明涉及数据仓库技术中的ETL(数据抽取、转换和加载)领域,具体涉及一种采购中标数据的解析方法。【
背景技术
】[0002]随着互联网技术的快速发展,每天各类互联网用户都在网上发布大量的Html(超文本标记语言)文档、图片和视频等文件,各种各样的爬虫引擎不停地从各类网站上抓取、分析和应用这些数据。目前,各类搜索引擎通过对Html文本进行分词等处理来支持网页检索。[0003]在政府采购领域,随着各级政府部门进一步加大政府信息公开力度,政府网站发布数据更加频繁、包含信息更加丰富,但由于缺乏特定业务模型和解析方法的支撑,各级部门的政府采购公告缺少统一格式、表述方式各异,现有的搜索引擎只是将这些公告完整复制下来,通过全文检索提供基本的查询服务,由于没有建立结构化模型,无法对抓取的中标公告Html文档进行深度的挖掘和利用,中标公告全文检索的结果往往与用户需求差距很大。[0004]中标记录是政府采购业务中最有价值的数据,包含:供应商、中标金额、子包号、采购人、项目名称、专家等属性。现有通用的政府采购中标公告Html文档的解析方法是提前维护好一组关键字用于匹配,如:供应商的关键字包括“中标人”、“供应商”、“中标候选人”、“报价人”等。依据关键字定位供应商、中标金额、第一候选人、子包号等主要属性所在位置,用常规的关键字匹配方法进行解析,成功解析率往往不到50%,需要采用更先进的解析方法来提升解析率。【
发明内容】[0005]针对现有技术中存在的缺陷和实际应用的需要,本发明的目的在于提供一种采购中标数据高效、准确的解析方法。[0006]为实现上述目的,本发明采用的技术方案如下:[0007]—种采购中标数据的解析方法,包括以下步骤:[0008](1)分离出待解析的Html采购中标公告文本中的标准表格数据和非标准表格数据;[0009](2)根据采购中标公告文本的中标公告属性分别对标准表格数据和非标准表格数据进行解析,得到中标记录;[0010](3)将解析得到的中标记录存储到数据库中。[0011]进一步,如上所述的一种采购中标数据的解析方法,步骤(2)中,所述中标公告属性包括项目名称、供应商、中标金额、采购人和第一中标候选人标志。[0012]进一步,如上所述的一种采购中标数据的解析方法,步骤(1)中,所述标准表格数据是指表格数据中指定的中标公告属性位于表格中同一行、不同列的数据;所述指定的中标公告属性包括供应商和中标金额。[0013]进一步,如上所述的一种采购中标数据的解析方法,步骤(1)中,分离出待解析的Html采购中标公告文本中的标准表格数据和非标准表格数据,包括:[0014]1)根据Html文本的表格标签table分离出Html采购中标公告文本中的所有表格;所有表格包括表格中嵌套的子表格;[0015]2)判断表格中所述指定的中标公告属性是否满足位于表格的同一行且不同列,若是,则确定表格为标准表格,若否,则确定表格为非标准表格。[0016]进一步,如上所述的一种采购中标数据的解析方法,步骤(2)中,对标准表格数据进行解析,包括:[0017]①获取标准表格数据中各中标公告属性的列号;[0018]②循环处理表格中的每一行,根据各中标公告属性的列号,获取每一行的各中标公告属性的值,得到每一行的中标记录。[0019]进一步,如上所述的一种采购中标数据的解析方法,步骤(2)中,采用文本串解析方法对非标准表格数据进行解析,包括:[0020]对于一个非标准表格数据,以中标公告属性或者中标公告属性的关联前缀或后缀为关键字在非标准表格数据中进行检索,得到各中标公告属性的属性值,根据各中标公告属性及其属性值得到中标记录。[0021]进一步,如上所述的一种采购中标数据的解析方法,步骤(2)中,对标准表格数据和非标准表格数据进行解析时,根据表格的嵌套顺序从最内层嵌套表格的数据进行解析,完成一层表格数据的解析后,删除对应层的表格数据。[0022]进一步,如上所述的一种采购中标数据的解析方法,步骤⑴中,在分离出待解析的Html采购中标公告文本中的标准表格数据和非标准表格数据之前,还包括:[0023]对待解析的Html采购中标公告文本进行预处理,删除Html采购中标公告文本中的与中标内容无关的数据。[0024]再进一步,如上所述的一种采购中标数据的解析方法,步骤(3)中,将解析得到的中标记录存储到数据库之前,还包括:[0025]根据中标公告属性的属性值,判断中标记录是否有效,若是,则保留该中标记录,若否,则删除该中标记录。[0026]更进一步,如上所述的一种采购中标数据的解析方法,步骤(3)中,将解析得到的中标记录存储到数据库之前,还包括:[0027]根据中标记录所属表格的标识和其中标公告属性的属性值判断中标记录中的重复记录,并进行去重处理;判断方式为:若两个中标记录所属表格的标识相同且其中标公告属性的属性值相同,则判定两个中标记录重复。[0028]本发明的有益效果在于:本发明提供的采购中标数据的解析方法,能够将非结构化的Html格式采购中标公告转化为结构化的中标记录,该解析方法通过将标准表格数据和非标准表格数据采用不同的解析方式进行分离解析,有效提高了解析率,为采购中标公告数据的深度挖掘和利用提供了基础。【附图说明】[0029]图1为【具体实施方式】中一种采购中标数据的解析方法的流程图;[0030]图2为【具体实施方式】中标准表格数据的解析流程图;[0031]图3为【具体实施方式】中非标准表格数据的解析流程图;[0032]图4为标准表格数据的示意图;[0033]图5为非标准表格数据的示意图。【具体实施方式】[0034]下面结合说明书附图与【具体实施方式】对本发明做进一步的详细说明。[0035]图1示出了本发明【具体实施方式】中一种采购中标数据的解析方法的流程图,该方法可以包括以下步骤:[0036]步骤S100:分离出待解析的Html采购中标公告文本中的表格数据和非标准表格数据;[0037]首先对待解析的Html采购中标公告文本进行预处理,删除采购中标公告文本中与中标内容的无关的数据。在实际的Html采购中标公告文本中,会有很多与实际的中标内容无关的数据,如与文本显示有关(文本的字体、尺寸、颜色等等)的数据或其它不涉及实质中标数据的内容,因此可以提前进行这些数据的删除,以提高后续数据处理的效率。[0038]在实际应用中,可以根据Html文本中的显示类标签查找出Html采购中标公告文本中的只与数据显示有关、与中标内容无关的数据,删除Html采购中标公告文本中的与中标内容无关的数据。其中,所述显示类标签包括但不限于用于定义文字的字体、尺寸和颜色的〈font〉标签、用于定义文档中的节的〈span〉标签、以及无含义空格等。[0039]本实施方式中,所述表格数据包括标准表格数据和非标准表格数据;所述标准表格数据是指表格数据中指定的中标公告属性位于表格中同一行、不同列的数据,指定的中标公告属性包括但不限于供应商和中标金额。如图4中所示的表格数据即为标准表格数据,该表格中报价人名称即供应商和报价金额即中标金额位于位于表格的同一行且不同列。非标准表格数据即标准表格数据之外的数据。[0040]本实施方式中,所述中标公告属性包括项目名称、供应商、中标金额、采购人和第一中标候选人标志等,需要说明的是,在不同的中标公告中,中标公告属性的名称可能会有所不同,可以根据实际情况命名中标公告属性,如供应商也可能称为报价人,中标金额可能称为报价金额。[0041]本实施方式中,分离出待解析的Html采购中标公告文本中的标准表格数据和标准表格数据的具体方式为:[0042]1)根据Html文本的表格标签table分离出Html采购中标公告文本中的所有表格;所有表格包括表格中嵌套的子表格;[0043]2)判断表格中所述指定的中标公告属性是否满足位于表格的同一行且不同列,若是,则确定表格为标准表格,标准表格中的数据即为标准表格数据,若否,则确定表格为非标准表格,非标准表格中的数据即为非标准表格数据。[0044]在实际应用中,将嵌套的<table>(〈table>含〈table〉)分离为独立的N个子〈table〉。每个子〈table〉标签都是以“〈table”开头以“〈/table〉”结束,通过关键字“〈table〉”和“〈/table〉”定位和计数,依次找出嵌套的子〈table〉标签,逐一进行分离,获得每一个子〈table〉标签的完整字符串(表格数据),作为入口参数递归调用数据解析递归算法。[0045]所有的(内嵌的和不包含嵌套的)〈table〉标签处理完毕后,完成了中标公共文本中标准表格数据和非标准表格数据的分离,如图4所示的标准表格数据,如图5中所示的非标准表格数据。在实际应用中,具体根据哪些指定的中标公告属性来确定标准表格和非标准表格可以根据需要进行选择,本实施方式中,通过判断供应商和中标金额是否在当前第1页1 2 
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1