2016-04-12 27 views
1

Cümle dilini bulmak için RESTSharp kullanarak aşağıdaki "curl" kodunu uygulamıştım "Adınız nedir?". Watson dilinin tanımlanması

ben altında "Dili tanımlayın" izledi: http://www.ibm.com/smarterplanet/us/en/ibmwatson/developercloud/language-translation/api/v2/#identify

 string source = "What is your name?"; 
     string credentials; 
     string auth = string.Format("{0}:{1}", tuid, tpwd); 
     string auth64 = Convert.ToBase64String(Encoding.ASCII.GetBytes(auth)); 
     credentials = string.Format("{0} {1}", "Basic", auth64); 

     var langDet = new RestClient(detURL); 
     var requestDet = new RestRequest("?text={authToken}",Method.POST); 
     requestDet.Credentials = new NetworkCredential(tuid, tpwd); 
     requestDet.AddParameter("text", source, ParameterType.UrlSegment); 
     IRestResponse responseDet = langDet.Execute(requestDet); 
Ancak

, bu kod hala doğru nasıl belirleneceğini emin değilim ederken dil ve güven seviyesinde bir listesini almak yürütüldüğünde hangi dili Yukarıdaki cümle gider. Lütfen yanlış olduğum yerde bana yardım edin.

Benim detUrl değişken üzerindedir: https://gateway.watsonplatform.net/language-translation/api/v2/identify

cevap

1

Eğer bluemix da mevcuttur Simya API kullanan istediğini elde edebilirsiniz. Aşağıda Java + Watson SDK

AlchemyLanguage service = new AlchemyLanguage(); 
    service.setApiKey("XXXXXXXXX"); 

    Map<String,Object> params = new HashMap<String, Object>(); 
    params.put(AlchemyLanguage.TEXT, "What is your name?"); 

    Language language = service.getLanguage(params); 
    System.out.println(language); 

Yukarıda bu Java SDK kullanmak kullanıldığı bir örnek, ama https://github.com/dennyboy/WatsonCSharp

0

burada bunun için bir .NET portu var teşekkür ederiz!

Cevabı buldum.

(1) Yukarıdaki benim kodda, bunun yerine

(2) Bir kez yapılır, ben

var requestDet = new RestRequest("?text=" + source, Method.POST); 

aşağıdaki örnekte (dize kaynağı göndermek istemişti dize {Kimlik Doğrulama Simgesi} geçen edilmiştir Yardımlarınız için "responseDet" çıktı serisini ve (aşağıda) ilk değeri filtrelemek için. Ben kullanmıştı Jsonconvert sınıfı.

DataSet data = JsonConvert.DeserializeObject<DataSet>(responseDet.Content); 
      return data.Tables[0].Rows[0][0].ToString(); 

Kodum çalışıyor cezası. teşekkürler!

İlgili konular