Nutch の LanguageIdentifier と同じパッケージには、 NGramProfile というクラスがあります。これも main() メソッドをもっていますが、API ドキュメントには main method used for testing only とあります。一応、試してみます。
$ java -classpath plugins/language-identifier/language-identifier.jar:\
lib/commons-logging-1.0.4.jar org.apache.nutch.analysis.lang.NGramProfile
Usage: NGramProfile [-create profilename filename encoding] [-similarity file1 file2] \
[-score profile-name filename encoding]
$
|
-create オプションでプロファイルを作成できるようです。これは、src/plugin/la nguageidentifier/src/java/org/apache/nut ch/analysis/lang にあるソースを確認してもわかります。このディレクトリには最初からサポートされてい る言語の ngp ファイルもあるので、だいたいこれらと同じ 30KB ぐらいのサイズになるように、日本語のテキストファイルを用意して作ってみます。また、l angmappings.properties には、すでに ja のエントリがあります。
$ java -classpath plugins/language-identifier/language-identifier.jar:lib/commons-logging-1.0.4.jar \
org.apache.nutch.analysis.lang.NGramProfile -create ja sample.ja.utf8.txt utf8
new profile ja.ngp was created.
$ mv ja.ngp src/plugin/languageidentifier/src/java/org/apache/nutch/analysis/lang
$ cd src/plugin/languageidentifier
$ ant
$
|
これで /usr/local/nutch-0.8.1/build/language-id entifier に、新しい language-identifier.jar ができました。これを使って日本語のファイルを判別してみます。
$ cd /usr/local/nutch-0.8.1
$ java -classpath build/language-identifier/language-identifier.jar:nutch-0.8.1.jar:\
lib/commons-logging-1.0.4.jar:lib/hadoop-0.4.0-patched.jar:lib/log4j-1.2.13.jar \
org.apache.nutch.analysis.lang.LanguageIdentifier -identifyfile utf8 sample.ja.utf8.txt
...
07/03/02 20:40:53 INFO lang.LanguageIdentifier: Language identifier plugin supports: ja(1000) \
it(1000) is(1000) hu(1000) th(1000) sv(1000) fr(1000) ru(1000) fi(1000) es(1000) en(1000) \
el(1000) ee(1000) pt(1000) de(1000) da(1000) pl(1000) no(1000) nl(1000)
text was identified as ja
$
|
これで、日本語も判別できるようになりました。 Tags: computer_technology
|