![](/img/trans.png)
[英]How can I transform user Input exactly as processed data that I used to train the classifier? I want to perform sentiment analysis on user input text
[英]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.