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

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


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


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


#For文本文件 以下是我的示例代码。


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

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


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

请指导。谢谢!


UYOU
浏览 96回答 1
1回答

www说

变量是一个字符串,因此迭代它就是迭代字符,您要做的是删除循环并将其视为评论,假设它包含1个评论,否则您可以在评论之间定义一个分离字符并迭代如下:User_inputforUser_inputfor review in User_input.split(sep_char):
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python