Как получить местоположение из текста, используя OpenNLP? - PullRequest
0 голосов
/ 07 ноября 2018

Я использую chunking для тегирования данных и получения местоположения из текста изначально, я пытаюсь извлечь существительную фразу из следующего, когда мы используем имя существительной фразы, также упоминаемой как именную фразу, поэтому она не может использоваться. Затем я переместился в местоположение Ядро ядра НЛП я пытаюсь запустить приведенный ниже код

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

InputStream inputStreamTokenizer = new FileInputStream ("D: \ project \ Извлечение отношений в текстовом документе \ 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", что является резонансом для него

1 Ответ

0 голосов
/ 07 ноября 2018

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

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

...