运用Python技术通过投标文件查重分析审查串通投标问题
投资审计以推进项目建设、强化项目管理、提高资金使用效益为目标,审查招标投标管理情况是其中重要一环。若采取传统审计方法,审计人员需要应对海量文本数据,效率低、覆盖面窄。本文以B市某政府投资工程建设情况专项审计调查为例,介绍利用Python文本分析技术,通过标准化流程设计,对投标文件进行数据查重分析,快速识别投标文件中异常重复、错误一致性及隐含关联信息,筛查串通投标疑点标段,以供参考。 在B市某政府投资工程建设情况专项审计调查中,审计组将招标投标及合同管理作为重点调查事项。通过前期调查和梳理建设单位提供的资料,审计人员发现该工程建设项目多、标段多、投标人多,且被审计单位提供的多数投标文件为PDF、扫描图片等格式。面对无法利用文本编辑软件直接查重,且人工查重难的问题,审计人员决定采用Python文本分析技术,对工程招标各类文本信息进行深度挖掘,结合政策文件、相关法规,审查是否存在串通投标问题。 审计人员结合招标投标法实施条例及释义、B市住房城乡建设部门关于建设工程招标投标管理相关规定中“不同投标人的投标文件异常一致”的串通投标判定依据,梳理建设项目招标投标台账等资料,采用“数据标准化—特征提取—异常检测—疑点核实”的审计模式,运用Python语言结合自然语言处理技术,对投标文件进行查重,识别标书中的异常部分,再对疑点标段做进一步核实。 梳理各投标人提供的投标文件,将PDF格式(包括文本形式和扫描件形式)等非可编辑格式文件,统一转化为能够进行文本异常检测的DOCX格式,实现格式标准化。 针对布局简单的文本形式PDF格式文件,利用Python的pdf2docx库中的convert方法,进行批量转化。针对扫描件形式的PDF格式文件,由于图片中并不包含可编辑的文本信息,清洗工作较为复杂,审计人员运用PyMuPDF、PyTesseract、python-docx以及Tesseract-OCR等多种库和工具,进行OCR配置,下载Tesseract5.0并配置中文语言包,再使用fitz库将PDF格式文件逐页转为PNG图像,并保存至同一文件夹,最后对文件夹中的每张图片,利用OCR光学字符识别技术调用Tesseract进行批量文字识别,生成结构化文本,并将文本写入同一DOCX文档,释放临时空间。 根据B市住房城乡建设部门关于建设工程招标投标管理相关规定“不同投标人的投标文件中(投标人针对投标项目特点自行编制部分)出现整章节、整段落……异常一致”的串通投标细化认定标准,审计人员将同一标段中标人提供的投标文件,分别与未中标投标人提供的投标文件进行查重比对。首先,利用docx库中的Document方法,读取对投标文件清洗后的DOCX文件,以自然段形式进行拆分,再将段落依据标点符号拆分为子句。其次,根据段落划分情况进行对比。考虑到工程项目中专有名词和专业术语可能存在重复的情况,审计人员在编制代码时设定忽略长度小于5的子句,同时考虑到存在某个子句包含于另一个子句中的情况,在编制代码时不要求两个子句完全相同。最后,通过计算两个段落中相同字符的长度与其中较短段落字符长度之间的比值,计算两个段落的相似度,筛选出重复度较高的段落和章节后,提取筛查数据信息并形成文档。 为保证评标的公平性,招标人通常要求在技术标的投标文件中不得出现暗示性文字,如该项目以外的地名、属于某一投标人的特有业绩、标准、标号等。审计人员在完成段落章节相似度分析后,还需审查投标文件中是否存在异常信息。主要操作为:编制可实现代码识别各投标人(含中标人)提供的投标文件中出现B市以外的地名或项目名,以及出现公司名称等异常信息,自定义敏感词库包含地名、企业、公司、项目、编号等,设定特定的正则表达式匹配模式,筛选出如“某公司”“某项目”“某工程”等语句,提取筛查数据信息并形成文档,并将不同投标文件中提取的异常信息进行比对。 招标投标法实施条例释义中提到“异常一致”的典型表现包括“投标文件内容错误或打印错误雷同”。审计人员要对投标文件进行错误一致性检测,旨在检测投标文件中存在的拼写错误、标点误用等非显性异常,尤其是多个投标文件在相同位置出现相同错误的情况。通过jieba中文分词器对投标文件进行分词处理,筛选在中文词库中未命中的词汇,并通过正则表达式匹配连续重复的中文字符(如“甲方甲方”等)。同时,根据中文常见的标点符号用法,设定标点误用的检测规则,利用正则表达式筛选出投标文件中如连续逗号、引号括号不匹配等标点错误。 经上述操作筛查后,审计人员发现某建设项目中标文件和某未中标文件存在地名、项目名称异常一致情况;另一建设项目存在中标文件与某未中标文件多个段落高度一致情况。抽查相关招标投标资料,重点关注投标人之间是否存在控股或管理关系、投标文件的编制信息是否雷同、投标人业绩是否真实、重复内容是否涉及核心技术方案等,并对该标段是否存在串标行为做出判定。 结合Python文本分析技术挖掘的疑点问题,审计人员对相关标段进行深入核查,发现个别项目未中标投标人的投标文件中出现中标人特有业绩、招标人职责履行不到位影响中标结果等问题,提出加强招标投标和合同管理,切实履行招标人主体责任,提高财政资金使用效益等审计建议。该方法解决了投标文件过大,人工查重及异常分析无法实现的难题,通过自动批量处理和分析招标投标数据,快速识别潜在风险点,进一步提高了审计质效。(作者单位:北京市审计局)