通常のJavaアプリケーションでopenNLP POSモデルを使用してPOSタグ付けを試みました。今、私はそれを Android プラットフォームに実装したいと考えています。モデル (バイナリ ファイル) を読み取って POS タグ付けを適切に実行できないため、Android の要件または制限が何であるかわかりません。
外部ストレージから .bin ファイルを取得し、外部ライブラリに配置しようとしましたが、それでも機能しませんでした。これらは私のコードです:
InputStream modelIn = null;
POSModel model = null;
String path = Environment.getExternalStorageDirectory().getPath() + "/TextSumIt/en-pos-maxent.bin";
modelIn = new BufferedInputStream( new FileInputStream(path));
model = new POSModel(modelIn);
私が得たエラー:
11-15 06:39:35.072: W/System.err(565): opennlp.tools.util.InvalidFormatException: The profile data stream has an invalid format!
11-15 06:39:35.177: W/System.err(565): at opennlp.tools.dictionary.serializer.DictionarySerializer.create(DictionarySerializer.java:224)
11-15 06:39:35.177: W/System.err(565): at opennlp.tools.postag.POSDictionary.create(POSDictionary.java:282)
11-15 06:39:35.182: W/System.err(565): at opennlp.tools.postag.POSModel$POSDictionarySerializer.create(POSModel.java:48)
11-15 06:39:35.182: W/System.err(565): at opennlp.tools.postag.POSModel$POSDictionarySerializer.create(POSModel.java:44)
11-15 06:39:35.182: W/System.err(565): at opennlp.tools.util.model.BaseModel.<init>(BaseModel.java:135)
11-15 06:39:35.197: W/System.err(565): at opennlp.tools.postag.POSModel.<init>(POSModel.java:93)
11-15 06:39:35.197: W/System.err(565): at com.main.textsumit.SummarizationActivity.postagWords(SummarizationActivity.java:676)
11-15 06:39:35.205: W/System.err(565): at com.main.textsumit.SummarizationActivity.generateSummary(SummarizationActivity.java:252)
11-15 06:39:35.205: W/System.err(565): at com.main.textsumit.SummarizationActivity.onCreate(SummarizationActivity.java:127)
モデルを正しく読み取れない原因は何ですか? そして、これをどのように解決すればよいですか?助けてください。
ありがとうございました。