【发布时间】:2012-12-07 20:34:03
【问题描述】:
我有一个包含 100 个句子的文本文件。我想编写一个 python 脚本来计算包含 100 个句子的文本文件中的平均句子长度(以单词为单位)。 谢谢
【问题讨论】:
-
你的代码是什么样的?
-
我想要代码。我是 python 新手。无法通过网络找到解决方案。
标签: python python-2.7 nlp
我有一个包含 100 个句子的文本文件。我想编写一个 python 脚本来计算包含 100 个句子的文本文件中的平均句子长度(以单词为单位)。 谢谢
【问题讨论】:
标签: python python-2.7 nlp
wordcounts = []
with open(filepath) as f:
text = f.read()
sentences = text.split('.')
for sentence in sentences:
words = sentence.split(' ')
wordcounts.append(len(words))
average_wordcount = sum(wordcounts)/len(wordcounts)
【讨论】:
这应该可以帮助您。但这是基本的东西,你至少应该自己尝试一下。
此代码假定每个句子都在新行上。
如果不是这种情况,您可以更正代码,或者在您的问题中反映这一点,这对此尚不清楚。
def read_lines_from_file(file_name):
with open(file_name, 'r') as f:
for line in f:
yield line.strip()
def average_words(sentences):
counts = []
for sentence in sentences:
counts.append(sentence.split())
return float(sum(counts)/len(counts))
print average_words(read_lines_from_file(file_name))
【讨论】:
天真的方式:
sents = text.split('.')
avg_len = sum(len(x.split()) for x in sents) / len(sents)
严肃的方式:使用nltk根据目标语言规则对文本进行分词。
【讨论】: