zoukankan      html  css  js  c++  java
  • 使用马尔科夫链生成文本

    马尔科夫链是一种随机模型,能根据先前的事件单独预测一个时间。

    用马尔科夫链生成文本也是采用了相同的理念,努力找到一个词出现在另一个词后面的概率。

    代码包含两部分,一个用来训练,一个用来生成

    #!/usr/bin/env python
    # coding:utf8
    # author:Z time:2018/10/27
    
    import random
    #训练模型 model
    ={'START': ['i', 'you'], 'i': ['like'], 'like': ['to'], 'to': ['eat'], 'you': ['eat'], 'eat': ['apples','oranges'],'END': ['apples','oranges']} #上面的模型词典中还有两个术语:“起始”(START)和“结束”(END),它们表示一个生成的句子的起始词和结束词
    #生成鸡汤句 generated
    = [] while True: if not generated: words = model['START']#['i', 'you'] elif generated[-1] in model['END']: break else: words = model[generated[-1]] generated.append(random.choice(words)) print(generated)
    #生成器部分包含一个循环。它首先会选取一个随机的起始词并将其添加至一个列表,然后会在词典中所搜包含潜在跟随词的列表,并随机选取一个列表,将新的选取的词添加至该列表。生成器#会一直选择随机的潜在跟随词直到找到结束词,然后会停止循环,输出生成的句子或所谓的“名言”
  • 相关阅读:
    暑假第二十七测
    暑假第二十七测
    【真题解】牛宫
    【伪题解】牛宫
    最优贸易
    跳马问题
    求和问题
    【题解】山区建小学
    OpenStack之虚机冷迁移代码简析
    OpenStack之虚机热迁移代码解析
  • 原文地址:https://www.cnblogs.com/z-x-y/p/9905996.html
Copyright © 2011-2022 走看看