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

时间:2009-11-03 23:38:40

标签: text random markov-chains

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

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

这类似于question,但范围更大。

3 个答案:

答案 0 :(得分:6)

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

尝试(如果你还没有):

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

或者,您可以在语料库的两次传递中使用WordNet

  1. 分析句子以确定词类型的常见序列,即名词,动词,形容词和副词。 WordNet包括这些。其他所有(代词,连词,等等)都被排除在外,但你可以基本上直接通过它们。 这将“快速的棕色狐狸跳过懒狗”变成“[形容词] [形容词] [名词] [动词]超过[形容词] [名词]”
  2. 通过随机选择模板句子并用实际形容词名词和动词替换[形容词],[名词]和[动词]来重现句子。
  3. 这种方法也存在很多问题:例如,您需要来自周围单词的上下文来了解选择哪个同音词。在wordnet中查找“快速”会产生关于快速的东西,但也会指出你的指甲。


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

答案 1 :(得分:0)

this Lorem ipsum生成器一样?还有几个API的链接。

答案 2 :(得分:0)

我为此目的使用了许多数据集,包括wikinews文章。

我使用此工具从中提取文字: http://alas.matf.bg.ac.rs/~mr04069/WikiExtractor.py