【发布时间】:2021-07-22 07:19:55
【问题描述】:
我正在尝试使用来自 json 文件的评论来计算相关性分数。每次我尝试运行我的代码时,它只会说“间接”输出。 我做错了什么?
我的代码如下:
import joblib, requests, json, sklearn.metrics, sklearn.model_selection, sklearn.tree, time, math, textblob
import warnings
warnings.filterwarnings("ignore")
response = requests.get("https://appliance_reviews.json")
if response:
data = json.loads(response.text)
unique = []
word = []
for line in data:
#print(line)
review = line["Review"]
blob = textblob.TextBlob(review)
for word in blob.words:
if word.lower() not in unique:
unique.append(word.lower())
for word in unique:
a = 0
b = 0
c = 0
d = 0
for line in data:
review = line["Review"]
safety = line["Safety hazard"]
if word in review.lower() and safety == 1:
a += 1
if word in review.lower() and safety == 0:
b += 1
if word in review.lower() and safety == 1:
c += 1
if word in review.lower() and safety == 0:
d += 1
try:
rel_score = (math.sqrt(a + b + c + d) * ((a + d) - (c * b))) / math.sqrt((a + b) * (c + d))
except:
rel_score = 0
if rel_score >= 4000:
score.append(word)
print(word)
【问题讨论】:
-
请提供预期见MRE - Minimal, Reproducible Example。显示中间结果与预期结果的偏差。我们应该能够将您的代码块粘贴到文件中,运行它并重现您的问题。这也让我们可以在您的上下文中测试任何建议。
-
您发布的代码不是最少的:您已经导入了 10 个包来支持相关性分类。您还没有追踪中间结果,而且您通过使用通用变量名称而不解释您的算法使我们难以做到这一点。
-
您希望总共获得多少单词?对行动规模的想法可能会导致不同的选择。