5

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 ファイルの場合、各漢字は "?" として抽出されます。

どうもありがとう!

4

2 に答える 2

2

Apache Tika は、サポートされているファイル形式から Unicode テキストを抽出できます。ファイル形式が Unicode テキスト (中国語や日本語の文字など) を保存できる限り、Apache Tika はそれを抽出できます。

Tika には、これが機能することを確認するための多数の単体テストも含まれています。そのようなテストの 1 つは、このサンプルの中国語の電子メールを使用します。コマンド ライン 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

または、この日本語ドキュメントを使用すると:

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

生成するテキスト出力が適切なエンコーディング (utf8 など) で保存され、表示に使用するフォントがそれらのグリフをサポートしていることを確認する必要があります。

于 2013-09-18T09:54:22.813 に答える
0

Apache Tikaが中国語や日本語などの外国語をサポートしていないという記述は見たことがありません。しかし、次のApache Tika ソース ファイルを見てみると、両方の言語が見つかりませんでした。

http://svn.apache.org/repos/asf/tika/branches/1.4/tika-core/src/main/resources/org/apache/tika/language/tika.language.properties

ただし、5 分間のユーザー ガイドで説明したのと同じ方法で実装を試し、中国語の Doc ファイルでテストすることはできます。

https://tika.apache.org/1.4/parser_guide.html

于 2013-09-18T06:37:55.897 に答える