gpt4 book ai didi

java - 我如何通过 tika 检测波斯语网页?

转载 作者:搜寻专家 更新时间:2023-10-31 19:34:47 24 4
gpt4 key购买 nike

我需要一个示例代码来帮助我通过 apache tika 工具包检测波斯语网页。

 LanguageIdentifier identifier = new LanguageIdentifier("فارسی");
String language = identifier.getLanguage();

我已经下载了 apache.tika jar 文件并将它们添加到类路径中。但是这段代码给出了波斯语的错误,但它适用于英语。如何将波斯语添加到 tika 的 languageIdentifier 包中?

最佳答案

Tika 尚未附带波斯语的语言配置文件。从 1.0 版开始 27 languages are supported开箱即用:

languages=be,ca,da,de,eo,et,el,en,es,fi,fr,gl,hu,is,it,lt,nl,no,pl,pt,ro,ru,sk,sl,sv,th,uk

在您的示例中,输入被误检测为 li(立陶宛语),距离为 0.41,高于确定性阈值 0.022。查看source code有关 LanguageIdentifier 内部工作的更多信息。

波斯语 ( Persian, ISO 639-1 2-letter code fa ) 默认不被识别。如果你想让 Tika 识别另一种语言,你必须先创建一个语言配置文件。

为此,需要执行以下步骤:

  1. 为您的语言查找文本语料库。我找到了 Hamshahri Collection .这应该足够了。下载语料库或其中的一部分,并使用 XML 创建纯文本文件。

  2. 为语言标识符创建一个 ngram 文件。这可以使用 TikaCLI 来完成:

    java -jar tika-app-1.0.jar --create-profile=fa -eUTF-8 fa-corpus.txt这将是一个名为 fa.ngp 的文件,其中包含 n-gram。

  3. 配置 Tika,使其识别新语言。要么使用 LanguageIdentifier.initProfiles() 以编程方式执行此操作,要么将名称为 tika.language.override.properties 的属性文件放入类路径中。确保 ngram 文件也在类路径中。

如果您现在运行 Tika,它应该可以正确检测您的语言。

更新:详细介绍了创建语言配置文件所需的步骤。

关于java - 我如何通过 tika 检测波斯语网页?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9044916/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com