2014-03-06 67 views
0

如果我已經知道一些單詞的POS信息。如何在斯坦福大學NLP POS tagger執行之前提供一些POS信息?

如: 「我是ST316」 我知道ST316(我的ID)是一個專有名詞(NR)。在句子 如何讓tagger使用st316是NR的信息,然後決定其他單詞(我)的POS信息。

就像,

輸入:我ST316/NR。

輸出:I/PN AM/VC ST316/NR ./PU

幫助me.Really的感謝!

回答

0

我能想到的2種選擇:

  1. (容易)讓惡搞做它的魔力,然後覆蓋其輸出。如果您知道st316必須標記爲X,並且斯坦福大學未能如此標記,請將st316的標記更改爲X.此方法的缺點是標記器無法使用該信息更好地標記句子的其餘部分。
  2. (更難)Retrain PoS標記器,添加您的額外信息到其訓練數據。通過這種方式,它實際上會從您提供的信息中學習,並且能夠使用它。缺點是你需要獲得一些訓練數據和(取決於你得到多少數據),訓練新模型可能需要一段時間。

如果您使用選項2去,你需要按如下格式的數據:

 
An_DT avocet_NN is_VBZ a_DT small_JJ ,_, cute_JJ bird_NN ._. 
I_PRP am_VBP st316_NNP ._. 
I_PRP am_VBP st316_NNP ._. 
I_PRP am_VBP st316_NNP ._. 
I_PRP am_VBP st316_NNP ._. 
I_PRP am_VBP st316_NNP ._. 

第一行是從斯坦福FAQ拍攝。其餘的是你的額外知識。注意重複一個額外的句子。這是爲了將僞計數添加到該觀察值。非正式地說,如果在訓練數據中只包含st316_NNP一次,那麼標記器會認爲它是噪聲/錯誤並忽略它。重複就像是說「是的,我確定,我知道我在做什麼,從這些數據中學習」。根據您擁有的數據量,您需要5到50次重複,以確保標記器正確學習。

+0

我真正想要的是實現選項2的一種簡單方法。但是在搜索和搜索之後,似乎沒有辦法。我會嘗試重新訓練tagger.Anyway,謝謝! – st316

相關問題