python nltk —— 文本预处理

  • 下载:

    import nltk
    nltk.download()
    

0. 语法知识

  • N:名词, V:动词,ADJ:形容词,ADV:副词,
    • proper noun:专有名词
    • pronoun:代词,he/her/I/their
  • CNJ:连词,and/or/but/if/while/although
  • DET:determiner,限定词,the/a/some/most/every/no
  • EX:existential,there/there’s
  • MOD:情态动词,UH:Interjection,情态动词;
  • VD:past tense,VG:现在时,VN:完成时

1. 语料库的查看

  • brown:布朗语料库;

  • categories:分类

  • stents:句子

  • words:单词

    >> from nltk.corpus import brown
    # 文本类型
    >> brown.categories()
    ['adventure', 'belles_lettres', 'editorial',
    'fiction', 'government', 'hobbies', 'humor',
    'learned', 'lore', 'mystery', 'news', 'religion',
    'reviews', 'romance', 'science_fiction']
    
    >> len(brown.sents())
    57340
    >> len(brown.words())
    1161192
    

2. 词干提取与词形归一

  • 词干提取(Stemming):walking ⇒ walk;walked ⇒ walk

    from nltk.stem import PorterStemmer, LancasterStemmer, SnowballStemmer
    porter_stem = PorterStemmer()
    porter_stem.stem('walking')
    
  • 词形归一(Lemmatization):went ⇒ go;are ⇒ be

    from nltk.stem import WordNetLemmatizer
    lemma = WordNetLemmatizer()
    lemma.lemmatize('dogs')
    

    注意词性的问题,不指定 POS,默认是名词

    >> lemma.lemmatize('went')
    'went'
    >> lemma.lemmatize('went', pos='v')
    'go'
    >> lemma.lemmatize('are', pos='v')
    'be'				# be 动词也是动词
    

3. pos tags 与 stopwords

  • pos tags

    words = nltk.word_tokenize('what does the fox say')
    nltk.pos_tags(words)
    [('what', 'WDT'), ('does', 'VBZ'), ('the', 'DT'), ('fox', 'NNS'), ('say', 'VBP')]
    
  • stopwords

    from nltk.corpus import stopwords
    stopwords.words('english')
    

    stopwords 支持的语言:

    ['dutch',
     'german',
     'hungarian',
     'romanian',
     'kazakh',
     'turkish',
     'russian',
     'README',
     'italian',
     'english',
     'greek',
     'norwegian',
     'portuguese',
     'finnish',
     'danish',
     'french',
     'swedish',
     'azerbaijani',
     'spanish',
     'indonesian',
     'arabic',
     'nepali']
    

4. 文本处理 pipeline

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

五道口纳什

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值