亚洲欧美一区二区成人片,久爱www人成视频在线观看,玩丰满高大邻居人妻无码,妺妺窝人体色WWW聚色窝仙踪

利用大數(shù)據(jù)分析快速識別圍標(biāo)串標(biāo)-天勤動態(tài)-湖南天勤財(cái)務(wù)咨詢有限公司-湖南天勤會計(jì)師事務(wù)所_天勤咨詢集團(tuán)
全國服務(wù)熱線 0731-84391512
當(dāng)前位置:首頁>>天勤動態(tài)

利用大數(shù)據(jù)分析快速識別圍標(biāo)串標(biāo)

時(shí)間:2019-09-12 09:08:55

《招標(biāo)投標(biāo)法實(shí)施條例》第四十條 有下列情形之一的,視為投標(biāo)人相互串通投標(biāo):……(四)不同投標(biāo)人的投標(biāo)文件異常一致或者投標(biāo)報(bào)價(jià)呈規(guī)律性差異……在審計(jì)實(shí)務(wù)中,通過檢查各家投標(biāo)文件的技術(shù)標(biāo)中的文字是否存在大段重復(fù),特別是異常一致現(xiàn)象是檢測圍標(biāo)串標(biāo)的一個(gè)重要方法。但是,采用傳統(tǒng)的人工篩選比較費(fèi)時(shí)費(fèi)力,且效果受限于檢測人員能力和水平。
K-gram算法是一種用于文本分析的大數(shù)據(jù)分析方法,基于此方法,可以對投標(biāo)人提供的電子文件進(jìn)行對比,發(fā)現(xiàn)各投標(biāo)文件中的重復(fù)文本。

 

K-gram算法介紹

通過下面的例子對K-gram算法做一個(gè)簡單的介紹。

如下兩句話,假定連續(xù)8個(gè)字重復(fù)即判定存在重復(fù)(為了便于說明所做的假設(shè),在實(shí)際工作中可以根據(jù)實(shí)際情況選擇假定連續(xù)多少個(gè)字相同即判定存在重復(fù)。)
句一:探索利用大數(shù)據(jù)識別圍標(biāo)串標(biāo)
句二:大數(shù)據(jù)識別圍標(biāo)串標(biāo)的方法需要認(rèn)真研究
上面兩句話中,“大數(shù)據(jù)識別圍標(biāo)串標(biāo)”連續(xù)9個(gè)字重復(fù)。
K-gram算法的實(shí)現(xiàn)方法如下:
1、將句子按照每8個(gè)字滑移提取字符串,即k=8。
句一被轉(zhuǎn)化為6個(gè)字符串集合{“探索利用大數(shù)據(jù)識”,“索利用大數(shù)據(jù)識別” ,“利用大數(shù)據(jù)識別圍”, “用大數(shù)據(jù)識別圍標(biāo)”,“大數(shù)據(jù)識別圍標(biāo)串”, “大數(shù)據(jù)識別圍標(biāo)串”}。
句二被轉(zhuǎn)化為11個(gè)字符串集合{“大數(shù)據(jù)識別圍標(biāo)串”,“數(shù)據(jù)識別圍標(biāo)串標(biāo)” ,“據(jù)識別圍標(biāo)串標(biāo)的” ,“識別圍標(biāo)串標(biāo)的方” ,“別圍標(biāo)串標(biāo)的方法” ,“圍標(biāo)串標(biāo)的方法需” ,“標(biāo)串標(biāo)的方法需要” ,“串標(biāo)的方法需要認(rèn)” ,“標(biāo)的方法需要認(rèn)真” ,“的方法需要認(rèn)真研”,“方法需要認(rèn)真研究”  }。
2、比較兩個(gè)字符串集合,存在2個(gè)重復(fù)元素{“大數(shù)據(jù)識別圍標(biāo)串”,“數(shù)據(jù)識別圍標(biāo)串標(biāo)”} ,判定以上兩句話存在連續(xù)8個(gè)字以上的重復(fù)。

 

具體實(shí)現(xiàn)過程

假定在技術(shù)標(biāo)中存在連續(xù)100個(gè)字重復(fù),即判定其投標(biāo)文件存在圍標(biāo)串標(biāo)嫌疑,利用Python編程實(shí)現(xiàn)其算法。

代碼如下:

k=100   #設(shè)定連續(xù)重復(fù)多少字存在圍標(biāo)串標(biāo)嫌疑

#獲取甲公司技術(shù)標(biāo)字符串?dāng)?shù)據(jù)集合

with open(r"d:¥甲公司技術(shù)標(biāo).txt",'r',encoding='utf-8') as f:

         text=f.read()

         f.close()

n = len(list(text))

a=set()

if n < k:

  print("文件太小,無法切分")

else:

   for i in range(n-k+1):

       a.add(text[i:i+k-1])

#獲取乙公司技術(shù)標(biāo)字符串?dāng)?shù)據(jù)集合

with'宋體'; font-size:12pt; font-weight:normal; text-decoration:none">with open(r"d:¥乙公司技術(shù)標(biāo).txt",'r',encoding='utf-8') as f:

  &n;        text=f.read()

         f.close()

n = len(list(text))

b=set()

if n < k:

  print("文件太小,無法切分")

else:

   for i in range(n-k+1):

       b.add(text[i:i+k-1])

#查詢兩個(gè)公司投標(biāo)文件存在重復(fù)的地方及重復(fù)情況

ab=a&b

print(ab)

print(len(ab))

來源:審計(jì)工作。