2013-03-28 20 views
0

我試圖寫一個(希望)簡單的腳本來解析一小段。我需要它在兩個單獨的步驟中進行句子檢測和標記化,以便用戶可以在轉到下一步之前編輯句子檢測的輸出。這是爲了手動捕捉任何可以分解成更小的完整句子的句子。我將與之合作的散文很短,所以句子檢測和編輯應該是微不足道的。一旦用戶對句子輸出文件滿意,分詞器應該進一步細分每一行。結果將進入一個XML文件。最終的結果應該是這樣的:在Groovy中使用OpenNLP

原始輸入:「約翰喜歡瑪麗和瑪麗喜歡約翰。」

編輯句子輸出:

John likes Mary and Mary likes John. 
John likes Mary 
and 
Mary likes John. 

最終輸出:

<fullText> 
<snippet value="John likes Mary and Mary likes John."> 
<snippet value="John likes Mary"> 
<snippet value="John"/> 
<snippet value="likes"/> 
<snippet value="Mary"/> 
</snippet> 
<snippet value="and"/> 
<snippet value="Mary likes John."> 
<snippet value="Mary"/> 
<snippet value="likes"/> 
<snippet value="John"/> 
<snippet value="."/> 
</snippet> 
</snippet> 
</fullText> 

我遇到OpenNLP,這似乎是它既有句子探測器和標記生成器,我需要,但我對Groovy而言,我很難搞清楚如何在腳本中使用這些工具。我試圖使用找到的代碼here,但一直沒有能夠得到它的工作。我在腳本中有以下代碼,但是我得到一個TokenizerModel無法找到的錯誤。

@Grapes(
    @Grab(
    group='org.apache.opennlp', 
    module='opennlp', 
    version='1.5.1-incubating' 
) 
) 
import opennlp.tools.tokenize.* 

static TokenizerModel tokenizerModel 

有什麼建議嗎?謝謝!

回答

0

改爲將其包含在您的BuildConfig.groovy中。
確保您的存儲庫塊中有mavenCentral(),並且在依賴關係中添加了OpenNLP的依賴項,您可以在其中找到here

應該是這個樣子:

repositories { 
    grailsPlugins() 
    grailsHome() 
    mavenCentral() 
} 
dependencies { 
    compile 'org.apache.opennlp:opennlp-tools:1.5.2-incubating' 
}