我注意到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