1

以下のコードを使用して文を解析し、出力を取得していますが、エラーが表示されています

(method apply in class LexicalizedParser cannot be applied to given types;
  required: List<? extends HasWord>
  found: String
  reason: actual argument String cannot be converted to List<? extends HasWord> by method invocation conversion)
at line parse = (Tree) lp.apply(sent):


import edu.stanford.nlp.parser.lexparser.LexicalizedParser;
import edu.stanford.nlp.trees.Tree;
import java.util.List;

public class ParserDemo1 {
    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="Ohio is located in America";
        Tree parse;
        parse = (Tree) lp.apply(sent);

        List taggedWords = parse.taggedYield();
        System.out.println(taggedWords);
    }
} 

出力を取得するにはどうすればよいですか?

4

2 に答える 2

0

これがあなたの答えです:

parse適用する代わりに使用する必要があります。

import edu.stanford.nlp.parser.lexparser.LexicalizedParser;
import edu.stanford.nlp.trees.Tree;
import java.util.List;

public class ParserDemo1 {
    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="Ohio is located in America";
        Tree parse;
        parse = (Tree) lp.parse(sent);

        List taggedWords = parse.taggedYield();
        System.out.println(taggedWords);
    }
} 
于 2015-07-14T23:12:14.053 に答える