tutorial the stanford spanish online natural language corenlp java nlp stanford-nlp

java - the - Sentencia Parse Stanford Parser pasando Cadena no una serie de cadenas



stanford nlp github (1)

Para un uso simple, con el tokenizador predeterminado y las opciones predeterminadas de tokenizer para una gramática, existe un método de conveniencia fácil que puede usar:

lp.parse(String)

Pero los métodos de PTBTokenizer que apunta no toman un FileReader , simplemente toman un Reader , por lo que también puede apuntar fácilmente un PTBTokenizer a una Cadena al envolver la Cadena en un StringReader . Este es el enfoque correcto si necesita más control sobre cómo ocurre la tokenización.

¿Es posible analizar una oración utilizando Stanford Parser al pasar una cadena y no una matriz de cadenas? Este es el ejemplo que dieron en su breve tutorial ( Ver Documentos ):

Aquí hay un ejemplo:

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(); } }

Estoy tratando de ver si puedo hacer esto porque necesito obtener oraciones de una base de datos MySQL y analizarlas directamente como cadenas. Podría cambiar las oraciones y agregar las palabras, comas y punto a una matriz de cuerdas. Sin embargo, para tokenizar estas oraciones, tendría que usar Stanford Tokenizer, PTBTokenizer. El constructor de este tokenizer se enumera aquí

( Ver Documentos )

requiere un objeto "java.io.FileReader", pero no estoy leyendo un archivo del directorio. Así que me pregunto si hay una forma de Parsear la oración directamente pasando una cadena, o si puedo resolver mi problema al tokenizar la oración sin requerir un objeto "java.io.FileReader".