我是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指南。谢谢!
User_input
变量是一个字符串,因此对其进行迭代即对char进行迭代,您要做的是删除for
循环,并假设User_input
拥有1条评论,将其视为评论,否则您可以定义评论之间的分隔字符并像这样迭代:
for review in User_input.split(sep_char):