【发布时间】:2010-10-14 04:13:02
【问题描述】:
我需要一个简单的随机英语句子生成器。我需要用我自己的话来填充它,但它需要能够造出更长的句子,至少符合英语规则,即使它们没有意义。
我预计那里有数以百万计的人,所以与其重新发明轮子,我希望您知道其中的来源,或者可以为我提供足够信息的资源,而我不必追查我生疏的英语技能。
【问题讨论】:
标签: random generator markov-chains
我需要一个简单的随机英语句子生成器。我需要用我自己的话来填充它,但它需要能够造出更长的句子,至少符合英语规则,即使它们没有意义。
我预计那里有数以百万计的人,所以与其重新发明轮子,我希望您知道其中的来源,或者可以为我提供足够信息的资源,而我不必追查我生疏的英语技能。
【问题讨论】:
标签: random generator markov-chains
您正在为英语句子寻找markov chains 的实现。
Google 快速搜索“马尔科夫链语句生成器”返回:
【讨论】:
我知道这是一个老问题,但当我通过 Google 找到它时,我认为除了马尔可夫链之外,还值得一提 Context Free Grammars 之类的东西。
我对马尔可夫链的理解是,它们仅根据“当前”项目的概率创建“下一个”项目。也许我弄错了,但我不明白这将如何确保结果符合语法规则。
例如,我经常看到建议使用马尔可夫链作为创建“英语发音”单词的一种方式。如果您使用来自英语单词数据集的字母创建马尔可夫链,则输出将是听起来像英语的单词,但不一定是真实单词。我相信句子也是如此——你可以生成一些听起来不错的东西,但它可能不是语法正确的句子。
上下文无关语法(或者可能还有正则语法?)可能是更好的候选者,因为它们根据定义的规则集生成句子。正如原始问题所要求的那样,用您自己的话来填充它会很容易。缺点是您需要自己定义这些规则,而不是依赖数据集。我已经很久没有使用语法生成英语句子了,所以我不记得获得好的/多样的回应有多难。
【讨论】:
您也许可以使用/修改CS Paper Generator 的一部分。
【讨论】: