2

Javaライブラリを使用した日本語の言語検出に問題があります:

日本語のテキストを使って、それがテキスト言語であることを検出しようとしていますが、予想される「ja」の代わりに「en」を取得しました。誰かが以前にこの問題を見たことがありますか?

期待される出力はどれくらいですか?

[ja:0.9999952022259697]

代わりに何が見えますか?

[en:0.9999952022259697]

添付ファイルに日本語のテキストが含まれている元の問題の説明は、ここにあります

4

1 に答える 1

1

これはほぼ間違いなく、入力ファイルのエンコードに関連する問題です(そのファイルに日本語が含まれている場合、私はそれが含まれているとは確信していません)。

リンク先のJavaライブラリは、ドキュメントによると、入力がオブジェクトとして提供されていることを前提としていStringます。これは、エンコーディングがすでに正しく推測され、入力バイトシーケンスがJava文字列に変換されていることを前提としています。

ライブラリを使用するときは、それが当てはまるかどうかを確認する必要があります。つまり、不明なエンコーディング(日本語のEUC-JPやSJISなど)のテキストを扱う場合は、最初にエンコーディングを検出し、文字列を適切に変換する必要があります。

(これらの理由により、優れた言語検出器は、言語とエンコーディングに固有の内部辞書を使用することにより、エンコーディング言語を同時に検出できます。)

于 2012-04-20T14:43:00.287 に答える