NLTK 在python上 对文本文件内容进行停词处理

NLTK 在python上 对文本文件内容进行停词处理,第1张

Nltk是python下处理语言的主要工具包,可以实现去除停用词、词性标注以及分词和分句等。

安装nltk,写python一般使用的是集成环境EPD,其中有包管理,可以在线进行桐冲安装。如果不是集成环境,可以通过pip install nltk安装。

》pip install nltk #安装nltk

》nltk.download() #d出一个选择框,可拿轿以按照自己需要的语义或者是功能进行安装

一般要实现分词,分句,以及词性标注和去除停用词的功能时,需要安装stopwords,punkt以及

当出现LookupError时一般就是局敏歼由于缺少相关模块所导致的

By Jiaxian Shi

英文文章的难度从直觉上来讲可以从以下两方面来定义:

句子的难易程度可以从句子的长度和复杂性(从句数量,嵌套)方面来考虑。词汇的难易程度可以从词汇的长度和使用频率(专业词汇,罕见词汇)方面来考虑。通过查阅维基百科等相关资料,发现目前普遍得到运用的可读性标准为Flesch–Kincaid可读性测试消码祥指标。Flesch–Kincaid可读性测试指标由两个指标构成:Flesch Reading Ease(FRE)和Flesch–Kincaid Grade Level(FKGL)。与我们的直觉一致,两者都使用了类似的方法:句子长度和词汇长度(由音节数确定,不单纯考虑字母数)。由于两个指标对句子长度和词汇长度所采取的权重不同(包括正负号),所以两个指标的意义相反:FRE数值越高,文章就越简单,可读性也越高。而FKGL数值越高,文章就越复杂,文章的可读性也就越低。

使用Python强大的自然语言处理(NLP)包NLTK,来实现下述3个功能:

其中,断句使用NLTK提供的非监督学习的预训练模型tokenizers/punkt/english.pickle,分词则使用NLTK推荐的word_tokenize函数(使用TreebankWordTokenizer和PunktSentenceTokenizer模块),分音节则使用NLTK供的SyllableTokenizer模块。需要注意的是,分词会将标点符号分为一个单词,需要手动去除。同时,分音节时会讲英语中的连字符“-”分为一个音拿搏节,也需要手动去除。另外,文章需要进行预处理,去除回车符和空格,并将非标准标点符号转换为英文标准标点符号。

统计出句数,词数和音节数后,即可根据上文提供的公式计算出FRE和FKGL了。本程序使用4段不同类型的英文文章分别计算FRG和FKGL,并使用matplotlib模块绘制出柱状图已做比较。

文章:模行

比较结果如下图所示:

可以发现,文章的难度为:儿童文学<侦探小说<杂志文章<学术论文,这与我们的实际感受是一致的。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/12555012.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2025-08-26
下一篇2025-08-26

发表评论

登录后才能评论

评论列表(0条)

    保存