代码实现:将一个1000字的已经分好词的中文txt文档中,一元字、二元字、三元字统计词频并降序输出到一个txt文档
时间: 2024-05-06 12:15:14 浏览: 8
以下是Python代码实现:
```python
import jieba
from collections import Counter
# 打开文件并读取内容
with open('input.txt', 'r', encoding='utf-8') as f:
content = f.read()
# 将文本分词
words = jieba.lcut(content)
# 统计一元字的词频
one_gram = Counter(words)
# 统计二元字的词频
two_gram = Counter(zip(words[:-1], words[1:]))
# 统计三元字的词频
three_gram = Counter(zip(words[:-2], words[1:-1], words[2:]))
# 将词频降序排序并输出到文件
with open('output.txt', 'w', encoding='utf-8') as f:
f.write('一元字词频:\n')
for word, freq in one_gram.most_common():
f.write(word + '\t' + str(freq) + '\n')
f.write('\n二元字词频:\n')
for word, freq in two_gram.most_common():
f.write(word[0] + word[1] + '\t' + str(freq) + '\n')
f.write('\n三元字词频:\n')
for word, freq in three_gram.most_common():
f.write(word[0] + word[1] + word[2] + '\t' + str(freq) + '\n')
```
以上代码中,首先使用`jieba`库将文本内容进行分词,然后使用`Counter`类统计一元字、二元字、三元字的词频。最后将结果按照降序排序并输出到指定的文件中。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)