情感分析中用户输入或文本文件数据中的问题

问题描述 投票:0回答:1

我是Python-NLTK的新手。我已经使用电影评论数据集编写了代码。当我将硬编码的示例文本用于情感分析时,它工作正常,但是当我尝试接受用户输入或从文本文件中获取数据时,它会显示字母级别的拆分。

例如当示例文本被硬编码为[“音乐很棒”,“特效很棒”]然后分裂就像点评:音乐很棒点评:特效很棒。

但是,如果我要求用户输入或从文本文件中获取数据,则它将显示为”;评论:M评论:你评论:S评论:我评论:c评论:。

#对于文本文件,下面是我的示例代码。

t = open ("Sample1.txt", "r")           
File_input = (t.read())
for review in File_input:
  print ("\nReview:", review)
  probdist = classifier.prob_classify(extract_features(review.split()))
  pred_sentiment = probdist.max()

print ("Predicted sentiment:", pred_sentiment) 
print ("Probability:", round(probdist.prob(pred_sentiment), 5))

#供用户输入以下是我的示例代码。

User_input = input("Enter your value: ")
for review in User_input:
  print ("\nReview:", review)
  probdist = classifier.prob_classify(extract_features(review.split()))
  pred_sentiment = probdist.max()
print ("Predicted sentiment:", pred_sentiment) 
print ("Probability:", round(probdist.prob(pred_sentiment), 3))

plz指南。谢谢!

python nltk sentiment-analysis corpus
1个回答
0
投票

User_input变量是一个字符串,因此对其进行迭代即对char进行迭代,您要做的是删除for循环,并假设User_input拥有1条评论,将其视为评论,否则您可以定义评论之间的分隔字符并像这样迭代:

for review in User_input.split(sep_char):
© www.soinside.com 2019 - 2024. All rights reserved.