1

我正在使用 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 库传递上述参数?

4

1 回答 1

1

我将假设您正在使用 Java 并建议您使用Java SDK。您可以找到不仅使用自然语言分类器而且使用所有 Watson 服务 + Alchemy 服务的示例。

安装

  1. 下载罐子

  2. 或使用 Maven

    <dependency>
        <groupId>com.ibm.watson.developer_cloud</groupId>
        <artifactId>java-sdk</artifactId>
        <version>2.10.0</version>
    </dependency>
    
  3. 或使用 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 存储库中打开一个问题

于 2015-11-20T16:08:26.780 回答