Я пытаюсь извлечь именованные объекты (людей, лиц и организаций) с помощью LingPipe и после this tutorial. Вот full text, что я пытаюсь извлечь имена из и здесь код (обработка исключений опущена для краткости):LingPipe Named Entity Recognizer выводит много несоответствий
Chunker chunker = readChunker("/path-to-chunker"); // custom method for
reading the model
String article = "Some long news article spanning multiple lines...";
Chunking chunking = chunker.chunk(article);
Set<Chunk> chunkingSet = chunking.chunkSet();
for (Chunk chunk : chunkingSet) {
String name = article.substring(chunk.start(), chunk.end()));
System.out.println(name);
}
И это (часть) на выходе я получаю:
Tony Abbott
Indonesia
Joko Widodo
Sukumaran
Andrew Chan
Bali.
pair
the Bali
Nusa Kambangan
Indonesian
Indonesian
I’
Widodo. I
” Abbott
Julie Bishop
Widodo
al-Jazeera
Sukumaran
Chan
Bishop
”
Как вы можете видеть, есть много несовпадений/частичного совпадения, как Bali.
, pair
, the Bali
, I'
, Widodo. I
, " Abbott
, "
. Я предполагаю, что NER библиотеки работает нормально, и проблема в том, что вышеупомянутый код каким-то образом неправильно использует классы/методы из этой библиотеки. Но я просто не могу найти, что не так в коде?
Любые идеи?
Upvote для исследовательской работы, так как я также тестирую несколько библиотек nlp, и это очень полезно! Это также причина для тестирования LingPipe. –
Модель chunker получена на веб-сайте LingPipe, и она предварительно подготовлена к новостным материалам, что я точно тестирую. Вот почему я думаю, что он должен работать намного лучше, чем это. –