2015-11-14 76 views
1

我一直在與斯坦福大學的核心NLP一起工作,對我有一些數據進行情感分析,並且正在創建培訓模型。我知道我們可以創建一個培訓模式用以下命令:關於創建斯坦福CoreNLP培訓模型的問題

java -mx8g edu.stanford.nlp.sentiment.SentimentTraining -numHid 25 -trainPath train.txt -devPath  dev.txt -train -model model.ser.gz 

我知道在train.txt文件發生的事情。你得到句子,並把它們放在train.txt中,像這樣: (0 (2 Today) (0 (0 (2 is) (0 (2 a) (0 (0 bad) (2 day)))) (..)))

但我不明白dev.txt文件中會出現什麼情況。 我通過this問題多次嘗試瞭解dev.txt中的內容,但對我而言仍然不清楚。此外,手動評分這些句子已成爲一種痛苦,是否有可用的工具使其更容易?我擔心我一直在使用錯誤的括號或其他一些愚蠢的錯誤。

此外,我的train.txt文件應該是多長時間的任何建議?我正在考慮打分1000句話。這個數字是否太小,太大?

您所有的幫助表示讚賞:)

回答

1
  1. dev.txt應該是一樣train.txt只是一組不同的句子。請注意,相同的句子不應出現在dev.txt和train.txt中。開發集用於評估您在訓練數據上訓練的模型的質量。

  2. 我們不會分發標記情感數據的工具。這個類可以在建立數據有所幫助:http://nlp.stanford.edu/nlp/javadoc/javanlp/edu/stanford/nlp/sentiment/BuildBinarizedDataset.html

  3. 下面是用於情緒模型火車,偏差的大小,並試臺:火車= 8544,偏差= 1101,測試= 2210

+0

你能詳細說明dev.txt嗎?現在,我正在爲我的train.txt文件使用tweets。我是否應該收集相同數量的推文,對它們進行評分,然後將它們放入我的dev.txt文件中? – user3266259

+0

另外,一旦我創建了我的模型,我該如何測試它?在我下載的coreNLP庫中是否有jar文件,我可以在示例test.txt文件上運行?我很抱歉向你們提出了很多問題,但你似乎是專家:D – user3266259

+0

我的答案出錯了。從論文:樹庫中的句子被分成一列(8544),dev(1101)和測試分裂(2210) – StanfordNLPHelp

1

下面是用於評估模型的一些示例代碼

// load a model 
SentimentModel model = SentimentModel.loadSerialized(modelPath); 

// load devTrees 
List<Tree> devTrees; 
devTrees = SentimentUtils.readTreesWithGoldLabels(devPath); 

// evaluate on devTrees 
Evaluate eval = new Evaluate(model); 
eval.eval(devTrees); 
eval.printSummary(); 

你可以找到你需要輸入什麼,等等。通過觀察:

埃杜/斯坦福/ NLP/SE ntiment/SentimentTraining.java