в DIRRE НУЖНО за помощь, пожалуйста! Я новичок в программировании и НЛП. я пытаюсь создать приложение OCR и NLP в android с java. Для OCR я использую GV, для NLP я использую OpenNLP. Итак, мое приложение должно распознавать и извлекать сущности на 3 разных языках: русский, английский sh, китайский.
Я обучил свои модели NER, однако я не уверен, как интегрировать переключение (например, если китайский, то chi-ner-name.bin, если русский, тогда будет использоваться rus-ner-name.bin ) между ними. Если код для engli sh такой:
try {
in_token = assetManager.open("en-token.bin");
TokenizerModel tokenModel = new TokenizerModel(in_token);
TokenizerME tokenizer = new TokenizerME(tokenModel);
String[] tokens = tokenizer.tokenize(nlp_text);
in_gems = assetManager.open("en-ner-names.bin");
TokenNameFinderModel model_name = new TokenNameFinderModel(in_gems);
NameFinderME nameFinder_name = new NameFinderME(model_name);
Span[] nameSpans1 = nameFinder_name.find(tokens);
for (Span s : nameSpans1) {
for (int index = s.getStart(); index < s.getEnd(); index++) {
name_output.setText(tokens[index] + " ");
}
}
} catch (Exception ex) {
Log.e("NLP", "message: " + ex.getMessage(), ex);
}
Должен ли я просто повторить код для других языковых моделей? Должен быть более короткий и эффективный способ, нет? Кроме того, я не уверен, должен ли я реализовывать LanguageDetector API поверх обученных моделей?
Для новичка ie, такого как я Apache Документы OpenNLP не достаточно объяснительны. Может кто-нибудь, пожалуйста, дать мне руководство или указать направление учебников или других ресурсов. Спасибо!