Python 识别马尔可夫生成内容的算法?
马尔可夫链是一种(几乎是标准的)生成方法,在未经训练的人看来,它是智能的。您将如何从人类书写的文本中识别马尔可夫生成的文本Python 识别马尔可夫生成内容的算法?,python,algorithm,markov,Python,Algorithm,Markov,马尔可夫链是一种(几乎是标准的)生成方法,在未经训练的人看来,它是智能的。您将如何从人类书写的文本中识别马尔可夫生成的文本 如果您指向的资源是Python友好的,那就太棒了。如果您有几个大型马尔可夫生成的文本,您可以通过比较每个示例之间的词频来确定它们是否友好。由于马尔可夫链依赖于恒定的单词概率,因此每个样本中任何给定单词的比例应大致相等。一个简单的方法是让一大群人为您阅读输入文本,看看文本是否有意义。我只是半开玩笑,这是个棘手的问题 我认为这是一个很难解决的问题,因为马尔可夫链生成的文本在词频
如果您指向的资源是Python友好的,那就太棒了。如果您有几个大型马尔可夫生成的文本,您可以通过比较每个示例之间的词频来确定它们是否友好。由于马尔可夫链依赖于恒定的单词概率,因此每个样本中任何给定单词的比例应大致相等。一个简单的方法是让一大群人为您阅读输入文本,看看文本是否有意义。我只是半开玩笑,这是个棘手的问题 我认为这是一个很难解决的问题,因为马尔可夫链生成的文本在词频和单词顺序之间的简单关系方面与真实人类文本有很多相同的特性 真实文本和由马尔可夫链生成的文本之间的差异在于更高层次的语法规则和语义意义,这很难通过编程进行编码。另一个问题是,马尔可夫链在生成文本方面非常出色,有时它们会给出语法和语义正确的语句 例如,以下是一个示例: 今天,他会确信 人的意志是自由的;明天, 考虑到不可解的生命链 自然,他将自由视为一种精神 仅仅是幻觉,宣称自然是真实的 总而言之 虽然这个字符串是由计算机程序编写的,但很难说人类永远不会这么说
我认为,除非你能给我们更具体的关于计算机和人类生成的文本的细节,这些文本暴露出更明显的差异,否则使用计算机编程将很难解决这个问题 众包。使用机械土耳其人,让一些人来投票。甚至有一些库可以帮助您实现这一点。例如:
实际上,更大的障碍可能是数据集的许可条款。将其用于商业应用程序可能会被禁止。如果您编写一个程序,从任何符号序列生成马尔可夫转移概率,然后计算马尔可夫矩阵的熵率。(请参阅)这基本上是一个仅使用马尔可夫链预测文本的容易程度的估计(更高的熵意味着更难预测)。因此,我认为马尔可夫矩阵的熵越低,文本样本越有可能由马尔可夫矩阵控制。如果您对如何编写此代码有疑问,我碰巧有一个python程序在我的计算机上正是这样做的,因此我可以帮您解决此问题。查看基于python的自然语言工具包:-也就是说,如果你只是对词频感兴趣,这可能有点过分。如果生成的词频看起来像真实文本,那么如果你使用像a这样的词频,你可能会遇到问题…这种方法的问题是,如果人类生成的文本和马尔可夫链生成的文本e由具有相似单词和单词转换频率的文本组成,马尔可夫链g