Example #1
0
        /// <summary>
        /// Returns label information for multiple phrases. The status must be Available before you can use the classifier to classify text. Note that classifying Japanese texts is a beta feature.
        /// </summary>
        /// <param name="successCallback">The success callback.</param>
        /// <param name="failCallback">The fail callback.</param>
        /// <param name="classifierId">The ID of the classifier to use.</param>
        /// <param name="body">The collection of text to classify.</param>
        /// <returns>Returns false if we failed to submit the request.</returns>
        public bool ClassifyCollection(SuccessCallback <ClassificationCollection> successCallback, FailCallback failCallback, string classifierId, ClassifyCollectionInput body, Dictionary <string, object> customData = null)
        {
            if (successCallback == null)
            {
                throw new ArgumentNullException("successCallback");
            }
            if (failCallback == null)
            {
                throw new ArgumentNullException("failCallback");
            }
            if (string.IsNullOrEmpty(classifierId))
            {
                throw new ArgumentNullException("classifierId");
            }
            if (body == null)
            {
                throw new ArgumentNullException("body");
            }

            RESTConnector connector = RESTConnector.GetConnector(Credentials, "/v1/classifiers");

            if (connector == null)
            {
                return(false);
            }

            ClassifyCollectionReq req = new ClassifyCollectionReq();

            req.SuccessCallback        = successCallback;
            req.FailCallback           = failCallback;
            req.HttpMethod             = UnityWebRequest.kHttpVerbPOST;
            req.DisableSslVerification = DisableSslVerification;
            req.CustomData             = customData == null ? new Dictionary <string, object>() : customData;
            if (req.CustomData.ContainsKey(Constants.String.CUSTOM_REQUEST_HEADERS))
            {
                foreach (KeyValuePair <string, string> kvp in req.CustomData[Constants.String.CUSTOM_REQUEST_HEADERS] as Dictionary <string, string> )
                {
                    req.Headers.Add(kvp.Key, kvp.Value);
                }
            }
            req.OnResponse = OnClassifyCollectionResp;
            req.Headers["X-IBMCloud-SDK-Analytics"] = "service_name=natural_language_classifier;service_version=v1;operation_id=ClassifyCollection";
            req.Function = "/" + classifierId + "/classify_collection";
            req.Headers["Content-Type"] = "application/json";

            fsData data = null;

            _serializer.TrySerialize(body, out data);
            req.Send = Encoding.UTF8.GetBytes(data.ToString());

            return(connector.Send(req));
        }
Example #2
0
        /// <summary>
        /// Returns label information for multiple phrases. The status must be Available before you can use the classifier to classify text. Note that classifying Japanese texts is a beta feature.
        /// </summary>
        /// <param name="successCallback">The success callback.</param>
        /// <param name="failCallback">The fail callback.</param>
        /// <param name="classifierId">The ID of the classifier to use.</param>
        /// <param name="body">The collection of text to classify.</param>
        /// <returns>Returns false if we failed to submit the request.</returns>
        public bool ClassifyCollection(SuccessCallback <ClassificationCollection> successCallback, FailCallback failCallback, string classifierId, ClassifyCollectionInput body, Dictionary <string, object> customData = null)
        {
            if (successCallback == null)
            {
                throw new ArgumentNullException("successCallback");
            }
            if (failCallback == null)
            {
                throw new ArgumentNullException("failCallback");
            }
            if (string.IsNullOrEmpty(classifierId))
            {
                throw new ArgumentNullException("classifierId");
            }
            if (body == null)
            {
                throw new ArgumentNullException("body");
            }

            RESTConnector connector = RESTConnector.GetConnector(Credentials, "/v1/classifiers");

            if (connector == null)
            {
                return(false);
            }

            ClassifyCollectionReq req = new ClassifyCollectionReq();

            req.SuccessCallback         = successCallback;
            req.FailCallback            = failCallback;
            req.CustomData              = customData == null ? new Dictionary <string, object>() : customData;
            req.OnResponse              = OnClassifyCollectionResp;
            req.Function                = "/" + classifierId + "/classify_collection";
            req.Headers["Content-Type"] = "application/json";

            fsData data = null;

            _serializer.TrySerialize(body, out data);
            req.Send = Encoding.UTF8.GetBytes(data.ToString());

            return(connector.Send(req));
        }