我正在使用Google Cloud Natural Language API。我的目标是在更大的文本块中提取句子和情感,并对它们进行情绪分析。
我收到以下“unexpected indent”错误。根据我的研究,它似乎不是一个“基本”缩进错误(如流氓空间等)。
print(sentence.content)
for循环中的以下代码行(请参阅下面的完整代码)导致问题。如果我删除它,问题就会消失。
from google.cloud import language
text = 'Terrible, Terrible service. I cant believe how bad this was.'
client = language.Client()
document = client.document_from_text(text)
sent_analysis = document.analyze_sentiment()
sentiment = sent_analysis.sentiment
annotations = document.annotate_text(include_sentiment=True, include_syntax=True, include_entities=True)
print ('this is the full text to be analysed:')
print(text)
print('Here is the sentiment score and magnitude for the full text')
print(sentiment.score, sentiment.magnitude)
#now for the individual sentence analyses
for index, sentence in enumerate(annotations.sentences):
sentence_sentiment = sentence.sentiment.score
print(sentence.content)
print('Sentence {} has a sentiment score of {}'.format(index, sentence_sentiment))
此外,如果我在循环外移动此print语句,我不会收到错误,但只会打印大块文本的最后一句(如预期的那样)。
我对编程非常陌生 - 所以如果有人能用非常简单的术语解释我做错了什么,并指出我正确的方向,我会非常感激。
下面的完整脚本
麦克
int[] appWidgetIds= AppWidgetManager.getInstance(getApplication()).getAppWidgetIds(new ComponentName(getApplication(), MyWidgetProvider.class));
Toast.makeText(mContext,"ids:size:"+appWidgetIds.length,Toast.LENGTH_SHORT).show();
MyWidgetProvider myWidget = new MyWidgetProvider();
myWidget.onUpdate(this, AppWidgetManager.getInstance(this),appWidgetIds);
答案 0 :(得分:0)
这看起来完全正确,尽管潜在的标签/空间问题可能无法在您的问题中发布。你能让你的文本编辑器显示空格字符吗?通常有一个选项。如果它是支持Python的编辑器,则可以选择将选项卡更改为空格。
您可以通过删除
行来解决问题print(sentence.content)
并将以下内容更改为
print('{}\nSentence {} has a sentiment score of {}'.format(sentence.content, index, sentence_sentiment))