我注意到NLTK sent_tokenizer在某些日期時會出錯。有什麼辦法來調整,以便它能夠正確標記化如下:NLTK Sentence Tokenizer錯誤
valid any day after january 1. not valid on federal holidays, including february 14,
or with other in-house events, specials, or happy hour.
目前運行sent_tokenize的結果:
['valid any day after january 1. not valid on federal holidays, including february 14,
or with other in-house events, specials, or happy hour.']
但它不應導致:
['valid any day after january 1.', 'not valid on federal holidays, including february 14,
or with other in-house events, specials, or happy hour.']
爲'1月1日'之後的時期是合法的句子終止字符。
偉大的答案。我會嘗試將標記器移動到文本轉換爲小寫之前。 – user2694306 2014-12-02 09:16:04
您不應該不必要地小寫您的語料庫。它可能會降低模型訓練的稀疏性並提高IR中的檢索率,但會導致噪聲模型,並且幾乎總是會導致預處理不好,因爲標記化,標記和解析模型是基於格式良好的數據構建的。 – alvas 2014-12-02 09:24:42
例如'睡覺狗是一個很好的遊戲',在這種情況下'睡覺狗'是一個命名實體,如果你在POS標記之前將它降低了,我很肯定POS標記會說它是一個「睡眠(形容詞/形容詞動詞)狗(名詞)「而不是」睡眠(NNP)狗「(NNP)' – alvas 2014-12-02 09:26:31