我是Python新手并拥有以下代码:
def doSentimentAnalysisAndPrint(keyval):
import urllib
data = urllib.urlencode(keyval)
u = urllib.urlopen("http://text-processing.com/api/sentiment/", data)
json_string = u.read()
parsed_json = json.loads(json_string)
# print the various key:values
print(parsed_json['probability'])
print ">>", parsed_json['label']
打印结果为:
{u'neg': 0.24087437946650492, u'neutral': 0.19184084028194423, u'pos': 0.7591256205334951}
>> pos
我只想打印出实际结果?例如。在这种情况下"肯定:0.7591256205334951"但不知道如何实现这个目标?
答案 0 :(得分:2)
使用时请阅读API documentation。 'label'
键指向'probability'
字典中的键是确定的情绪:
标签:如果文字被确定为正面,则为
pos
,如果文字为负,则为neg
< / em>,或neutral
如果文字既不是pos
也不是neg
。概率:包含每个标签概率的对象。
neg
和pos
最多为1,而neutral
则为独立。如果neutral
大于0.5
,则label
将为neutral
。否则,label
将为pos
或neg
,以较大概率为准。
所以你已经有了一个标签,相应的值只是一个键查找。将标签值映射到要打印的字符串(如pos
映射到Positive
,然后合并两者:
sentiments = {'pos': 'Positive', 'neg': 'Negative', 'neutral': 'Neutral'}
label = parsed_json['label']
print sentiments[label], parsed_json['probability'][label]