Как получить местоположение из текста с помощью OpenNLP?

Я использую фрагментацию для пометки данных и получения местоположения из текста. Сначала я пытаюсь извлечь именную фразу из следующего, когда мы используем именную фразу, имя которой также упоминается как именное словосочетание, поэтому его нельзя использовать. Затем я перешел в местоположение ner ядра nlp я пытаюсь запустить приведенный ниже код

 * @param args the command line arguments
 */
public static void main(String[] args) {
    // TODO code application logic here
    try {

InputStream inputStreamTokenizer = new FileInputStream("D:\project\Relation Extraction in Text Document\Libraray\parsing/en-token.bin"); TokenizerModel tokenModel = new TokenizerModel (inputStreamTokenizer);

  //String paragraph = "Mike and Smith are classmates"; 
  String paragraph = "Tutorialspoint is located in Hyderabad"; 

  //Instantiating the TokenizerME class 
  TokenizerME tokenizer = new TokenizerME(tokenModel); 
  String tokens[] = tokenizer.tokenize(paragraph); 

  //Loading the NER-location moodel 
  InputStream inputStreamNameFinder = new 
     FileInputStream("D:\\project\\Relation Extraction in Text Document\\Libraray\\parsing/en-ner-location.bin");       
  TokenNameFinderModel location = new TokenNameFinderModel(inputStreamNameFinder); 

  //Instantiating the NameFinderME class 
  NameFinderME nameFinder;      
        nameFinder = new NameFinderME(location);

  //Finding the names of a location 
  Span nameSpans[] = nameFinder.find(tokens);        
  //Printing the spans of the locations in the sentence 
 for(Span s: nameSpans)        
     System.out.println(s.toString()+"  "+tokens[s.getStart()]);

Я получил сообщение об ошибке «java.lang.UnsupportedOperationException: еще не поддерживается».

Символ ошибки в "nameFinder = new NameFinderME(location);" говоря, что «exmp.TokenNameFinderModel не может быть преобразован в opennlp.tools.namefind.TokenNameFinderModel», что для этого нужно


person vishnu mangalasseril    schedule 07.11.2018    source источник


Ответы (1)


У вас некорректный импорт, вот рабочая версия:

import java.io.FileInputStream;
import java.io.InputStream;

import opennlp.tools.namefind.NameFinderME;
import opennlp.tools.namefind.TokenNameFinderModel;
import opennlp.tools.tokenize.TokenizerME;
import opennlp.tools.tokenize.TokenizerModel;
import opennlp.tools.util.Span;

и вывод: [4..5) location Hyderabad

person Community    schedule 07.11.2018
comment
Спасибо, бро... работает нормально, но работает только для этого. Я пробую другой пример.... но не могу его обнаружить... EG:Jhone работает в kollam - person vishnu mangalasseril; 08.11.2018