给定词和词频,如何用python随机生成文本内容
时间: 2023-06-08 09:08:00 浏览: 128
您可以使用Python中的random和collections库来生成文本内容。具体步骤如下:
1. 使用collections.Counter来统计每个单词出现的次数,构建词频字典。
2. 计算每个单词出现的概率,即单词的词频除以总单词数。
3. 使用cumsum函数将每个单词的概率累加,得到一个概率分布数组。
4. 使用random.choices函数根据概率分布数组随机选择单词,重复多次生成文本。
下面是一个示例代码,您可以按照自己的需求进行修改:
```
import random
from collections import Counter
# 给定词和词频
words = ['apple', 'banana', 'orange', 'pear', 'grape']
freqs = [10, 5, 3, 2, 1]
# 构建词频字典
freq_dict = {w: f for w, f in zip(words, freqs)}
# 总单词数
total_words = sum(freqs)
# 计算每个单词的概率
prob_dict = {w: f / total_words for w, f in freq_dict.items()}
# 构建概率分布数组
prob_cumsum = [0] + list(accumulate(prob_dict.values()))
# 随机生成文本
num_words = 20
generated_text = []
for i in range(num_words):
rand_num = random.random()
for j in range(len(prob_cumsum) - 1):
if rand_num >= prob_cumsum[j] and rand_num < prob_cumsum[j + 1]:
generated_text.append(words[j])
break
print(' '.join(generated_text))
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![-](https://csdnimg.cn/download_wenku/file_type_lunwen.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_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)