|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
代码在下面,注意我在main()函数加的注释
记得在your_chinese_text_file.txt加入中文语料
我加的是:
- 从前有个聪明的年轻人,他住在一个美丽的村庄。这个村子里的人们生活得很幸福。有一天,年轻人决定去旅行,看看外面的世界。他告别了家人和朋友,踏上了漫长的旅程。沿途,他遇到了各种各样的人和事。有时候,他会遇到困难,但他总是能够克服艰难险阻,继续前行。这段旅程教会了他很多关于生活的智慧。当他回到家乡时,他成了一个更加成熟、睿智的人。他用自己学到的知识帮助村子里的人们,让他们的生活变得更好。从那以后,他过上了幸福快乐的生活,成为了村子里受人尊敬的智者。
- 从前有个村子里,住着一位聪明的老人,他名叫孙老头。他总是乐于助人,用他的智慧帮助村子里的人解决各种难题。有一天,村子附近发现了一座神秘的山洞,里面传说有一种神奇的力量。许多探险家都想要获取这种力量,但没有人能成功地进入山洞深处。
- 村子里的人们都想知道这个神秘的山洞究竟有什么秘密,于是,他们求助于孙老头。孙老头思考了一下,决定带领村子里的一些年轻人,一起探寻这个山洞的秘密。他们带着充足的粮食和水,开始了漫长的旅程。
- 在探险过程中,孙老头发挥着他的智慧,成功解决了许多问题。他们遇到了险恶的动物,孙老头敏锐地捕捉到了它们的弱点,帮助众人安全度过危机。他们还遇到了一片迷雾密布的森林,孙老头指引着大家走出了这片森林。
- 经过长时间的艰苦探险,他们终于到达了山洞深处。在那里,他们发现了一个神奇的宝藏,里面有各种珍贵的矿石和宝石。村子里的人们高兴极了,感谢孙老头带领他们找到了这个宝藏。
- 从此,孙老头的名声传遍了世界,他成为了人们心中的英雄。他继续用他的智慧帮助别人,为世界带来了无尽的祝福。
复制代码
你想让它生成什么方面的内容,就加关于什么的,生成内容不一定准确!!!
代码:
- import random
- from collections import defaultdict, Counter
- import jieba
- # 读取文本数据
- def read_data(file_path):
- with open(file_path, "r", encoding="utf-8") as f:
- data = f.read()
- return data
- # 创建n-gram模型
- def create_ngram_model(data, n):
- ngram_model = defaultdict(Counter)
- words = list(jieba.cut(data))
- for i in range(len(words) - n):
- ngram = tuple(words[i:i + n - 1])
- next_word = words[i + n - 1]
- ngram_model[ngram][next_word] += 1
- return ngram_model
- # 生成新的文本
- def generate_text(ngram_model, seed, num_words):
- current_ngram = tuple(seed.split()[-(len(list(ngram_model.keys())[0])):])
- generated_text = seed
- for _ in range(num_words):
- next_word_candidates = ngram_model[current_ngram]
- # 如果next_word_candidates为空,则从ngram_model中随机选择一个n-gram
- while not next_word_candidates:
- current_ngram = random.choice(list(ngram_model.keys()))
- next_word_candidates = ngram_model[current_ngram]
- next_word = random.choices(list(next_word_candidates.keys()), weights=list(next_word_candidates.values()))[0]
- generated_text += "" + next_word
- current_ngram = (*current_ngram[1:], next_word)
- return generated_text
- # 主函数
- def main():
- # 读取文本数据
- data = read_data("your_chinese_text_file.txt")
-
- # 设置n-gram参数
- n = 5#################3到5#############
-
- # 创建n-gram模型
- ngram_model = create_ngram_model(data, n)
-
- # 设置种子文本和生成的单词数
- seed = "从前有个"###############随便写##################
- num_words = 200###############别太多,最好50-500##############
-
- # 生成新文本
- generated_text = generate_text(ngram_model, seed, num_words)
-
- print(generated_text)
- if __name__ == "__main__":
- main()
复制代码
注:如题,代码GPT写的 |
|