Ist es möglich, Cognitive Services API in Azure ML Studio aufzurufen, wenn Sie ein Modell erstellen? "Jedes Dokument, auf das sich unser Beispielexperiment beziehen kann?Microsoft Azure Machine Lern- und kognitive Dienste API
Vielen Dank im Voraus.
Ist es möglich, Cognitive Services API in Azure ML Studio aufzurufen, wenn Sie ein Modell erstellen? "Jedes Dokument, auf das sich unser Beispielexperiment beziehen kann?Microsoft Azure Machine Lern- und kognitive Dienste API
Vielen Dank im Voraus.
Es ist möglich, execute Python snippets inside Azure ML. Von dort können Sie die Microsoft Cognitive Services-API mit einer Python-Schnittstelle aufrufen (werfen Sie einen Blick auf das Beispiel für die API Face von Python). Hier
ist der Beispielcode Sie können versuchen:
import urllib2
import urllib
import sys
import base64
import json
import numpy as np
import pandas as pd
# The entry point function can contain up to two input arguments:
# Param<dataframe1>: a pandas.DataFrame
# Param<dataframe2>: a pandas.DataFrame
def azureml_main(dataframe1 = None, dataframe2 = None):
# Execution logic goes here
#print('Input pandas.DataFrame #1:\r\n\r\n{0}'.format(dataframe1))
# Account key is for Ted Way
account_key = str(dataframe2['Col1'][0])
#account_key = 'api_key'
#base_url = 'https://api.datamarket.azure.com/data.ashx/amla/text-analytics/v1'
#base_url = str(dataframe2['Col2'][0])
base_url = 'https://westus.api.cognitive.microsoft.com/'
headers = {'Content-Type':'application/json', 'Ocp-Apim-Subscription-Key':account_key}
#input_text = sys.argv[2]
sentiment_scores = []
num_examples = len(dataframe1.index)
input_texts = '{"documents":['
#for each record
for i in range(0,num_examples):
input_text = str(dataframe1['Text'][i])
input_text = input_text.replace("\"", "'")
#params = { 'Text': input_text}
input_texts = input_texts + '{"id":"' + str(i) + '","text":"'+ input_text + '"},'
input_texts = input_texts + ']}'
print input_texts
# Detect sentiment.
batch_sentiment_url = base_url + 'text/analytics/v2.0/sentiment'
req = urllib2.Request(batch_sentiment_url, input_texts, headers)
response = urllib2.urlopen(req)
result = response.read()
obj = json.loads(result)
for sentiment_analysis in obj['documents']:
sentiment_scores.append(str(sentiment_analysis['score']))
#print('Sentiment score: ' + str(obj['Score']))
sentiment_scores = pd.Series(np.array(sentiment_scores))
df1 = pd.DataFrame({'SentimentScore':sentiment_scores})
# Don't return the original text'
#frames = [dataframe1, df1]
#dataframe1 = pd.concat(frames, axis=1)
# Return value must be of a sequence of pandas.DataFrame
return df1