Skip to content

Commit 27791b7

Browse files
committed
adding alchemy manual language specification, retrieve and rank fix
1 parent 1eae634 commit 27791b7

File tree

4 files changed

+44
-32
lines changed

4 files changed

+44
-32
lines changed

examples/alchemy_language_v1.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@
66

77
url = 'https://developer.ibm.com/watson/blog/2015/11/03/price-reduction-for-watson-personality-insights/'
88

9-
# print(json.dumps(alchemy_language.targeted_sentiment(text='I love cats! Dogs are smelly.',
10-
# targets=['cats', 'dogs']), indent=2))
9+
print(json.dumps(alchemy_language.targeted_sentiment(text='I love cats! Dogs are smelly.',
10+
targets=['cats', 'dogs'], language='english'), indent=2))
1111
# print(json.dumps(alchemy_language.author(url=url), indent=2))
1212
# print(json.dumps(alchemy_language.keywords(max_items=5, url=url), indent=2))
1313
# print(json.dumps(alchemy_language.concepts(max_items=2, url=url), indent=2))

examples/retrieve_and_rank_v1.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,9 @@
2525
# config_status = retrieve_and_rank.create_config(solr_cluster_id, 'test-config', config)
2626
# print(json.dumps(config_status, indent=2))
2727

28+
# deleted_response = retrieve_and_rank.delete_config(solr_cluster_id, 'test-config')
29+
# print(json.dumps(deleted_response, indent=2))
30+
2831
configs = retrieve_and_rank.list_configs(solr_cluster_id=solr_cluster_id)
2932
print(json.dumps(configs, indent=2))
3033

watson_developer_cloud/alchemy_language_v1.py

Lines changed: 37 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -25,48 +25,55 @@ class AlchemyLanguageV1(WatsonDeveloperCloudService):
2525
def __init__(self, url=default_url, **kwargs):
2626
WatsonDeveloperCloudService.__init__(self, 'alchemy_api', url, **kwargs)
2727

28-
def author(self, html=None, url=None):
29-
return self._alchemy_html_request('GetAuthor', html=html, url=url)
28+
def author(self, html=None, url=None, language=None):
29+
params = {'language': language}
30+
return self._alchemy_html_request('GetAuthor', html=html, url=url, params=params)
3031

31-
def authors(self, html=None, url=None):
32-
return self._alchemy_html_request('GetAuthors', html=html, url=url)
32+
def authors(self, html=None, url=None, language=None):
33+
params = {'language': language}
34+
return self._alchemy_html_request('GetAuthors', html=html, url=url, params=params)
3335

3436
def keywords(self, html=None, text=None, url=None, strict_extract_mode=False, sentiment=False,
35-
show_source_text=False, max_keywords=50):
37+
show_source_text=False, max_keywords=50, language=None):
3638
params = {'keywordExtractMode': 'strict' if strict_extract_mode else 'normal',
3739
'sentiment': sentiment,
3840
'showSourceText': show_source_text,
39-
'maxRetrieve': max_keywords}
41+
'maxRetrieve': max_keywords,
42+
'language': language}
4043
return self._alchemy_html_request('GetRankedKeywords', html=html, text=text, url=url, params=params)
4144

42-
def concepts(self, html=None, text=None, url=None, max_items=8, linked_data=True, show_source_text=False):
45+
def concepts(self, html=None, text=None, url=None, max_items=8, linked_data=True, show_source_text=False,
46+
language=None):
4347
params = {'maxRetrieve': max_items,
4448
'linkedData': linked_data,
45-
'showSourceText': show_source_text}
49+
'showSourceText': show_source_text,
50+
'langauge': language}
4651
return self._alchemy_html_request('GetRankedConcepts', html=html, text=text, url=url, params=params)
4752

4853
def entities(self, html=None, text=None, url=None, disambiguate=True, linked_data=True, coreference=True,
49-
quotations=False, sentiment=False, show_source_text=False, max_items=50):
54+
quotations=False, sentiment=False, show_source_text=False, max_items=50, language=None):
5055
params = {'disambiguate': disambiguate,
5156
'linkedData': linked_data,
5257
'coreference': coreference,
5358
'quotations': quotations,
5459
'sentiment': sentiment,
5560
'showSourceText': show_source_text,
56-
'maxRetrieve': max_items}
61+
'maxRetrieve': max_items,
62+
'language': language}
5763
return self._alchemy_html_request('GetRankedNamedEntities', html=html, text=text, url=url, params=params)
5864

5965
def emotion(self, html=None, text=None, url=None, show_source_text=False, source_text_type=None,
60-
constraint_query=None, xpath_query=None):
66+
constraint_query=None, xpath_query=None, language=None):
6167
params = {'showSourceText': show_source_text,
6268
'sourceText': source_text_type,
6369
'cquery': constraint_query,
64-
'xpath': xpath_query}
70+
'xpath': xpath_query,
71+
'language': language}
6572
return self._alchemy_html_request('GetEmotion', html=html, text=text, url=url, params=params)
6673

6774
def relations(self, html=None, text=None, url=None, sentiment=False, keywords=False, entities=False,
6875
require_entities=False, sentiment_excludes_entities=True, disambiguate=True, linked_data=True,
69-
coreference=True, show_source_text=False, max_items=50):
76+
coreference=True, show_source_text=False, max_items=50, language=None):
7077
params = {'sentiment': sentiment,
7178
'keywords': keywords,
7279
'entities': entities,
@@ -76,7 +83,8 @@ def relations(self, html=None, text=None, url=None, sentiment=False, keywords=Fa
7683
'linkedData': linked_data,
7784
'coreference': coreference,
7885
'showSourceText': show_source_text,
79-
'maxRetrieve': max_items}
86+
'maxRetrieve': max_items,
87+
'language': language}
8088
return self._alchemy_html_request('GetRelations', html=html, text=text, url=url, params=params)
8189

8290
def language(self, html=None, text=None, url=None):
@@ -90,12 +98,12 @@ def text(self, html=None, url=None, use_metadata=True, extract_links=False):
9098
def raw_text(self, html=None, url=None):
9199
return self._alchemy_html_request('GetRawText', html=html, url=url)
92100

93-
def category(self, html=None, text=None, url=None, show_source_text=False):
94-
params = {'showSourceText': show_source_text}
101+
def category(self, html=None, text=None, url=None, show_source_text=False, language=None):
102+
params = {'showSourceText': show_source_text, 'language': language}
95103
return self._alchemy_html_request('GetCategory', html=html, text=text, url=url, params=params)
96104

97-
def title(self, html=None, url=None, use_metadata=True):
98-
params = {'useMetadata': use_metadata}
105+
def title(self, html=None, url=None, use_metadata=True, language=None):
106+
params = {'useMetadata': use_metadata, 'language': language}
99107
return self._alchemy_html_request('GetTitle', html=html, url=url, params=params)
100108

101109
def feeds(self, html=None, url=None):
@@ -108,7 +116,7 @@ def publication_date(self, html=None, url=None):
108116
return self._alchemy_html_request('GetPubDate', html=html, url=url)
109117

110118
def taxonomy(self, html=None, text=None, url=None, show_source_text=False, source_text_type=None,
111-
constraint_query=None, xpath_query=None, base_url=None):
119+
constraint_query=None, xpath_query=None, base_url=None, language=None):
112120
"""
113121
source_text_type ->
114122
where to obtain the text that will be processed by this API call.
@@ -135,13 +143,14 @@ def taxonomy(self, html=None, text=None, url=None, show_source_text=False, sourc
135143
'sourceText': source_text_type,
136144
'cquery': constraint_query,
137145
'xpath': xpath_query,
138-
'base_url': base_url}
146+
'base_url': base_url,
147+
'language': language}
139148
return self._alchemy_html_request('GetRankedTaxonomy', html=html, text=text, url=url, params=params)
140149

141150
# Some of these options don't appear in the API documentation but are supported by the previous AlchemyAPI SDK
142151
def combined(self, html=None, text=None, url=None, extract=None, disambiguate=True, linked_data=True,
143152
coreference=True, quotations=False, sentiment=False, show_source_text=False, max_items=50,
144-
base_url=None):
153+
base_url=None, language=None):
145154
"""
146155
Combined call for page-image, entity, keyword, title, author, taxonomy, concept, doc-emotion.
147156
INPUT:
@@ -198,15 +207,17 @@ def combined(self, html=None, text=None, url=None, extract=None, disambiguate=Tr
198207
'sentiment': sentiment,
199208
'showSourceText': show_source_text,
200209
'maxRetrieve': max_items,
201-
'baseUrl': base_url}
210+
'baseUrl': base_url,
211+
'language': language}
202212
return self._alchemy_html_request('GetCombinedData', html=html, text=text, url=url, params=params)
203213

204-
def sentiment(self, html=None, text=None, url=None):
205-
return self._alchemy_html_request('GetTextSentiment', html=html, text=text, url=url)
214+
def sentiment(self, html=None, text=None, url=None, language=None):
215+
params = {'language': language}
216+
return self._alchemy_html_request('GetTextSentiment', html=html, text=text, url=url, params=params)
206217

207-
def targeted_sentiment(self, targets, html=None, text=None, url=None):
218+
def targeted_sentiment(self, targets, html=None, text=None, url=None, language=None):
208219
if isinstance(targets, list):
209220
targets = '|'.join(targets)
210221

211-
params = {'targets': targets}
222+
params = {'targets': targets, 'language': language}
212223
return self._alchemy_html_request('GetTargetedSentiment', html=html, text=text, url=url, params=params)

watson_developer_cloud/retrieve_and_rank_v1.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -54,12 +54,10 @@ def create_config(self, solr_cluster_id, config_name, config):
5454

5555
def delete_config(self, solr_cluster_id, config_name):
5656
return self.request(method='DELETE',
57-
url='/v1/solr_clusters/{0}/config/{1}'.format(solr_cluster_id, config_name),
58-
accept_json=True)
57+
url='/v1/solr_clusters/{0}/config/{1}'.format(solr_cluster_id, config_name), accept_json=True)
5958

6059
def get_config(self, solr_cluster_id, config_name):
61-
return self.request(method='GET', url='/v1/solr_clusters/{0}/config/{1}'.format(solr_cluster_id, config_name),
62-
accept_json=True)
60+
return self.request(method='GET', url='/v1/solr_clusters/{0}/config/{1}'.format(solr_cluster_id, config_name))
6361

6462
def list_collections(self, solr_cluster_id):
6563
params = {'action': 'LIST', 'wt': 'json'}

0 commit comments

Comments
 (0)