/// <exclude /> protected override void Start() { base.Start(); m_IgnoreWordConfidenceDelta = PlayerPrefs.GetFloat("m_IgnoreWordConfidenceDelta", 0.0f); m_MinWordConfidenceDelta = PlayerPrefs.GetFloat("m_MinWordConfidenceDelta", 0.0f); m_MinClassEventConfidenceDelta = PlayerPrefs.GetFloat("m_MinClassEventConfidenceDelta", 0.0f); // resolve configuration variables m_ClassifierName = Config.Instance.ResolveVariables(m_ClassifierName); m_ClassifierId = Config.Instance.ResolveVariables(m_ClassifierId); if (string.IsNullOrEmpty(m_ClassifierId)) { Log.Status("NaturalLanguageClassifierWidget", "Auto selecting a classifier."); if (!m_NaturalLanguageClassifier.GetClassifiers(OnGetClassifiers)) { Log.Error("NaturalLanguageClassifierWidget", "Failed to request all classifiers."); } } else { if (!m_NaturalLanguageClassifier.GetClassifier(m_ClassifierId, OnGetClassifier)) { Log.Equals("NaturalLanguageClassifierWidget", "Failed to request classifier."); } } }
/// <exclude /> protected override void Start() { base.Start(); // resolve configuration variables m_ClassifierName = Config.Instance.ResolveVariables(m_ClassifierName); m_ClassifierId = Config.Instance.ResolveVariables(m_ClassifierId); // start the default log reactors if needed.. LogSystem.InstallDefaultReactors(); if (string.IsNullOrEmpty(m_ClassifierId)) { Log.Status("NlcWidget", "Auto selecting a classifier."); if (!m_NLC.GetClassifiers(OnGetClassifiers)) { Log.Error("NlcWidget", "Failed to request all classifiers."); } } else { if (!m_NLC.GetClassifier(m_ClassifierId, OnGetClassifier)) { Log.Equals("NlcWidget", "Failed to request classifier."); } } }
private void OnGetClassifiers(Classifiers classifiers) { m_Refreshing = false; m_Classifiers = classifiers; foreach (var c in m_Classifiers.classifiers) { m_NLC.GetClassifier(c.classifier_id, OnGetClassifier); } }
private IEnumerator Examples() { // Get classifiers if (!_service.GetClassifiers(OnGetClassifiers, OnFail)) { Log.Debug("ExampleNaturalLanguageClassifier.GetClassifiers()", "Failed to get classifiers!"); } while (!_getClassifiersTested) { yield return(null); } if (_classifierIds.Count == 0) { Log.Debug("ExampleNaturalLanguageClassifier.Examples()", "There are no trained classifiers. Please train a classifier..."); } if (_classifierIds.Count > 0) { // Get each classifier foreach (string classifierId in _classifierIds) { if (!_service.GetClassifier(OnGetClassifier, OnFail, classifierId)) { Log.Debug("ExampleNaturalLanguageClassifier.GetClassifier()", "Failed to get classifier {0}!", classifierId); } } while (!_getClassifierTested) { yield return(null); } } if (!_areAnyClassifiersAvailable && _classifierIds.Count > 0) { Log.Debug("ExampleNaturalLanguageClassifier.Examples()", "All classifiers are training..."); } // Train classifier #if TRAIN_CLASSIFIER string dataPath = Application.dataPath + "/Watson/Examples/ServiceExamples/TestData/weather_data_train.csv"; var trainingContent = File.ReadAllText(dataPath); if (!_service.TrainClassifier(OnTrainClassifier, OnFail, _classifierName + "/" + DateTime.Now.ToString(), "en", trainingContent)) { Log.Debug("ExampleNaturalLanguageClassifier.TrainClassifier()", "Failed to train clasifier!"); } while (!_trainClassifierTested) { yield return(null); } #endif #if DELETE_TRAINED_CLASSIFIER if (!string.IsNullOrEmpty(_classifierToDelete)) { if (!_service.DeleteClassifer(OnDeleteTrainedClassifier, OnFail, _classifierToDelete)) { Log.Debug("ExampleNaturalLanguageClassifier.DeleteClassifer()", "Failed to delete clasifier {0}!", _classifierToDelete); } } #endif // Classify if (_areAnyClassifiersAvailable) { if (!_service.Classify(OnClassify, OnFail, _classifierId, _inputString)) { Log.Debug("ExampleNaturalLanguageClassifier.Classify()", "Failed to classify!"); } while (!_classifyTested) { yield return(null); } } // Classify Collection ClassifyCollectionInput classifyCollectionInput = new ClassifyCollectionInput() { collection = new List <ClassifyInput>() { new ClassifyInput() { text = "Is it hot outside?" }, new ClassifyInput() { text = "Is it going to rain?" } } }; if (_areAnyClassifiersAvailable) { if (!_service.ClassifyCollection(OnClassifyCollection, OnFail, _classifierId, classifyCollectionInput)) { Log.Debug("ExampleNaturalLanguageClassifier.ClassifyCollection()", "Failed to classify!"); } while (!_classifyCollectionTested) { yield return(null); } } Log.Debug("ExampleNaturalLanguageClassifier.Examples()", "Natural language classifier examples complete."); }
public override IEnumerator RunTest() { LogSystem.InstallDefaultReactors(); // Test NaturalLanguageClassifier using loaded credentials NaturalLanguageClassifier autoNaturalLanguageClassifier = new NaturalLanguageClassifier(); while (!autoNaturalLanguageClassifier.Credentials.HasIamTokenData()) { yield return(null); } autoNaturalLanguageClassifier.GetClassifiers(OnAutoGetClassifiers, OnFail); while (!_autoGetClassifiersTested) { yield return(null); } VcapCredentials vcapCredentials = new VcapCredentials(); fsData data = null; string result = null; string credentialsFilepath = "../sdk-credentials/credentials.json"; // Load credentials file if it exists. If it doesn't exist, don't run the tests. if (File.Exists(credentialsFilepath)) { result = File.ReadAllText(credentialsFilepath); } else { yield break; } // Add in a parent object because Unity does not like to deserialize root level collection types. result = Utility.AddTopLevelObjectToJson(result, "VCAP_SERVICES"); // Convert json to fsResult fsResult r = fsJsonParser.Parse(result, out data); if (!r.Succeeded) { throw new WatsonException(r.FormattedMessages); } // Convert fsResult to VcapCredentials object obj = vcapCredentials; r = _serializer.TryDeserialize(data, obj.GetType(), ref obj); if (!r.Succeeded) { throw new WatsonException(r.FormattedMessages); } // Set credentials from imported credntials Credential credential = vcapCredentials.GetCredentialByname("natural-language-classifier-sdk")[0].Credentials; // Create credential and instantiate service TokenOptions tokenOptions = new TokenOptions() { IamApiKey = credential.IamApikey, }; // Create credential and instantiate service Credentials credentials = new Credentials(tokenOptions, credential.Url); // Wait for tokendata while (!credentials.HasIamTokenData()) { yield return(null); } naturalLanguageClassifier = new NaturalLanguageClassifier(credentials); // Get classifiers if (!naturalLanguageClassifier.GetClassifiers(OnGetClassifiers, OnFail)) { Log.Debug("TestNaturalLanguageClassifier.GetClassifiers()", "Failed to get classifiers!"); } while (!_getClassifiersTested) { yield return(null); } if (_classifierIds.Count == 0) { Log.Debug("TestNaturalLanguageClassifier.Examples()", "There are no trained classifiers. Please train a classifier..."); } if (_classifierIds.Count > 0) { // Get each classifier foreach (string classifierId in _classifierIds) { if (!naturalLanguageClassifier.GetClassifier(OnGetClassifier, OnFail, classifierId)) { Log.Debug("TestNaturalLanguageClassifier.GetClassifier()", "Failed to get classifier {0}!", classifierId); } } while (!_getClassifierTested) { yield return(null); } } if (!_areAnyClassifiersAvailable && _classifierIds.Count > 0) { Log.Debug("TestNaturalLanguageClassifier.Examples()", "All classifiers are training..."); } // Train classifier #if TRAIN_CLASSIFIER string dataPath = Application.dataPath + "/Watson/Examples/ServiceExamples/TestData/weather_data_train.csv"; var trainingContent = File.ReadAllText(dataPath); if (!naturalLanguageClassifier.TrainClassifier(OnTrainClassifier, OnFail, _classifierName + "/" + DateTime.Now.ToString(), "en", trainingContent)) { Log.Debug("TestNaturalLanguageClassifier.TrainClassifier()", "Failed to train clasifier!"); } while (!_trainClassifierTested) { yield return(null); } #endif #if DELETE_TRAINED_CLASSIFIER if (!string.IsNullOrEmpty(_classifierToDelete)) { if (!naturalLanguageClassifier.DeleteClassifer(OnDeleteTrainedClassifier, OnFail, _classifierToDelete)) { Log.Debug("TestNaturalLanguageClassifier.DeleteClassifer()", "Failed to delete clasifier {0}!", _classifierToDelete); } } #endif // Classify if (_areAnyClassifiersAvailable) { if (!naturalLanguageClassifier.Classify(OnClassify, OnFail, _classifierId, _inputString)) { Log.Debug("TestNaturalLanguageClassifier.Classify()", "Failed to classify!"); } while (!_classifyTested) { yield return(null); } } // Classify Collection ClassifyCollectionInput classifyCollectionInput = new ClassifyCollectionInput() { collection = new List <ClassifyInput>() { new ClassifyInput() { text = "Is it hot outside?" }, new ClassifyInput() { text = "Is it going to rain?" } } }; if (_areAnyClassifiersAvailable) { if (!naturalLanguageClassifier.ClassifyCollection(OnClassifyCollection, OnFail, _classifierId, classifyCollectionInput)) { Log.Debug("TestNaturalLanguageClassifier.ClassifyCollection()", "Failed to classify!"); } while (!_classifyCollectionTested) { yield return(null); } } Log.Debug("TestNaturalLanguageClassifier.RunTest()", "Natural language classifier examples complete."); yield break; }
public override IEnumerator RunTest() { LogSystem.InstallDefaultReactors(); VcapCredentials vcapCredentials = new VcapCredentials(); fsData data = null; string result = null; var vcapUrl = Environment.GetEnvironmentVariable("VCAP_URL"); var vcapUsername = Environment.GetEnvironmentVariable("VCAP_USERNAME"); var vcapPassword = Environment.GetEnvironmentVariable("VCAP_PASSWORD"); using (SimpleGet simpleGet = new SimpleGet(vcapUrl, vcapUsername, vcapPassword)) { while (!simpleGet.IsComplete) { yield return(null); } result = simpleGet.Result; } // Add in a parent object because Unity does not like to deserialize root level collection types. result = Utility.AddTopLevelObjectToJson(result, "VCAP_SERVICES"); // Convert json to fsResult fsResult r = fsJsonParser.Parse(result, out data); if (!r.Succeeded) { throw new WatsonException(r.FormattedMessages); } // Convert fsResult to VcapCredentials object obj = vcapCredentials; r = _serializer.TryDeserialize(data, obj.GetType(), ref obj); if (!r.Succeeded) { throw new WatsonException(r.FormattedMessages); } // Set credentials from imported credntials Credential credential = vcapCredentials.VCAP_SERVICES["natural_language_classifier"]; _username = credential.Username.ToString(); _password = credential.Password.ToString(); _url = credential.Url.ToString(); // Create credential and instantiate service Credentials credentials = new Credentials(_username, _password, _url); // Or authenticate using token //Credentials credentials = new Credentials(_url) //{ // AuthenticationToken = _token //}; naturalLanguageClassifier = new NaturalLanguageClassifier(credentials); // Get classifiers if (!naturalLanguageClassifier.GetClassifiers(OnGetClassifiers, OnFail)) { Log.Debug("TestNaturalLanguageClassifier.GetClassifiers()", "Failed to get classifiers!"); } while (!_getClassifiersTested) { yield return(null); } if (_classifierIds.Count == 0) { Log.Debug("TestNaturalLanguageClassifier.Examples()", "There are no trained classifiers. Please train a classifier..."); } if (_classifierIds.Count > 0) { // Get each classifier foreach (string classifierId in _classifierIds) { if (!naturalLanguageClassifier.GetClassifier(OnGetClassifier, OnFail, classifierId)) { Log.Debug("TestNaturalLanguageClassifier.GetClassifier()", "Failed to get classifier {0}!", classifierId); } } while (!_getClassifierTested) { yield return(null); } } if (!_areAnyClassifiersAvailable && _classifierIds.Count > 0) { Log.Debug("TestNaturalLanguageClassifier.Examples()", "All classifiers are training..."); } // Train classifier #if TRAIN_CLASSIFIER string dataPath = Application.dataPath + "/Watson/Examples/ServiceExamples/TestData/weather_data_train.csv"; var trainingContent = File.ReadAllText(dataPath); if (!naturalLanguageClassifier.TrainClassifier(OnTrainClassifier, OnFail, _classifierName + "/" + DateTime.Now.ToString(), "en", trainingContent)) { Log.Debug("TestNaturalLanguageClassifier.TrainClassifier()", "Failed to train clasifier!"); } while (!_trainClassifierTested) { yield return(null); } #endif #if DELETE_TRAINED_CLASSIFIER if (!string.IsNullOrEmpty(_classifierToDelete)) { if (!naturalLanguageClassifier.DeleteClassifer(OnDeleteTrainedClassifier, OnFail, _classifierToDelete)) { Log.Debug("TestNaturalLanguageClassifier.DeleteClassifer()", "Failed to delete clasifier {0}!", _classifierToDelete); } } #endif // Classify if (_areAnyClassifiersAvailable) { if (!naturalLanguageClassifier.Classify(OnClassify, OnFail, _classifierId, _inputString)) { Log.Debug("TestNaturalLanguageClassifier.Classify()", "Failed to classify!"); } while (!_classifyTested) { yield return(null); } } // Classify Collection ClassifyCollectionInput classifyCollectionInput = new ClassifyCollectionInput() { collection = new List <ClassifyInput>() { new ClassifyInput() { text = "Is it hot outside?" }, new ClassifyInput() { text = "Is it going to rain?" } } }; if (_areAnyClassifiersAvailable) { if (!naturalLanguageClassifier.ClassifyCollection(OnClassifyCollection, OnFail, _classifierId, classifyCollectionInput)) { Log.Debug("TestNaturalLanguageClassifier.ClassifyCollection()", "Failed to classify!"); } while (!_classifyCollectionTested) { yield return(null); } } Log.Debug("TestNaturalLanguageClassifier.RunTest()", "Natural language classifier examples complete."); yield break; }
public override IEnumerator RunTest() { LogSystem.InstallDefaultReactors(); try { VcapCredentials vcapCredentials = new VcapCredentials(); fsData data = null; // Get credentials from a credential file defined in environmental variables in the VCAP_SERVICES format. // See https://www.ibm.com/watson/developercloud/doc/common/getting-started-variables.html. var environmentalVariable = Environment.GetEnvironmentVariable("VCAP_SERVICES"); var fileContent = File.ReadAllText(environmentalVariable); // Add in a parent object because Unity does not like to deserialize root level collection types. fileContent = Utility.AddTopLevelObjectToJson(fileContent, "VCAP_SERVICES"); // Convert json to fsResult fsResult r = fsJsonParser.Parse(fileContent, out data); if (!r.Succeeded) { throw new WatsonException(r.FormattedMessages); } // Convert fsResult to VcapCredentials object obj = vcapCredentials; r = _serializer.TryDeserialize(data, obj.GetType(), ref obj); if (!r.Succeeded) { throw new WatsonException(r.FormattedMessages); } // Set credentials from imported credntials Credential credential = vcapCredentials.VCAP_SERVICES["natural_language_classifier"][TestCredentialIndex].Credentials; _username = credential.Username.ToString(); _password = credential.Password.ToString(); _url = credential.Url.ToString(); } catch { Log.Debug("TestNaturalLanguageClassifier", "Failed to get credentials from VCAP_SERVICES file. Please configure credentials to run this test. For more information, see: https://github.com/watson-developer-cloud/unity-sdk/#authentication"); } // Create credential and instantiate service Credentials credentials = new Credentials(_username, _password, _url); // Or authenticate using token //Credentials credentials = new Credentials(_url) //{ // AuthenticationToken = _token //}; naturalLanguageClassifier = new NaturalLanguageClassifier(credentials); // Get classifiers if (!naturalLanguageClassifier.GetClassifiers(OnGetClassifiers)) { Log.Debug("ExampleNaturalLanguageClassifier", "Failed to get classifiers!"); } while (!_getClassifiersTested) { yield return(null); } if (_classifierIds.Count == 0) { Log.Debug("ExampleNaturalLanguageClassifier", "There are no trained classifiers. Please train a classifier..."); } if (_classifierIds.Count > 0) { // Get each classifier foreach (string classifierId in _classifierIds) { if (!naturalLanguageClassifier.GetClassifier(classifierId, OnGetClassifier)) { Log.Debug("ExampleNaturalLanguageClassifier", "Failed to get classifier {0}!", classifierId); } } while (!_getClassifierTested) { yield return(null); } } if (!_areAnyClassifiersAvailable && _classifierIds.Count > 0) { Log.Debug("ExampleNaturalLanguageClassifier", "All classifiers are training..."); } // Train classifier #if TRAIN_CLASSIFIER string dataPath = Application.dataPath + "/Watson/Examples/ServiceExamples/TestData/weather_data_train.csv"; var trainingContent = File.ReadAllText(dataPath); if (!naturalLanguageClassifier.TrainClassifier(_classifierName + "/" + DateTime.Now.ToString(), "en", trainingContent, OnTrainClassifier)) { Log.Debug("ExampleNaturalLanguageClassifier", "Failed to train clasifier!"); } while (!_trainClassifierTested) { yield return(null); } #endif #if DELETE_TRAINED_CLASSIFIER if (!string.IsNullOrEmpty(_classifierToDelete)) { if (!naturalLanguageClassifier.DeleteClassifer(_classifierToDelete, OnDeleteTrainedClassifier)) { Log.Debug("ExampleNaturalLanguageClassifier", "Failed to delete clasifier {0}!", _classifierToDelete); } } #endif // Classify if (_areAnyClassifiersAvailable) { if (!naturalLanguageClassifier.Classify(_classifierId, _inputString, OnClassify)) { Log.Debug("ExampleNaturalLanguageClassifier", "Failed to classify!"); } while (!_classifyTested) { yield return(null); } } Log.Debug("ExampleNaturalLanguageClassifier", "Natural language classifier examples complete."); yield break; }
private IEnumerator Examples() { // Get classifiers if (!naturalLanguageClassifier.GetClassifiers(OnGetClassifiers)) { Log.Debug("ExampleNaturalLanguageClassifier", "Failed to get classifiers!"); } while (!_getClassifiersTested) { yield return(null); } if (_classifierIds.Count == 0) { Log.Debug("ExampleNaturalLanguageClassifier", "There are no trained classifiers. Please train a classifier..."); } if (_classifierIds.Count > 0) { // Get each classifier foreach (string classifierId in _classifierIds) { if (!naturalLanguageClassifier.GetClassifier(classifierId, OnGetClassifier)) { Log.Debug("ExampleNaturalLanguageClassifier", "Failed to get classifier {0}!", classifierId); } } while (!_getClassifierTested) { yield return(null); } } if (!_areAnyClassifiersAvailable && _classifierIds.Count > 0) { Log.Debug("ExampleNaturalLanguageClassifier", "All classifiers are training..."); } // Train classifier #if TRAIN_CLASSIFIER string dataPath = Application.dataPath + "/Watson/Examples/ServiceExamples/TestData/weather_data_train.csv"; var trainingContent = File.ReadAllText(dataPath); if (!naturalLanguageClassifier.TrainClassifier(_classifierName + "/" + DateTime.Now.ToString(), "en", trainingContent, OnTrainClassifier)) { Log.Debug("ExampleNaturalLanguageClassifier", "Failed to train clasifier!"); } while (!_trainClassifierTested) { yield return(null); } #endif #if DELETE_TRAINED_CLASSIFIER if (!string.IsNullOrEmpty(_classifierToDelete)) { if (!naturalLanguageClassifier.DeleteClassifer(_classifierToDelete, OnDeleteTrainedClassifier)) { Log.Debug("ExampleNaturalLanguageClassifier", "Failed to delete clasifier {0}!", _classifierToDelete); } } #endif // Classify if (_areAnyClassifiersAvailable) { if (!naturalLanguageClassifier.Classify(_classifierId, _inputString, OnClassify)) { Log.Debug("ExampleNaturalLanguageClassifier", "Failed to classify!"); } while (!_classifyTested) { yield return(null); } } Log.Debug("ExampleNaturalLanguageClassifier", "Natural language classifier examples complete."); }