代码解读:
import nltk
调用nltk模块
content = open(r'E:\pythondata\test\1987_eng.txt','r',encoding='utf-8').read()
读取1987_eng.txt内容为一个字符串
sents = nltk.sent_tokenize(content)
对读取的字符串进行分句
sent_lengths = 0
设定初始总句长为0
for sent in sents:
对分句的结果句子列表进行遍历
words = nltk.word_tokenize(sent)
对遍历的每一个句子进行分词,生成词列表
sent_lengths = sent_lengths+len(words)
总句长 = 初始句长+遍历句子的句长(len(words)),即计算这个句子中单词的个数=这个句子的句长
average_sent_length = sent_lengths/len(sents)
平均句长=总句长/句子数 (len(sents))
print(average_sent_length)
输出平均句长
总结:
分词 nltk.word_tokenize()
分句 nltk.sent_tokenize()
平均句长和平均词长一样可以用来测量文本的难易程度,平均句长越长,文本难度越高。