<p>我遇到了一个小的零错误,但我找不到它。我的目的是比较一个包含这些单词的文本文件。在</p>
<pre><code>secondly
pardon
woods
secondly
</code></pre>
<p>我写了一个脚本来比较这两个值:</p>
^{pr2}$
<p>我的代码执行以下操作:</p>
<p>1)如果单词相同,则得分为1,否则为gensim向量模型计算的分数
2) 有一个计数器,当第一个for循环移到下一个字时,计数器将复位。例如,第二,赦免;第二,伍兹,第二,第二(此时的人数是3)</p>
<p><strong>代码</strong></p>
<pre><code>from __future__ import division
import gensim
textfile = 'businessCleanTxtUniqueWords'
model = gensim.models.Word2Vec.load("businessSG")
count = 0 # keep track of counter
score = 0
avgScore = 0
SentenceScore = 0
externalCount = 0
totalAverageScore = 0
with open(textfile, 'r+') as f1:
words_list = f1.readlines()
for each_word in words_list:
word = each_word.strip()
for each_word2 in words_list[words_list.index(each_word) + 1:]:
count = count + 1
try:
word2 = each_word2.strip()
print(word, word2)
# if words are the same
if (word == word2):
score = 1
else:
score = model.similarity(word,word2) # when words are not the same
# if word is not in vector model
except KeyError:
score = 0
# to keep track of the score
SentenceScore=SentenceScore + score
print("the score is: " + str(score))
print("the count is: " + str(count))
# average score
avgScore = round(SentenceScore / count,5)
print("the avg score: " + str(SentenceScore) + '/' + str(count) + '=' + str(avgScore))
# reset counter and sentence score
count = 0
SentenceScore = 0
</code></pre>
<p><strong>错误消息:</strong></p>
<pre><code>Traceback (most recent call last):
File "C:/Users/User/Desktop/Complete2/Complete/TrainedTedModel/LatestJR.py", line 41, in <module>
avgScore = round(SentenceScore / count,5)
ZeroDivisionError: division by zero
('secondly', 'pardon')
the score is: 0.180233083443
the count is: 1
('secondly', 'woods')
the score is: 0.181432347816
the count is: 2
('secondly', 'secondly')
the score is: 1
the count is: 3
the avg score: 1.36166543126/3=0.45389
('pardon', 'woods')
the score is: 0.405021005657
the count is: 1
('pardon', 'secondly')
the score is: 0.180233083443
the count is: 2
the avg score: 0.5852540891/2=0.29263
('woods', 'secondly')
the score is: 0.181432347816
the count is: 1
the avg score: 0.181432347816/1=0.18143
</code></pre>
<p>我已经为分区添加了“<code>from __future__ import division</code>”,但它似乎没有修复它</p>
<p>我的文件可以在以下链接中找到:</p>
<p>Gensim型号:</p>
<p><a href="https://entuedu-my.sharepoint.com/personal/jseng001_e_ntu_edu_sg/_layouts/15/guestaccess.aspx?guestaccesstoken=BlORQpsmI6RMIja55I%2bKO9oF456w5tBLR43XZdVCQIA%3d&docid=00459c024d33d48638508dd331cf73144&rev=1&expiration=2016-11-25T23%3a56%3a48.000Z" rel="nofollow">https://entuedu-my.sharepoint.com/personal/jseng001_e_ntu_edu_sg/_layouts/15/guestaccess.aspx?guestaccesstoken=BlORQpsmI6RMIja55I%2bKO9oF456w5tBLR43XZdVCQIA%3d&docid=00459c024d33d48638508dd331cf73144&rev=1&expiration=2016-11-25T23%3a56%3a48.000Z</a></p>
<p>文本文件:</p>
<p><a href="https://entuedu-my.sharepoint.com/personal/jseng001_e_ntu_edu_sg/_layouts/15/guestaccess.aspx?guestaccesstoken=7%2b8Nkm9BySPFR0zqD%2fdgUcYOaXREG3%2fycALnMFcv59A%3d&docid=08158c442c3f74970bc8090f253b499f8&rev=1&expiration=2016-11-25T23%3a56%3a01.000Z" rel="nofollow">https://entuedu-my.sharepoint.com/personal/jseng001_e_ntu_edu_sg/_layouts/15/guestaccess.aspx?guestaccesstoken=7%2b8Nkm9BySPFR0zqD%2fdgUcYOaXREG3%2fycALnMFcv59A%3d&docid=08158c442c3f74970bc8090f253b499f8&rev=1&expiration=2016-11-25T23%3a56%3a01.000Z</a></p>
<p>谢谢。在</p>