-
Notifications
You must be signed in to change notification settings - Fork 0
/
transnatlang-apikey-old.py
58 lines (51 loc) · 1.97 KB
/
transnatlang-apikey-old.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
# Copyright 2024 CyberWeb Consulting LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# Obtain a copy of the License at: apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
'''
transnatlang-apikey-old.py -- GCP Natural Language & Translation APIs demo (Python 2/3-compatible)
'''
from __future__ import print_function
from googleapiclient import discovery
from settings import API_KEY
# Text to process
_TEXT = '''\
Google, headquartered in Mountain View, unveiled the new Android
phone at the Consumer Electronics Show. Sundar Pichai said
in his keynote that users love their new Android phones.
'''
TEXT = ' '.join(_TEXT.strip().split())
LINE = '-' * 60
# Display text to process
print('TEXT:')
print(TEXT)
print(LINE)
# Create API clients/endpoints
NL = discovery.build('language', 'v1', developerKey=API_KEY)
TL = discovery.build('translate', 'v2', developerKey=API_KEY)
# Detect text sentiment
BODY = {'content': TEXT, 'type': 'PLAIN_TEXT'}
sent = NL.documents().analyzeSentiment(
body={'document': BODY}).execute().get('documentSentiment')
print('\nSENTIMENT: score (%.2f), magnitude (%.2f)' % (
sent['score'], sent['magnitude']))
print(LINE)
# Categorize text
print('\nCATEGORIES:')
categories = NL.documents().classifyText(
body={'document': BODY}).execute().get('categories')
for cat in categories:
print('* %s (%.2f)' % (cat['name'][1:], cat['confidence']))
print(LINE)
# Translate text to Spanish
TARGET = 'es'
txln = TL.translations().list(
q=TEXT, target=TARGET).execute().get('translations')[0]
print('\nTRANSLATION to %r:\n%s' % (TARGET, txln['translatedText']))