用Python的nltk.utilngrams()随机生成中文标题
发布时间:2024-01-18 18:56:20
import random
import nltk
from nltk.util import ngrams
# 中文标题样本
titles = [
'最新研究揭示:大脑操纵我们的行为',
'独家报道:科学家发现黑洞的真正形态',
'惊人发现:猫能够预测地震',
'世界首例:人工智能成功完成外科手术',
'历史性突破:新药治愈癌症',
'《股神》巴菲特重磅预测:今年投资机会将在这些领域',
'最新数据显示:气候变化对地球环境造成了巨大影响',
'科学家发现:外星生命最终将和我们相遇',
'前所未见:神秘的古代文明遗址揭示出惊人真相',
'惊奇发现:人类基因组中竟隐藏着未知的秘密'
]
# 分词
tokens = [list(title) for title in titles]
# 生成2-gram
n_grams = []
for token in tokens:
n_grams.extend(list(ngrams(token, 2, pad_left=True, pad_right=True)))
# 随机生成中文标题
generated_titles = []
for _ in range(1000):
title = ''
while len(title) < 4 or len(title) > 20:
title = ''.join(random.choice(n_grams)[1:])
generated_titles.append(title)
# 打印随机生成的中文标题
for title in generated_titles:
print(title)
