輸出格式由傳遞給Stanford Parser的TreePrint
構造函數的formatString
決定。
你得到一個是 「ONELINE」 選項:
(NP (DT the) (JJ dallas) (NN country) (NN club))
(NP (NP (CD 25) (NN cent)) (NP (NNP bingo)))
你想要的是 「字」:
the dallas country club
25 cent bingo
按照TreePrint javadoc,已知格式是:
oneline, penn, latexTree, xmlTree, words, wordsAndTags, rootSymbolOnly,
dependencies, typedDependencies, typedDependenciesCollapsed, collocations,
semanticGraph, conllStyleDependencies, conll2007
這個來自Stanford Parser homepage的例子展示瞭如何在co上設置它使用-outputFormat
標誌mmand行:
java -mx200m edu.stanford.nlp.parser.lexparser.LexicalizedParser
-retainTMPSubcategories -outputFormat "wordsAndTags,penn,typedDependencies"
englishPCFG.ser.gz mumbai.txt
感謝@Diosjenin:這種反應是非常全面和偉大。它工作得很好。唯一需要的編輯是在解析器中我們有(NP(PRP $我們))(NN經濟),所以這個解決方案將刪除(PRP $我們),這是不正確的。通過刪除所有$符號這種方法準確地工作 – user3147590
@ user3147590,因爲情況是這樣的:在執行之前,不要刪除$ s,你可以添加一個轉義的$'\\ $'並在大寫字母匹配後標記爲可選的'?'。新的正則表達式將讀爲'(?<= \\ [AZ] {2,3} \\ $?)[^ \\(\\)] +',它將與「(PRP $ our)」中的「我們」相匹配 – Diosjenin