我在寻找一个与JMegahal一样简单易用的替代方案,但希望能得到更好的结果。我知道JMegahal使用马尔可夫链来生成新的字符串,但我明白这不一定是最好的方法。有人向我推荐贝叶斯网络作为解决这个问题的理想概念方案,但我找不到任何易于使用的Java库。我看到了WEKA,但它似乎过于臃肿且难以理解。我也看到了JavaBayes,但它几乎完全没有文档(它们的javadocs几乎没有信息,变量命名也很差),而且该库明显是用C风格编写的,在Java中显得格格不入。
回答:
你可以考虑扩展JMegahal来过滤输入句子。在90年代中期,Jason Hutchens编写了一个C版本的四阶马尔可夫字符串算法(实际上可能被用作JMegahal实现的灵感来源)。当时,Jason添加了过滤器来改进实现(例如,将’you’替换为’I’等)。通过一些基本的字符串操作,将主题从说话者转换为系统,输出变得更加连贯。我认为扩展后的程序被称为HeX。