【问题标题】:Apache Tika fails to detect language on short sentence. Why?Apache Tika 无法检测短句中的语言。为什么?
【发布时间】:2019-10-01 14:59:26
【问题描述】:

我尝试检测短语中的语言,但由于检测结果错误而感到惊讶。

    LanguageDetector detector = new OptimaizeLangDetector();
    try {
        detector.loadModels();
    } catch (IOException e) {
        LOG.error(e.getMessage(), e);
        throw new ExceptionInInitializerError(e);
    }
    LanguageResult languageResult = detector.detect("Hello, my friend!")

languageResult 包含“中等”概率的挪威语。为什么?我认为它必须是英语。似乎可以正确检测到较长的短语。这是否意味着 Apache Tika 不应该用于短文本?

【问题讨论】:

    标签: java nlp apache-tika


    【解决方案1】:

    这不适用于短文本。正如文档中所说:

    实现 LanguageDetector API 使用 https://github.com/optimaize/language-detector

    来自https://tika.apache.org/1.13/api/org/apache/tika/langdetect/OptimaizeLangDetector.html

    去查看那个 github 并检查他们在短文本方面遇到的挑战。

    当要分析的输入文本为 短,或不洁。例如推文。

    来自他们的https://github.com/optimaize/language-detector 挑战部门

    【讨论】:

      【解决方案2】:

      我可以重现该问题。 它可能不会直接回答问题,但被视为一种解决方法......

      似乎如果您知道可以使用哪些语言,您可以通过loadModels(models) 方法将它们传递给检测器。这种方法有助于正确检测英语:

              try {
                  Set<String> models=new HashSet<>();
                  models.add("en");
                  models.add("ru");
                  models.add("de");
                  LanguageDetector detector = new OptimaizeLangDetector()
      //            .setShortText(true)
                  .loadModels(models);
      //            .loadModels();
                  LanguageResult enResult = detector.detect("Hello, my friend!");
      //            LanguageResult ruResult = detector.detect("Привет, мой друг!");
      //            LanguageResult deResult = detector.detect("Hallo, mein Freund!");
                  System.out.println(enResult.getLanguage());
              } catch (IOException e) {
                  throw new ExceptionInInitializerError(e);
              }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-04-16
        • 2020-09-19
        • 2011-09-07
        • 2022-10-05
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多