Python词频统计宋词三百首
时间: 2023-11-29 19:45:21 浏览: 131
以下是Python词频统计宋词三百首的例子:
```python
# 读取文件
with open('song.txt', 'r', encoding='utf-8') as f:
text = f.read()
# 分词
import jieba
words = jieba.lcut(text)
# 去除停用词
stopwords = [',', '。', '?', '!', '、', ':', ';', '「', '」', '『', '』', '(', ')', '—', '…', '·', '《', '》', '\n']
words_clean = []
for word in words:
if word not in stopwords:
words_clean.append(word)
# 统计词频
from collections import Counter
word_counts = Counter(words_clean)
# 获取前10个高频词
top_10 = word_counts.most_common(10)
print(top_10)
```
相关问题
Python词频统计
Python词频统计是指使用Python编程语言来统计一段文本中各个单词出现的频率。通过词频统计,我们可以了解到文本中哪些单词出现的次数较多,从而对文本进行分析和处理。
在Python中,可以使用字典(dictionary)来实现词频统计。具体步骤如下:
1. 将文本读入到Python程序中,可以使用文件读取函数或者直接将文本赋值给一个字符串变量。
2. 对文本进行预处理,例如去除标点符号、转换为小写等操作,以便统计的准确性。
3. 将文本按照空格或其他分隔符进行分割,得到单词列表。
4. 遍历单词列表,使用字典记录每个单词出现的次数。如果单词已经在字典中,则将其对应的值加1;如果单词不在字典中,则将其添加到字典,并将值初始化为1。
5. 根据词频进行排序,可以使用sorted函数或者其他排序方法对字典按照值进行排序。
6. 输出排序后的结果,可以选择输出前几个高频词或者输出所有的词频统计结果。
下面是一个简单的Python代码示例:
```python
text = "This is a sample text for word frequency analysis. This is just a sample."
word_list = text.lower().split()
word_count = {}
for word in word_list:
if word in word_count:
word_count[word] += 1
else:
word_count[word] = 1
sorted_word_count = sorted(word_count.items(), key=lambda x: x, reverse=True)
for word, count in sorted_word_count:
print(word, count)
```
这段代码会输出每个单词及其出现的次数,按照词频从高到低排序。
python词频统计的应用
Python词频统计是一种常见的文本分析技术,它可以帮助我们分析文本中出现频率比较高的单词或词组。以下是一些Python词频统计的应用:
1. 文本分类:可以使用Python词频统计来对文本进行分类。我们可以根据不同文本中出现的单词或词组的频率来判断它们所属的类别。
2. 关键词提取:Python词频统计可以用于提取文本中的关键词。我们可以通过计算每个单词或词组在文本中出现的频率来确定哪些单词或词组是最重要的。
3. 垃圾邮件过滤:Python词频统计可以被用来进行垃圾邮件过滤。我们可以通过计算每个单词或词组在正常邮件和垃圾邮件中出现的频率来判断一封邮件是否为垃圾邮件。
4. 情感分析:可以使用Python词频统计来进行情感分析。我们可以通过计算每个单词或词组在文本中出现的频率来判断这些单词或词组所代表的情感。
5. 搜索引擎优化:Python词频统计可以用于搜索引擎优化。我们可以通过计算每个单词或词组在网页中出现的频率来优化网页的SEO。
以上是一些Python词频统计的应用,当然在实际应用中,我们可以根据具体的需求来进行扩展和应用。