繁体   English   中英

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

[英]Issue in user input or text file data in sentiment analysis

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

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

但是,如果我要求用户输入或从文本文件中获取数据,那么它会显示为; 评论:M 评论:u 评论:S 评论:i 评论:c 评论:。

#For text file 下面是我的示例代码。

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):

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM