代码之家  ›  专栏  ›  技术社区  ›  Aurangzeb Rathore

Watson NLU-没有为语言检测提供足够的文本

  •  3
  • Aurangzeb Rathore  · 技术社区  · 7 年前

    我正在与沃森NLU合作,试图对一些文本进行情感分析。问题是一些文本太小,无法检测出它是什么语言(例如:出色的服务)。我有没有办法具体说明,如果语言检测不可能,应该考虑使用英语?

    我的NLU(Java)代码片段如下:

    SentimentOptions sentiment = new SentimentOptions.Builder()
        .targets(targets)
        .document(true)
        .build();
    
    
    Features features = new Features.Builder()
        .sentiment(sentiment)
        .build();
    
    
    AnalyzeOptions parameters = new AnalyzeOptions.Builder()
        .text(text)
        .features(features)
        .build();
    
    AnalysisResults response = service
        .analyze(parameters)
        .execute();
    
    String mySentiment = response.getSentiment().getDocument().getLabel();
    
    1 回复  |  直到 7 年前
        1
  •  6
  •   Sayuri Mizuguchi    7 年前

    根据官方API参考文档,您需要指定 language 中的参数 POST 要求

    有关这些参数的详细信息,请参见 Watson Developer Cloud - Github -Java SDK。

    API参考说明-NLU:

    • 语言 (字符串):ISO 639-1代码,指示用于分析的语言。此代码覆盖服务执行的自动语言检测。有效代码为ar(阿拉伯语)、en(英语)、fr(法语)、de(德语)、it(意大利语)、pt(葡萄牙语)、ru(俄语)、es(西班牙语)和sv(瑞典语)。有关每种语言支持哪些功能的更多信息,请参见 table .

    其工作原理示例:

    参数。json文件示例:

    {
      "text": "Excelent service",
      "features": {
        "semantic_roles": {}
      },
      "language": "en"
    }
    

    卷曲示例:

    curl -X POST \
    -H "Content-Type: application/json" \
    -u "{username}":"{password}" \
    -d @parameters.json \
    "https://gateway.watsonplatform.net/natural-language-understanding/api/v1/analyze?version=2017-02-27"
    

    可能是您的示例(您没有指定编程语言,所以):

    AnalyzeOptions parameters = new AnalyzeOptions.Builder()
        .text(text)
        .features(features)
        .language('en')
        .build();