用于生成随机但逼真的文本的库或工具

Car*_*ers 5 random text markov-chains

我正在寻找生成随机但逼真的文本的工具.我自己实现了马尔可夫链文本生成器,虽然结果很有希望,但我在改进它们方面的尝试并没有取得任何重大成功.

我会对使用语料库或基于上下文敏感或无上下文语法操作的工具感到满意.我希望该工具适合包含在另一个项目中.我最近的大部分工作都是用Java编写的,因此使用该语言的工具是首选,但我可以使用C#,C,C++甚至JavaScript.

这类似于这个问题,但范围更大.

kib*_*ibu 7

如果你想要"随机"文本,扩展你自己的马尔可夫链生成器可能是你最好的选择.生成具有上下文的东西是一个开放的研究问题.

试试(如果你还没有):

  • 单独标记标点符号,或者如果您还没有标点符号,请在链中包含标点符号.这包括段落标记.
  • 如果您使用的是2或3历史马尔可夫链,请在遇到完全停止或换行时尝试重置为使用1历史链.

或者,您可以使用语料库在两次通过中使用WordNet:

  1. 分析句子以确定单词类型的常见序列,即名词,动词,形容词和副词.WordNet包括这些.其他所有(代词,连词,等等)都被排除在外,但你可以基本上直接通过它们.这会将"快速的棕色狐狸跳过懒狗"变成"[形容词] [形容词] [名词] [动词]超过[形容词] [名词]"
  2. 通过随机选择模板句子并用实际形容词名词和动词替换[形容词],[名词]和[动词]来重现句子.

这种方法也存在很多问题:例如,您需要来自周围单词的上下文来知道选择哪个同音词.在wordnet中查找"快速"会产生关于快速的东西,但也会指出你的指甲.


我知道这并不能解决您对库或工具的要求,但可能会给您一些想法.