2014-08-28 97 views
0

在使用GATE工具對訓練數據運行機器學習者算法(SVM)之後,我想對測試數據進行測試。我的問題是,如果我使用相同的訓練數據進行測試,那麼模型如何從測試數據中提取實體,而測試數據沒有使用在訓練數據中學過的註釋進行註釋。GATE工具中的機器學習

我跟着這個鏈接http://gate.ac.uk/sale/talks/gate-course-may11/track-3/module-11-machine-learning/module-11.pdf的教程,但最後它談到了將數據集分解爲訓練和測試時有點混淆。

回答

0

在GATE中,您有3種機器學習PR模式 - 用於培訓,評估和應用。

當你訓練時,ML PR會檢查選定的註釋(比如說令牌),收集它的特徵並學習目標類(即Person,Mention或其他)。使用示例文檔,ML PR創建了一個模型,該模型保存要素的值並基本「學習」如何對新令牌(或句子或其他)進行分類。

測試時,您只提供具有所有功能的令牌的ML PR。然後,ML PR將它們用作其模型的輸入,並決定是否提供或提供哪些內容。 ML PR實際上需要培訓語料庫中的所有內容,除了標籤/目標類/提及 - 應該作出的決定。

我認爲GATE ML PR在測試模​​式下會忽略標籤,所以刪除它並不重要。

評估是一個有用的選項,其中自動完成培訓和測試,語料庫被拆分並顯示結果。它所做的是將語料庫分成兩部分,一部分訓練,另一部分應用模型,比較黃金標準與標註的內容。重複不同的分割。

通常的順序是培訓和評估,檢查結果,修復,添加功能等,當您對評估結果滿意時,切換到應用程序並運行沒有標籤的數據。

在訓練和測試時,運行相同的預處理至關重要。例如,如果在訓練中運行了一個POS標記器,並且在測試時跳過這個標記,則ML PR將不具有「Token.category」功能,並將計算出非常不同的結果。

現在你的問題:)

不!不要使用相同的數據進行測試,這是一個非常常見的錯誤,如果您得到可疑的好結果,請首先檢查您是否正在這樣做。

在本教程中,當您拆分語料庫時,兩個部分都會像以前一樣擁有所有註釋,因此ML PR將具有所需的所有功能。在現實生活中,您必須先進行一些預處理,因爲文檔不會帶有令牌或任何內容。

在他們的案例中拆分做得非常簡單 - 只需將所有文檔保存到文件,將文件拆分到兩個文件夾中,將它們加載爲兩個語料庫。

希望這有助於:)

+0

這是非常有益的,但我面臨的問題是,當我在訓練數據上運行ML PR,訓練數據具有所有註釋/標籤中,ML公關很好地表明我的訓練數據具有學習模型所需的全部內容。一旦我在我的測試數據(沒有註釋/標籤的數據,它是原始數據)上運行應用程序模式,我看不到任何結果,正如我在評估中運行整個數據集(培訓+測試數據)時看到的那樣模式。 在Gate中是技術問題嗎?我希望在測試數據上運行應用程序模式時看到結果。 – user3635168 2014-08-31 00:52:13

+0

請幫我解決這個問題 – user3635168 2014-09-01 05:08:30

+0

好的,問題不在GATE。猜測出現問題並不容易,但我認爲,當您運行新文檔時,在運行ML PR之前,您沒有運行ANNIE。我在回覆中說了3次......首先運行ANNIE,生成令牌和所有內容,然後運行ML PR - 您需要在訓練/測試時進行的整個預處理。 – Yasen 2014-09-01 06:08:21