2014-02-09 40 views
1

我試圖運行斯坦福大學NLP分類器的例子,並對分類新數據集提出了一個問題。我發現「.test」文件包含「goldClass」,這是正確的答案以及應該測試的字符串。從數據集中製作基準,斯坦福大學NLP

示例性測試集的格式如下:

<label> <string> 
<label> <String> 
... 
.... 

這是有道理的,一旦我們的模型已經從設定手分類數據創建了一個模型的評價。但是現在,一旦創建了模型,我如何對全新的數據集進行分類?我不再有相關的標籤...我只是有一組新的字符串,我想知道類...

但是要對它們進行分類,我將不得不創建一個Datum對象。要創建基準對象,我需要使用makeDatumFromLine(),它需要TSV線...爲什麼這必須是TSV?分類新數據時,指定GoldClass有什麼用處?

我希望我的問題很清楚..

+0

我正在努力解決完全相同的問題 - 我無法找到任何分類新項目的方法。 –

回答

0

「爲什麼它必須是TSV?

因爲它。我的解決方案,以獲得未知行的類是以下內容:

Datum<String, String> example = cdc.makeDatumFromLine("\tEverybody here needs food badly!"); 
System.out.println("Example data-> "+cl.classOf(example)); 

似乎工作正常。我不知道這是否是最好的用途 - 但它對我有用。

+1

「*因爲它*。」回答時請儘量成爲*位* *。也許引用一個來源來備份你的聲明。 – owacoder

+0

http://nlp.stanford.edu/nlp/javadoc/javanlp/edu/stanford/nlp/classify/ColumnDataClassifier.html 此類解析的方式是採用列格式 - 默認情況下其製表符分隔。似乎有選擇使用CSV,但我發現設置非標準選項是一個不平凡的練習,所以建議保持原樣。 –