All depends on what you insert in your text parameter. Do you use the same text?
I used the example from the API reference with the same phrase for this answer... but, JSON knows only how to handle Unicode strings, not byte sequences. Either transform into Unicode (json.dumps(response.decode("utf-8"), indent=2))
, or if is one integer array (json.dumps(list(response)))
. You also can try print(json.dumps(list(response.values())))
.
So, this is one step-by-step for using the NLU service with Python.
IBM Cloud (New name for IBM Bluemix)
- Create one account (Now, you can create without a credit card and use the LITE plan for Watson and other Services!)
- Catalog -> Watson -> Natural Language Understanding service -> Create -> Service Credentials
In your PC, after installed Python, try to run the command in the CMD/Terminal:
pip install --upgrade watson-developer-cloud
Using the same code provided from the API reference:
import json
from watson_developer_cloud import NaturalLanguageUnderstandingV1
import watson_developer_cloud.natural_language_understanding.features.v1 \
as Features
natural_language_understanding = NaturalLanguageUnderstandingV1(
username="username from the NLU -> Service Credentials",
password="passoword from the NLU -> Service Credentials",
version="2017-02-27")
response = natural_language_understanding.analyze(
text="IBM is an American multinational technology company headquartered \
in Armonk, New York, United States, with operations in over 170 \
countries.",
features=[
Features.Entities(
emotion=True,
sentiment=True,
limit=2
),
Features.Keywords(
emotion=True,
sentiment=True,
limit=2
)
]
)
print(json.dumps(response, indent=2))
And the return when I run the command python NLUAnalyze.py
in CMD is:
{
"usage": {
"text_units": 1,
"text_characters": 148,
"features": 2
},
"language": "en",
"keywords": [
{
"text": "American multinational technology",
"sentiment": {
"score": 0.0,
"label": "neutral"
},
"relevance": 0.993518,
"emotion": {
"sadness": 0.085259,
"joy": 0.026169,
"fear": 0.02454,
"disgust": 0.088711,
"anger": 0.033078
}
},
{
"text": "New York",
"sentiment": {
"score": 0.0,
"label": "neutral"
},
"relevance": 0.613816,
"emotion": {
"sadness": 0.166741,
"joy": 0.228903,
"fear": 0.057987,
"disgust": 0.050965,
"anger": 0.054653
}
}
],
"entities": [
{
"type": "Company",
"text": "IBM",
"sentiment": {
"score": 0.0,
"label": "neutral"
},
"relevance": 0.33,
"emotion": {
"sadness": 0.085259,
"joy": 0.026169,
"fear": 0.02454,
"disgust": 0.088711,
"anger": 0.033078
},
"disambiguation": {
"subtype": [
"SoftwareLicense",
"OperatingSystemDeveloper",
"ProcessorManufacturer",
"SoftwareDeveloper",
"CompanyFounder",
"ProgrammingLanguageDesigner",
"ProgrammingLanguageDeveloper"
],
"name": "IBM",
"dbpedia_resource": "http://dbpedia.org/resource/IBM"
},
"count": 1
}
]
}