日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

算法bug修复

發(fā)布時(shí)間:2024/1/1 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 算法bug修复 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

問題一:

16
0
length:4
length:4
length:4
length:4
29
0
length:2
length:2
16
0
length:5
length:5
length:5
length:5
length:5
38
本來非零元素應(yīng)該為5*8為40個(gè),可是因?yàn)橐痪湓捴械南嗨圃~,會(huì)出現(xiàn)重復(fù),所以可能出現(xiàn)前一個(gè)詞的相似度和相似詞,被后一個(gè)詞所覆蓋

會(huì)導(dǎo)致出來的準(zhǔn)確率不夠準(zhǔn),

也會(huì)導(dǎo)致

為此,我們可能要引入word2vec里詞的判斷,只加入相似度大于某一個(gè)閾值的詞。然而,這樣的話,對(duì)于長(zhǎng)短句子,怎么進(jìn)行公平的比較?

?

【可能我們topn 要測(cè)試一下取大一點(diǎn)了】

topn設(shè)大有助于讓我們更傾向于出現(xiàn)相同詞,而不是相似詞

?

?

可能要做一個(gè)相同詞的匹配,如果出現(xiàn)相同詞,這個(gè)相同詞要加在最后再進(jìn)行word2vec詞相似度的寫入,這樣才不會(huì)被其他詞所覆蓋

又或者,我們?cè)谙嗨贫荣x值的時(shí)候,使用相加的方式?

比如? 但是 有一個(gè)相似詞 但,相似度是0.8,

然后? 可是 有一個(gè)相似詞 但,相似度是0.7,我們對(duì)于對(duì)于這個(gè)詞的賦值,使用疊加1.5?好像也怪怪的。

我覺得應(yīng)該對(duì)于重復(fù)的詞,我們?nèi)⊥耆粯拥南嗨贫确植?/p>

比如兩個(gè)句子都出現(xiàn)但是,那么我們對(duì) 但是,取一模一樣的詞分布(可以把重復(fù)的詞放在末尾進(jìn)行賦值)

對(duì)于兩個(gè)不同的詞,他們有相同的相似詞呢?取相似度大的吧?這樣的話,如果出現(xiàn)了這個(gè)詞,則也對(duì)近義詞理解有幫助

?

對(duì)了,對(duì)于basesimilarity,我們應(yīng)該取vec的非零值的個(gè)數(shù),而不是用詞數(shù)相乘,而且這樣的話不用傳topn,只要傳入vec或者leng(vec nonzero)就好,

這樣會(huì)更準(zhǔn)確,

?

對(duì)了,我把所有相似度的分布,畫成圖,然后問一下大家怎么做歸一化

?

改進(jìn)的話,是不是可以把設(shè)置的權(quán)重調(diào)低?

?

考慮一下只是圖譜如何弄

?

====================

今天出現(xiàn)了一個(gè)算法bug

微信提示收到多少錢
['微信', '收到', '提示', '多少錢']
0.31954264640808105
{'confidence': 0.3207103750440659, 'answer': "(匹配):微信提示收到多少錢('微信', '收到', '提示', '多少錢')\n (標(biāo)準(zhǔn)):微信提示收到多少錢"}
{'confidence': 0.1334743309275807, 'answer': "(匹配):終身版的多少錢('多少錢', '終身版')\n (標(biāo)準(zhǔn)):這個(gè)收銀系統(tǒng)怎么收費(fèi)?"}
{'confidence': 0.13280269790244556, 'answer': "(匹配):可以通過微信個(gè)人收款碼?('微信', '收款碼')\n (標(biāo)準(zhǔn)):可以通過微信個(gè)人收款碼?"}
{'confidence': 0.13262952072991352, 'answer': "(匹配):銀豹有微信拉粉嗎?('微信', '拉粉')\n (標(biāo)準(zhǔn)):銀豹有微信拉粉嗎?"}
{'confidence': 0.1312973178102419, 'answer': "(匹配):有沒有微信商戶版的?('微信', '商戶')\n (標(biāo)準(zhǔn)):有沒有微信商戶版的?"}
{'confidence': 0.13003625241844238, 'answer': "(匹配):微信怎么綁?('微信', '綁')\n (標(biāo)準(zhǔn)):微信怎么綁?"}
{'confidence': 0.13003625241844238, 'answer': "(匹配):微信里怎么看到銀豹后臺(tái)?('微信', '后臺(tái)')\n (標(biāo)準(zhǔn)):微信里怎么看到銀豹后臺(tái)?"}
{'confidence': 0.13003625241844238, 'answer': "(匹配):你們只支持微信嗎?('微信', '支持')\n (標(biāo)準(zhǔn)):你們支持微信和支付寶嗎?"}
{'confidence': 0.1296702929762439, 'answer': "(匹配):漏單沒有提示的嗎?('漏單', '提示')\n (標(biāo)準(zhǔn)):系統(tǒng)能查看漏單或提示漏單嗎?"}
{'confidence': 0.12954782946680146, 'answer': "(匹配):刷卡器多少錢?('刷卡器', '多少錢')\n (標(biāo)準(zhǔn)):刷卡器多少錢?"}

微信提示收到多少錢
['微信', '收到', '提示', '多少錢']
0.3296504020690918
{'confidence': 1.0, 'answer': "(匹配):微信提示收到多少錢('微信', '收到', '提示', '多少錢')\n (標(biāo)準(zhǔn)):微信提示收到多少錢"}
{'confidence': 0.13507810593582123, 'answer': "(匹配):終身版的多少錢('多少錢', '終身版')\n (標(biāo)準(zhǔn)):這個(gè)收銀系統(tǒng)怎么收費(fèi)?"}
{'confidence': 0.13367660240019172, 'answer': "(匹配):可以通過微信個(gè)人收款碼?('微信', '收款碼')\n (標(biāo)準(zhǔn)):可以通過微信個(gè)人收款碼?"}
{'confidence': 0.13367660240019172, 'answer': "(匹配):銀豹有微信拉粉嗎?('微信', '拉粉')\n (標(biāo)準(zhǔn)):銀豹有微信拉粉嗎?"}
{'confidence': 0.13231996486433337, 'answer': "(匹配):有沒有微信商戶版的?('微信', '商戶')\n (標(biāo)準(zhǔn)):有沒有微信商戶版的?"}
{'confidence': 0.13100580420257674, 'answer': "(匹配):微信怎么綁?('微信', '綁')\n (標(biāo)準(zhǔn)):微信怎么綁?"}
{'confidence': 0.13100580420257674, 'answer': "(匹配):收銀機(jī)是多少錢('多少錢', '收銀機(jī)')\n (標(biāo)準(zhǔn)):收銀機(jī)是多少錢"}
{'confidence': 0.13100580420257674, 'answer': "(匹配):微信里怎么看到銀豹后臺(tái)?('微信', '后臺(tái)')\n (標(biāo)準(zhǔn)):微信里怎么看到銀豹后臺(tái)?"}
{'confidence': 0.13100580420257674, 'answer': "(匹配):漏單沒有提示的嗎?('漏單', '提示')\n (標(biāo)準(zhǔn)):系統(tǒng)能查看漏單或提示漏單嗎?"}
{'confidence': 0.13100580420257674, 'answer': "(匹配):你們只支持微信嗎?('微信', '支持')\n (標(biāo)準(zhǔn)):你們支持微信和支付寶嗎?"}

?

同樣的一句話,可是兩次提問,回答的卻不一樣。我中間有加一些別的。

經(jīng)測(cè)試,應(yīng)該是我直接賦值vec1,vec2出了問題,以后碰到函數(shù)里面更改了vec1vec2的,最好還是用vec1_temp=vec1.copy()比較安全

vec1_temp = vec1.copy()
vec2_temp = vec2.copy()
vec_index1 = vec1_nonzero_nonkeyword&vec2_zero
vec_index2 = vec2_nonzero_nonkeyword&vec1_zero

vec1_temp[vec_index1] = 1
vec2_temp[vec_index2] = 1


==========
經(jīng)檢驗(yàn),一個(gè)詞的句子與一個(gè)詞的句子,他們之間完全相同,相似度最低是0.82,所以如果要去掉分詞之后完全相同的,就去掉0.80以上的就行

微信店鋪
['微信店鋪']
0.4010460376739502
{'confidence': 0.8242659161988843, 'answer': "(匹配):有沒有微信店鋪?('微信店鋪',)\n (標(biāo)準(zhǔn)):有沒有微信店鋪?"}
{'confidence': 0.11767885635119946, 'answer': "(匹配):微信店鋪和網(wǎng)上商城是一回事嗎?('網(wǎng)上商城', '微信店鋪')\n (標(biāo)準(zhǔn)):微信店鋪和網(wǎng)上商城是一回事嗎?"}
{'confidence': 0.0833948963312266, 'answer': "(匹配):微信店鋪有什么用處?('微信店鋪', '用處')\n (標(biāo)準(zhǔn)):微信店鋪有什么用處?"}

?

=============================

今天遇到一個(gè)問題,當(dāng)我要加入不重要詞的時(shí)候,對(duì)于個(gè)TRUE FALSE的np array操作,然后使用這個(gè)向量作為nonkeywords

發(fā)現(xiàn)巨慢! 查找一次竟然要用2秒

我后來把這個(gè)向量改為0101的形式,然后使用vec_not_special = (vec_not_special==1),速度才回到正常值

為什么會(huì)這樣??

?

vec1,vec_not_special = sent2vec(q1_cut,model,topn=10,sent_raw=question)
vec_not_special = (vec_not_special==1)
vec1_count_nonzero = np.sum(vec1!=0)
vec1_nonzero_nonkeyword = (vec1>0)&vec_not_special

轉(zhuǎn)載于:https://www.cnblogs.com/yjybupt/p/10007733.html

總結(jié)

以上是生活随笔為你收集整理的算法bug修复的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。