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

Issue in user input or text file data in sentiment analysis

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

例如 当示例文本被硬编码为 ["Music was awesome", "Special effects are awesome"] 然后分裂就像 评论:音乐很棒 评论:特效很棒。

但是如果我要求用户输入或从文本文件中获取数据,那么它会显示评论为; 评论: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))

请指导。 谢谢!

User_input 变量是一个字符串,所以遍历它就是遍历字符,你想要做的是删除 for 循环并将 User_input 视为评论假设它有 1 条评论,否则你可以在评论之间定义一个分隔字符并像这样迭代:

for review in User_input.split(sep_char):