Analise a sentença Stanford Parser passando String, não uma matriz de strings
É possível analisar uma frase usando o Stanford Parser passando uma string e não uma matriz de strings. Este é o exemplo que eles deram em seu breve tutorial (Ver documentos):
Aqui está um exemplo:
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();
}
}
Estou tentando ver se consigo fazer isso porque preciso obter frases de um banco de dados MySQL e analisá-las diretamente como strings. Eu poderia tokezine as frases e adicionar as palavras, vírgulas e ponto a uma String Array. No entanto, para tokenizar essas frases, eu teria que usar o Stanford Tokenizer, PTBTokenizer. O construtor deste tokenizador, conforme listado aqui
requer um objeto "java.io.FileReader", mas não estou lendo um arquivo do diretório Então, estou pensando se existe uma maneira de Analisar a sentença diretamente passando uma string ou se posso resolver meu problema usando a frase sem precisar de um objeto "java.io.FileReader".