2011-08-27 23 views
3

我們一直使用Weka Explorer GUI來構建一些分類器模型。現在測試已經完成,我們希望在Java應用程序中實現此模型,以便它可以接收新消息。在Java中構建/運行Weka文本分類器

因此,對於需要對消息進行標記的新消息,使用標記來匹配消息中的標記,標記用於爲模型構建單詞向量,然後將此向量解析爲模型。

我們應該如何去做這個過程?有沒有可用的例子?

我們如何處理新的標記(即出現在新文本消息中的單詞不是用於構建模型的單詞向量的一部分)?

對於分類器預處理/令牌化,我們使用NGram Tokenizer,Stemmer和IDF變換。所以我們需要弄清楚如何執行這些步驟,然後才能根據我們想分類的文本創建一個新的實例。

作爲一方在資源管理器中構建分類器時,在更多選項中,有一個按鈕用於選擇「輸出分類器代碼」,這聽起來像輸出Java源代碼來構建和使用模型,但是此選項被禁用。使用多種不同的分類器(RF,NB)進行測試,且不會改變。我猜它沒有實現這些?

乾杯!

回答

1

據我所知,當新的訓練樣本到達時,您需要重新訓練weka分類器。我不知道Wekka中的在線分類算法。

ps。 Weka是基於Java的,所以你可以在你的應用程序中使用它的庫。這是一個很好的例子:http://weka.wikispaces.com/Use+WEKA+in+your+Java+code

+0

謝謝。我知道如果不進行再培訓,就無法添加新的訓練樣本(儘管一些分類器模型是可更新的)。然而,對未標記的新消息進行分類(即沒有標籤的測試集)。對於分類器,我們使用NGram Tokenizer,Stemmer和IDF變換。所以我們需要弄清楚如何執行這些步驟,然後才能根據我們想分類的文本創建一個新的實例。 – NightWolf

+0

這對我來說不是很清楚,你的問題是什麼。據我所知,你有一個文本處理管道來處理新的消息。你知道Wekka是如何工作的,你可以將它嵌入到你的Java應用程序中。所以,現在,你正在尋找一種方法來處理新郵件中不可預見的令牌。我理解正確嗎? – Skarab