python自然语言处理nltk库常用接口

来源:互联网 发布:淘宝网拖鞋 编辑:程序博客网 时间:2024/05/01 13:50

最近准备面试,然后了解了一下nltk库的一些常用的接口,现在来跟大家分享一下

首先是通过nltk对文本进行分词

import nltknltk.word_tokenize("You raise me up")

这个实际上就是将文本中的每个词提取出来


然后我们可以吧提取出来的词做一个词性标注,接口是word_tokenize

text = nltk.word_tokenize("you raise me up")nltk.pos_tag(text)
结果如下:


单词旁边的字符串就表示词性,至于每种字符串分别代表哪种词性,可以参考这篇博文POS Tagging

nltk同样为我们提供了停用词表,可以输入下面的指令查询,并且nltk支持多种语言停用词表的查询(这里举的例子是查询英文停用词表)

nltk.corpus.stopwords.words("english")
结果如下:

直接判断文本中的词是否在停用词表中就可以进行去停用词的操作了

nltk中还为我们提供了编译正则表达式的接口,这个接口,接口的名称为:nltk.RegexpParser(patter),参数pattern表示正则表达式的模式串,在这里,我们以提取句子“She has gone to Beijing with her boy friend and her parents”中的名词短语为例来说明

text = nltk.word_tokenize("She has gone to Beijing with her boy friend and her parents")eles = nltk.pos_tag(text)pattern = "Noun Phrases:{<PRP|PRP\$|NNP><NN|NNS>*}"reg = nltk.RegexpParser(pattern)print reg.parse(eles)
输出结果如下:

nltk在文本预处理中还有一个作用就是提供词干化工具的接口,如PorterStemmer或者LancasterStemmer,接口名称为nltk.LancasterStemmer()和nltk.PorterStemmer(),获得stemmer对象之后,调用对象的stem方法就可以完成词干化了

str = "Cats"stemmer = nltk.PorterStemmer()stemmer.stem(str)
输出结果:


因为刚接触nltk没多久,所以刚开始写的东西比较少,这篇博文会定期更新,内容都是关于nltk提供的一些常用接口,方面我自己查阅,也可以给大家参考参考













0 0
原创粉丝点击