簡體   English   中英

在Java的Stanford NLP解析器中設置選項

[英]Set options in the Stanford NLP Parser in Java

我正在嘗試使用Stanford NLP解析器來解析POS標記的數據。 由於我的數據已被標記和標記,因此我試圖使用setOptionFlags()方法通知解析器有關此信息,

LexicalizedParser lp = LexicalizedParser.loadModel("edu/stanford/nlp/models/lexparser/englishPCFG.ser.gz");
lp.setOptionFlags(new String[]{"-sentences", "newline", "-tokenized", "-tagSeparator", "_", "-tokenizerFactory", "edu.stanford.nlp.process.WhitespaceTokenizer", "-tokenizerMethod", "newCoreLabelTokenizerFactory"});

但是,我不斷遇到異常,

Exception in thread "main" java.lang.IllegalArgumentException: Unknown option: -sentences

我已經通過提供的Javadocs在線搜索了,這是在他們的示例中完成的方法。 請幫忙!

用於標記化,標簽分離器等的選項是不解析器,狹義的選項,但是對於DocumentPreprocessor是,用於建立輸入到的主要方法解析器LexicalizedParser 對於實際的解析器,輸入是令牌列表,並且將對這些令牌進行解析。 因此,您不能使用setOptions()將這些選項作為解析器選項使用。

如果你有令牌的列表,你可以把它們直接進入分析器用這種方法在LexicalizedParserpublic Tree parse(List<? extends HasWord> lst) 如果列表中的項目實現了HasTag (例如TaggedWordCoreLabel )並且具有非null標簽,則解析器將在解析句子時使用該標簽。

如果要使用DocumentPreprocessor將帶有標記標記的單詞的文本分割開,則需要創建一個DocumentPreprocessor ,然后使用setTagDelimiter(String s)類的方法(有點手動,抱歉)進行設置。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM