利用投标相似度辅助围串标判定
摘要
围标(bid rigging)是一种非法的竞争行为,对市场公平性和公共资源分配造成严重影响。本文探讨了如何利用投标相似度来辅助判定围标行为。通过详细分析投标文件的内容相似性,选取适当的指标进行相似度计算,并结合实际案例验证其有效性。
引言
围标行为通常通过提交高度相似的投标文件实现,传统的人工审查难以有效识别这些行为。利用人工智能和自然语言处理(NLP)技术,可以对投标文件进行深度分析,识别出潜在的围标行为。本研究重点在于通过相似度分析来辅助围标判定。
相似度计算的指标
在分析投标文件的相似度时,需要选取多个关键指标进行衡量。以下是几个主要的相似度衡量指标及其具体实现方法:
1. **词频-逆文档频率(TF-IDF)**:
- **原理**:TF-IDF是一种统计方法,用于评估一个词语在一个文档中的重要程度。TF表示词频,即一个词在文档中出现的次数。IDF表示逆文档频率,用于衡量词语的普遍性。
- **实现步骤**:
1. 对每份投标文件进行分词处理,去除停用词和标点符号。
2. 计算每个词在文档中的TF值。
3. 计算词语在整个文档集中的IDF值。
4. 乘积得到每个词的TF-IDF值,生成文档的TF-IDF向量。
2. **余弦相似度(Cosine Similarity)**:
- **原理**:余弦相似度用于计算两个向量之间的相似度,通过计算向量夹角的余弦值来判断相似程度。其值在-1到1之间,值越接近1表示相似度越高。
- **实现步骤**:
1. 将每份投标文件的TF-IDF值向量化。
2. 计算两个向量的点积。
3. 计算两个向量的模。
4. 计算点积与模的比值,得到余弦相似度。
3. **Jaccard相似度(Jaccard Similarity)**:
- **原理**:Jaccard相似度用于衡量两个集合的相似度,是两个集合交集与并集的比值。其值在0到1之间,值越接近1表示相似度越高。
- **实现步骤**:
1. 对每份投标文件进行分词处理,生成词集。
2. 计算两个词集的交集大小。
3. 计算两个词集的并集大小。
4. 计算交集大小与并集大小的比值,得到Jaccard相似度。
4. **编辑距离(Edit Distance)**:
- **原理**:编辑距离用于衡量两个字符串之间的差异,表示将一个字符串转换为另一个字符串所需的最少编辑操作次数。编辑操作包括插入、删除和替换。
- **实现步骤**:
1. 对每份投标文件进行预处理,生成字符串。
2. 计算两个字符串之间的编辑距离。
3. 根据编辑距离的大小来衡量文档的相似度。
应用案例
在实际应用中,可以将上述相似度计算方法结合使用,以提高判定的准确性。以下是一个具体案例:
1. **数据收集**:收集某一项目的所有投标文件,进行文本预处理。
2. **特征提取**:对每份投标文件计算TF-IDF值,生成TF-IDF向量。
3. **相似度计算**:使用余弦相似度、Jaccard相似度和编辑距离分别计算每对投标文件的相似度分数。
4. **综合评估**:根据相似度分数设定阈值,超过阈值的文件对被标记为可能存在围标行为。
5. **人工审核**:对标记的异常文件进行人工审核,结合其他信息确认是否存在围标行为。
结果分析
通过上述方法,对某市政府公开招标项目的历史数据进行分析,结果表明基于相似度计算的异常检测方法能够有效识别出潜在的围标行为。统计分析显示,结合多种相似度指标的方法比单一指标的方法具有更高的准确性和召回率。
讨论
相似度计算在防围串标系统中具有显著的优势,但也面临一些挑战:
1. **数据质量**:投标数据的质量直接影响检测结果,需要进行数据清洗和预处理。
2. **阈值设定**:不同项目的阈值设定可能需要调整,以适应不同的投标环境和数据特点。
3. **模型综合**:将多种相似度计算方法综合使用,能够提高检测的准确性,但也增加了计算复杂度和处理时间。
结论与未来工作
基于相似度计算的异常检测在防围串标系统中展示了广阔的应用前景。未来,可以进一步研究结合深度学习的方法,提升检测的准确性和实时性。此外,加强多部门的数据共享和协作,构建更全面的防围串标系统,也是未来的发展方向。
参考文献
1. Salton, G., Wong, A., & Yang, C. S. (1975). A vector space model for automatic indexing. *Communications of the ACM*, 18(11), 613-620.
2. Manning, C. D., Raghavan, P., & Schütze, H. (2008). Introduction to Information Retrieval. Cambridge University Press.
3. Cohen, W. W., Ravikumar, P., & Fienberg, S. E. (2003). A comparison of string distance metrics for name-matching tasks. In *IIWeb* (pp. 73-78).
通过本文,希望能够对利用相似度计算进行围标行为判定的原理和应用有一个全面的了解,为进一步研究和实践提供参考。
相关文章:
利用投标相似度辅助围串标判定
摘要 围标(bid rigging)是一种非法的竞争行为,对市场公平性和公共资源分配造成严重影响。本文探讨了如何利用投标相似度来辅助判定围标行为。通过详细分析投标文件的内容相似性,选取适当的指标进行相似度计算,并结合实…...
iOS 开发者的 Flutter 入门课
作为一名 iOS 开发者,入门 Flutter 需要了解一些新的工具和概念,但也能利用你已有的知识和技能。以下是一个详细的入门指南,帮助你快速上手 Flutter: 1. 环境设置 首先,你需要设置开发环境。 安装 Flutter SDK 前往…...
单机版k8s搭建
环境配置: 关闭防火墙和交换内存 systemctl stop ufwsudo swapoff -a安装Docker 更新安装包 sudo apt-get update安装依赖 sudo apt install -y curl gnupg2 software-properties-common apt-transport-https ca-certificates获取证书 curl -fsSL http://mirrors.a…...
IDEA创建Spring项目无法使用Java8的解决方案
文章目录 一,创建Project,无法选择Java81,无法选择Java82,选择JDK17报错 二,原因分析1,Spring Boot将来会全力支持Java17,不再维护支持Java8的版本 三,解决方案1,使用国内…...
无障碍快捷方式图标
问题背景 测试反馈,无障碍快捷方式和setting里的无障碍图标不一致。 无障碍快捷方式悬浮窗 1、悬浮窗在systemui中 frameworks\base\packages\SystemUI\src\com\android\systemui\accessibility\floatingmenu\AccessibilityTargetAdapter.java 图标获取方式&…...
基于LangChain的RAG开发教程(二)
v1.0官方文档:https://python.langchain.com/v0.1/docs/get_started/introduction/ 最新文档:https://python.langchain.com/v0.2/docs/introduction/ LangChain是一个能够利用大语言模型(LLM,Large Language Model)能…...
Nifi 与 Kettle
01 Kettle简介 Kettle是一个开源的ETL(Extract-Transform-Load)工具,可以用于数据集成、数据转换和数据处理等任务。它提供了一组可视化的设计工具,使得用户可以通过简单的拖拽和连接来构建数据流程,并且还支持多种数据…...
uniapp安卓端实现语音合成播报
最初尝试使用讯飞语音合成方式,能获取到语音数据,但是数据是base64格式的,在安卓端无法播放,网上有说通过转成blob格式的url可以播放,但是uniapp不支持转换的api;于是后面又想其他办法,使用安卓插件播报原生安卓语音播报插件 - DCloud 插件市场 方案一(讯飞语音合成) 1.在讯飞…...
Studying-代码随想录训练营day31| 56.合并区间、738.单调递增的数字、968.监控二叉树、贪心算法总结
第31天,贪心最后一节(ง •_•)ง💪,编程语言:C 目录 56.合并区间 738.单调递增的数字 968.监控二叉树 贪心算法总结 56.合并区间 文档讲解:代码随想录合并区间 视频讲解:手撕合并区间 题目…...
springboot装修接单平台-计算机毕业设计源码25005
摘要 随着装修行业的快速发展和数字化趋势,传统的装修接单方式已显不足以满足用户需求,因此建立一个便捷高效的平台具有重要意义。通过利用Java语言的跨平台特性和强大的编程能力,结合SpringBoot框架的快速开发特性和Mysql数据库的稳定性&…...
matlab仿真 信道(下)
(内容源自详解MATLAB/SIMULINK 通信系统建模与仿真 刘学勇编著第四章内容,有兴趣的读者请阅读原书) 之前的内容还剩下simulink的仿真过程。 3.simulink中的AWGN模块仿真 系统框图如图所示,TX和RX 模块需要单独实现…...
华宇携TAS应用中间件亮相2024年山东江信智能信创产品推介会
信创产业是数据、网络安全的基础,也是“新基建”的重要内容,将成为拉动经济发展的重要抓手之一。 7月5日,以“信守时代机遇,创造辉煌未来”为主题的山东江信智能信创产品推介会在济南举办。本次产品推介会汇聚了国内众多信息技术…...
单向链表的数据存储(申请堆空间)
函数功能: 0.排序(逆置和顺序排序) 1.回显 2.头插 3.位插 4.尾插 5.尾删 6.头删 7.位删 8.查找 (按值或按位查找) 9.修改 (按值或按位修改) 10.退出 main.c …...
MySQL8之mysql-community-common的作用
在MySQL 8中,mysql-community-common是一个软件包,它提供了MySQL服务器和客户端库所需的一些共同文件。具体来说,mysql-community-common的作用包括但不限于以下几点: 1. 提供基础配置和错误信息 错误信息和字符集包:…...
Emacs有什么优点,用Emacs写程序真的比IDE更方便吗?
Emacs 是一个功能强大的文本编辑器和应用程序框架,它拥有众多的优点,这些优点使得它在某些情况下成为编程的强大工具。然而,是否用 Emacs 写程序比 IDE 更方便,这很大程度上取决于个人的工作习惯和偏好。 Emacs 的主要优点包括&a…...
如何切换手机的ip地址
在数字时代的浪潮中,智能手机已成为我们日常生活中不可或缺的一部分。然而,随着网络安全问题的日益凸显,保护个人隐私和数据安全变得尤为重要。其中,IP地址作为网络身份的重要标识,其安全性与隐私性备受关注。本文将详…...
前端画图引擎ZRender,echarts的渲染器,你知道吗?
Zrender是一个轻量级的Canvas和SVG渲染库,它提供了一个高性能的图形绘制和交互的解决方案,用于在Web页面上创建丰富的数据可视化和交互式图形。 可能大部分小伙伴不知道这个类库,本文给大家科普一下。 一、Zrender是谁? 该项目…...
web前端开发——标签一
今天我来针对web前端开发讲解标签一 Html标签_标题&段落&换行 注释标签:Ctrl/ Ctrl/ ,用户可能会获取到注释标签 注释的原则: •和代码逻辑一致 •尽量使用中文 •正能量 标题标签:<h1></h1> h1-h6 标题标签有6…...
【深度学习】探讨最新的深度学习算法、模型创新以及在图像识别、自然语言处理等领域的应用进展
深度学习作为人工智能领域的重要分支,近年来在算法、模型以及应用领域都取得了显著的进展。以下将探讨最新的深度学习算法与模型创新,以及它们在图像识别、自然语言处理(NLP)等领域的应用进展。 一、深度学习算法与模型创新 新型…...
使用 mongo2neo4j 和 SemSpect 通过各种方式进行图探索
用于可视化和探索每个 MEAN 堆栈背后的数据图的 ETL 您是否正在努力回答有关 MEANS Web 服务数据的紧急问题?哪里有 BI 可以快速回答“上个季度哪些亚洲的artisan.plus 用户触发了订单?”这个问题,而无需编写查询?使用 mongo2neo4…...
R语言AI模型部署方案:精准离线运行详解
R语言AI模型部署方案:精准离线运行详解 一、项目概述 本文将构建一个完整的R语言AI部署解决方案,实现鸢尾花分类模型的训练、保存、离线部署和预测功能。核心特点: 100%离线运行能力自包含环境依赖生产级错误处理跨平台兼容性模型版本管理# 文件结构说明 Iris_AI_Deployme…...
MFC内存泄露
1、泄露代码示例 void X::SetApplicationBtn() {CMFCRibbonApplicationButton* pBtn GetApplicationButton();// 获取 Ribbon Bar 指针// 创建自定义按钮CCustomRibbonAppButton* pCustomButton new CCustomRibbonAppButton();pCustomButton->SetImage(IDB_BITMAP_Jdp26)…...
JVM垃圾回收机制全解析
Java虚拟机(JVM)中的垃圾收集器(Garbage Collector,简称GC)是用于自动管理内存的机制。它负责识别和清除不再被程序使用的对象,从而释放内存空间,避免内存泄漏和内存溢出等问题。垃圾收集器在Ja…...
【android bluetooth 框架分析 04】【bt-framework 层详解 1】【BluetoothProperties介绍】
1. BluetoothProperties介绍 libsysprop/srcs/android/sysprop/BluetoothProperties.sysprop BluetoothProperties.sysprop 是 Android AOSP 中的一种 系统属性定义文件(System Property Definition File),用于声明和管理 Bluetooth 模块相…...
从零实现STL哈希容器:unordered_map/unordered_set封装详解
本篇文章是对C学习的STL哈希容器自主实现部分的学习分享 希望也能为你带来些帮助~ 那咱们废话不多说,直接开始吧! 一、源码结构分析 1. SGISTL30实现剖析 // hash_set核心结构 template <class Value, class HashFcn, ...> class hash_set {ty…...
精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南
精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南 在数字化营销时代,邮件列表效度、用户参与度和网站性能等指标往往决定着创业公司的增长成败。今天,我们将深入解析邮件打开率、网站可用性、页面参与时…...
并发编程 - go版
1.并发编程基础概念 进程和线程 A. 进程是程序在操作系统中的一次执行过程,系统进行资源分配和调度的一个独立单位。B. 线程是进程的一个执行实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。C.一个进程可以创建和撤销多个线程;同一个进程中…...
Rust 开发环境搭建
环境搭建 1、开发工具RustRover 或者vs code 2、Cygwin64 安装 https://cygwin.com/install.html 在工具终端执行: rustup toolchain install stable-x86_64-pc-windows-gnu rustup default stable-x86_64-pc-windows-gnu 2、Hello World fn main() { println…...
Scrapy-Redis分布式爬虫架构的可扩展性与容错性增强:基于微服务与容器化的解决方案
在大数据时代,海量数据的采集与处理成为企业和研究机构获取信息的关键环节。Scrapy-Redis作为一种经典的分布式爬虫架构,在处理大规模数据抓取任务时展现出强大的能力。然而,随着业务规模的不断扩大和数据抓取需求的日益复杂,传统…...
在 Spring Boot 中使用 JSP
jsp? 好多年没用了。重新整一下 还费了点时间,记录一下。 项目结构: pom: <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://ww…...
