我尝试了google,却发现一点我听不懂的东西。
我对Markov chains有一个非常基本的了解:这是一个仅依赖于先前输入来更改状态的数学模型。所以,某种带有加权随机机会而不是不同标准的FSM?
我听说您可以使用它们来生成半智能的废话,将现有单词的句子用作种类的字典。
我想不出搜寻字词就能找到答案,所以有人可以连结我或解释我如何制作出能提供半智能答案的东西吗? (如果您询问有关派的问题,它将不会继续讲述它所听说的越南 war )
我计划:
最佳答案
是的,马尔可夫链是具有概率状态转移的有限状态机。要使用简单的一阶马尔可夫链生成随机文本:
如果您想从中得到一些半智能的东西,那么最好的选择就是将其训练在大量精心收集的文本上。 “很多”部分使其很有可能产生适当的句子(或合理的IRC说话); “精心收集”部分意味着您可以控制所谈论的内容。引入高阶马尔可夫链在这两个方面也有帮助,但是需要更多的存储空间来存储必要的统计信息。您可能还会研究统计平滑等问题。
但是,让您的IRC机器人真正响应所说的内容所花费的时间远远超过Markov链。可以通过对所说的内容执行text categorization(又名主题发现),然后选择特定 Realm 的马尔可夫链来生成文本来完成。朴素贝叶斯(NaïveBayes)是用于主题发现的流行模型。
The Practice of Programming中的Kernighan和Pike探索了马尔可夫链算法的各种实现策略。 Jurafsky和Martin Speech and Language Processing对这些以及自然语言的生成进行了深入的介绍。