gpt4 book ai didi

apache - Apache Tika 能够提取中文、日语等外语吗?

转载 作者:行者123 更新时间:2023-12-02 01:11:58 26 4
gpt4 key购买 nike

Apache Tika 能够提取中文、日语等外语吗?

我有以下代码:

    Detector detector = new DefaultDetector();
Parser parser = new AutoDetectParser(detector);
InputStream stream = new ByteArrayInputStream(bytes);
OutputStream outputstream = new ByteArrayOutputStream();
ContentHandler textHandler = new BodyContentHandler(outputstream);
Metadata metadata = new Metadata();
// Set<String> langs = LanguageIdentifier.getSupportedLanguages();
// metadata.set(Metadata.CONTENT_LANGUAGE, lang);
// metadata.set(Metadata.FORMAT, hint);
ParseContext context = new ParseContext();
try {
parser.parse(stream, textHandler, metadata, context);
String extractedText = outputstream.toString();
return extractedText;
} catch (IOException e) {
e.printStackTrace();
} catch (SAXException e) {
e.printStackTrace();
} catch (TikaException e) {
e.printStackTrace();
}

如果输入的是包含汉字的doc文件,则每个汉字将被提取为“?”。

非常感谢!

最佳答案

Apache Tika 能够从其支持的文件格式中提取 unicode 文本。只要文件格式可以存储unicode文本(例如中文或日文字符),Apache Tika就可以提取它

Tika 还为此提供了许多单元测试,以验证其是否有效。其中一项测试使用 this sample chinese email 。如果使用命令行 Tika 应用程序,并获取前几行,我们会看到它正在工作:

$ java -jar tika-app-1.4.jar --text testMSG_chinese.msg | head
Alfresco MSG format testing ( MSG 格式測試 )
From
Tests Chang@FT (張毓倫)
To
Tests Chang@FT (張毓倫)
Recipients
tests.chang@fengttt.com

或者用这个Japanese document :

$ java -jar tika-app-1.4.jar --text testRTFJapanese.rtf | head -2
ゾルゲの処刑記録、
ゾルゲと尾崎、淡々と最期 

您只需确保生成的任何文本输出都以合适的编码存储(例如 utf8),并且用于显示它的字体支持这些字形!

关于apache - Apache Tika 能够提取中文、日语等外语吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15638944/

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