我使用Fluent库向自然语言分类器服务发出请求,以便训练'数据。
文档说明要传递的以下参数:
name=training_data; type=file; description=training data
name=training_meta_data; type=file; description=meta data to identify language etc
以下是我的代码示例:
File trainingCSVFile = new File("path to training file");
Request request=Request.Post(<bluemix service url>).
bodyFile(trainingCSVFile, ContentType.TEXT_PLAIN).
bodyString("{\"language\":\"en\",\"name\":\"PaymentDataClassifier\"}", ContentType.APPLICATION_JSON);
我的请求格式可能导致内部服务器错误。任何人都可以帮助我如何使用Fluent库优先传递上述参数吗?
答案 0 :(得分:1)
我将假设您使用的是Java并建议您使用Java SDK。您可以找到不仅使用自然语言分类器而且使用所有Watson服务+ Alchemy服务的示例。
下载jar
或使用Maven
<dependency>
<groupId>com.ibm.watson.developer_cloud</groupId>
<artifactId>java-sdk</artifactId>
<version>2.10.0</version>
</dependency>
或使用Gradle
'com.ibm.watson.developer_cloud:java-sdk:2.10.0'
创建分类器的代码段是:
NaturalLanguageClassifier service = new NaturalLanguageClassifier();
service.setUsernameAndPassword("<username>", "<password>");
File trainingData = new File("/path/to/csv/file.csv");
Classifier classifier = service.createClassifier("PaymentDataClassifier", "en", trainingData);
System.out.println(classifier);
培训持续时间取决于您的数据,但一旦经过培训,您就可以:
Classification classification = service.classify(classifier.getId(), "Is it sunny?");
System.out.println(classification);
如果您遇到问题,请随时在GitHub repo中打开问题