python - 识别马尔可夫生成内容的算法?

标签 python algorithm markov

马尔可夫链是生成 random gibberish 的(几乎是标准的)方式未经训练的眼睛看起来很聪明。您将如何从人类书面文本中识别马尔可夫生成的文本。

如果您指向的资源是 Python 友好的,那就太棒了。

最佳答案

一种简单的方法是让一大群人为您阅读输入文本,看看文本是否有意义。我只是半开玩笑,这是一个棘手的问题。

我认为这是一个难题,因为马尔可夫链生成的文本在词频和词序之间的简单关系方面将具有许多与真实人类文本相同的属性。

真实文本和马尔可夫链生成的文本之间的区别在于更高级别的语法规则和语义含义,这些很难以编程方式进行编码。另一个问题是马尔可夫链在生成文本方面足够好,它们有时会产生语法和语义正确的陈述。

例如,这是一个 aphorism from the kantmachine :

Today, he would feel convinced that the human will is free; to-morrow, considering the indissoluble chain of nature, he would look on freedom as a mere illusion and declare nature to be all-in-all.

虽然这个字符串是由计算机程序编写的,但很难说人类永远不会这样说。

我认为,除非您能向我们提供有关计算机和人工生成的文本的更具体的细节,以揭示更明显的差异,否则很难使用计算机编程来解决这个问题。

关于python - 识别马尔可夫生成内容的算法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1185369/

相关文章:

Python、Pandas、XML - 根据长度分割 XML 元素

python - 调整列表的 numpy 数组的大小,以便所有列表都具有相同的长度,并且可以正确推断 numpy 数组的 dtype

Java:找出对象的所有数字字段是否为 0

algorithm - 挑选元素使总和最大化

算法分析

c++ - 使用图形界面在 C++ 中实现离散马尔可夫链模拟

machine-learning - 首次访问与每次访问 Monte Carlo

python - 在python中使用RegEx用下面的模式替换某个字符

python - Joblib 的 Loky 后端如何处理对全局变量的访问?

python - 如何在多列上实现隐马尔可夫模型?