构建一个更逼真的随机字生成器?

Jam*_*her 6 php random generator cpu-word markov

我看到很多使用马尔可夫链来生成基于源数据的随机单词的例子,但它们对我来说似乎有点过于机械和抽象.我正在努力开发一个更好的.

我认为问题的一部分是它们完全依赖于对的整体统计发生,并且忽略了以某种方式开始和结束单词的倾向.例如,如果您使用前1000个婴儿名称作为源数据,则字母J总体上相对较少,但它是名称开头的第二个最常见的字母.或者,如果您使用拉丁语源数据,像-um和-us这样的单词结尾将是常见的结尾,但如果您认为所有对都相同则不常见.

因此,我基本上试图将基于马尔可夫链的字生成器组合在一起,该字生成器考虑了源数据中单词的开始和结束方式.

从概念上讲,这对我来说很有意义,但我无法从软件角度弄清楚如何实现这一点.我正在尝试组合一个小工具,允许您放入源数据(例如,1000个单词的列表),然后从中生成具有真实开始,中间和结尾的各种随机单词.(与大多数基于马尔可夫的单词生成器相反,后者仅基于整体对的统计出现.)

如果可能的话,我还想用源数据确定的字长来做这个; 即,随机生成的单词的长度分解应与源数据的长度分解大致相同.

任何想法都会受到大力赞赏!谢谢.

hob*_*bbs 3

如果您将“单词之间的空格”视为一个符号,那么关于不尊重常见开头和结尾的部分实际上并不正确 - 常见开头在“单词之间的空格”之后将具有高频率,而常见结尾将在“空格”之前具有高频率言语之间”。正确的单词长度或多或少也会自然地解决——在转换为“单词之间的空格”符号之前输出的平均字母数应该等于训练数据中每个单词的平均字母数,尽管有些东西我的内心深处告诉我,分布可能已关闭。