Разобрать предложение Stanford Parser, передав String, а не массив строк
Можно ли разобрать предложение, используя анализатор Стэнфорда, передавая строку, а не массив строк. Это пример, который они дали в своем коротком уроке (Смотрите документы):
Вот пример:
import java.util.*;
import edu.stanford.nlp.ling.*;
import edu.stanford.nlp.trees.*;
import edu.stanford.nlp.parser.lexparser.LexicalizedParser;
class ParserDemo {
public static void main(String[] args) {
LexicalizedParser lp = LexicalizedParser.loadModel("edu/stanford/nlp/models/lexparser/englishPCFG.ser.gz");
lp.setOptionFlags(new String[]{"-maxLength", "80", "-retainTmpSubcategories"});
String[] sent = { "This", "is", "an", "easy", "sentence", "." }; // This is the sentence to be parsed
List<CoreLabel> rawWords = Sentence.toCoreLabelList(sent);
Tree parse = lp.apply(rawWords);
parse.pennPrint();
System.out.println();
TreebankLanguagePack tlp = new PennTreebankLanguagePack();
GrammaticalStructureFactory gsf = tlp.grammaticalStructureFactory();
GrammaticalStructure gs = gsf.newGrammaticalStructure(parse);
List<TypedDependency> tdl = gs.typedDependenciesCCprocessed();
System.out.println(tdl);
System.out.println();
}
}
Я пытаюсь понять, смогу ли я сделать это, потому что мне нужно получить предложения из базы данных MySQL и разобрать их непосредственно как строки. Я мог бы пометить предложения предложениями и добавить слова, запятые и точку в массив строк. Однако для токенизации этих предложений мне пришлось бы использовать Stanford Tokenizer, PTBTokenizer. Конструктор этого токенизатора, как указано здесь
требуется объект "java.io.FileReader", но я не читаю файл из каталога. Поэтому мне интересно, есть ли способ проанализировать предложение напрямую, передав строку, или я могу решить мою проблему, используя токенизацию предложения, не требуя объекта "java.io.FileReader".