2015-10-19 89 views
1

我目前正在嘗試運行以下項目(https://github.com/ilija139/PDTB-Parser)。我用來運行項目的文本文件是wsj_2300.txt,它可以在「output」目錄中找到。可惜沒有任何成功。該項目基於斯坦福核心NLP。我發現到現在爲止:Penn Discourse Tree Bank(PDTB)解析器

  1. 由於事實上該項目是基於較舊的依賴關係,因此我無法使用CoreNLP版本3.5.2(最新版本)。通過使用通用依賴關係,我得到以下錯誤消息:「沒有在MWE中使用class edu.stanford.nlp.trees.SemanticHeadFinder(MWE(JJ such)(IN as))中定義的頭部規則」)。但是,Stackowerflow(PrintTree - No head rule defined for MWE - Bug with version 3.5.2)關於同一問題的以下答案無法解決問題!如果有人知道如何解決這個問題,請告訴我。然而,由於事實上,PDTB解析器是在1年前更新的,所以我簡單地使用了2箇舊版本(3.5.1,然後是3.4.1),期望Thematrixme(PrintTree - No head rule defined for MWE - Bug with version 3.5.2)所述的項目運行, 。不幸的是,只有第一個問題解決了,另一個出現了。由於事實上在函數「buildDependencyTrees」中有一個簡單的「字符串索引超出範圍:-1()」,因此在依賴關係中不能找到「root」。

我試圖通過簡單地排除該節點的構建來解決該問題,但隨後在下一個依賴項中出現「indexOutOfBoundsException」,因爲沒有找到子節點......有人知道我需要什麼或者我需要使用哪種CoreNLP版本/模型讓本程序按照手冊中的說明正確運行?

非常感謝你

回答

0

我不知道你是如何使用解析器。但是,您可以通過在用於製作管道的屬性對象中將「parse.originalDependencies」設置爲「true」來讓Stanford CoreNLP 3.5.2創建舊的Stanford依賴項。或者如果你是從命令行運行的話,只需包含標誌「-parse.originalDependencies」如果你使用神經網絡依賴關係解析,你可以使用Stanford Dependencies模型,而不是將屬性「depparse.model」設置爲「edu /stanford/nlp/models/parser/nndep/english_SD.gz「

如果你讓我知道你是如何具體創建分析,我可以確切地告訴你使用什麼設置來獲得較舊的依賴關係。