gpt4 book ai didi

python - 无法使用谷歌云自然语言API打印情绪

转载 作者:行者123 更新时间:2023-12-01 09:20:28 27 4
gpt4 key购买 nike

下面是我尝试过的代码,但运行时出现如下错误

  from google.cloud import bigquery
from google.cloud.language import enums
from google.cloud.language import types
import sys
import six
from vaderSentiment.vaderSentiment import SentimentIntensityAnalyzer
client = bigquery.Client.from_service_account_json('simple_project//MQ News Matching-2443b471b5ff.json')
with open('articles.txt',mode='r', encoding="utf8") as reader:
text=reader.read()
if isinstance(text,six.binary_type):
text = text.decode('utf-8')
document = types.Document(content=text.encode('utf-8'),type=enums.Document.Type.PLAIN_TEXT)
# Detect and send native Python encoding to receive correct word offsets.
encoding = enums.EncodingType.UTF32
if sys.maxunicode == 65535:
encoding = enums.EncodingType.UTF16
result = client.analyze_entity_sentiment(document, encoding)
sentiment = client.analyze_sentiment(document=document).document_sentiment
print('Text: {}'.format(text))
print('Sentiment: {}, {}'.format(SentimentIntensityAnalyzer.score, sentiment.magnitude))

我得到的错误如下

print('Sentiment: {}, {}'.format(SentimentIntensityAnalyzer.score, sentiment.magnitude)) AttributeError: type object 'SentimentIntensityAnalyzer' has no attribute 'score'

最佳答案

你想做的是这样的:

from google.cloud import language
from google.cloud.language import enums
from google.cloud.language import types

def analyze(movie_review_filename):
"""Run a sentiment analysis request on text within a passed filename."""
client = language.LanguageServiceClient()

with open(movie_review_filename, 'r') as review_file:
# Instantiates a plain text document.
content = review_file.read()

document = types.Document(
content=content,
type=enums.Document.Type.PLAIN_TEXT)
annotations = client.analyze_sentiment(document=document)

# Print the results
print_result(annotations)

def print_result(annotations):
score = annotations.document_sentiment.score
magnitude = annotations.document_sentiment.magnitude

for index, sentence in enumerate(annotations.sentences):
sentence_sentiment = sentence.sentiment.score
print('Sentence {} has a sentiment score of {}'.format(
index, sentence_sentiment))

print('Overall Sentiment: score of {} with magnitude of {}'.format(
score, magnitude))

您可能需要设置 GOOGLE_APPLICATION_CREDENTIALS,如果是这样,您可以这样做:

export GOOGLE_APPLICATION_CREDENTIALS='/path/to/your/client_secret.json'

这将与您在问题中使用的 JSON 文件相同。

您可以在此处找到更多云自然语言示例:https://github.com/GoogleCloudPlatform/python-docs-samples/tree/master/language

关于python - 无法使用谷歌云自然语言API打印情绪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50830097/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com