2009-11-03 88 views
5

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

我很喜欢那些使用语料库或基于上下文敏感或上下文无关语法的工具。我希望该工具适合纳入另一个项目。 我最近的大部分工作都是在Java中进行的,所以我最喜欢使用该语言的工具,但是我可以使用C#,C,C++甚至JavaScript。

这与question类似,但范围较大。

+0

在参考下面的评论 - 什么是你的寻找与原文的参数?字长?人物概率?句子长度?在字符或单词中?也许如果你在你的需求中得到更多具体的东西,可以找到一些东西。 – 2009-11-03 23:52:03

回答

6

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

尝试(如果你还没有):

  • Tokenising标点分开,或包括标点符号在你的链条,如果你不已经。这包括段落标记。
  • 如果您使用的是2条或3条历史马尔可夫链,请尝试在遇到满座或换行时重置为使用1条历史记录。

或者,你可以分两次使用WordNet与语料库:

  1. 分析句子以确定字类型,即名词,动词,形容词和副词的共同序列。 WordNet包含这些。其他一切(代词,连词,任何)都被排除在外,但你基本上可以直接通过这些。 这将使“快速棕色狐狸跳过懒惰的狗”变成“[形容词] [形容词] [名词] [动词]在[形容词] [名词]”
  2. 通过随机选择重现句子一个模板句,用实际的形容词名词和动词替换[形容词],[名词]和[动词]。

这种方法也存在很多问题:例如,您需要从周围的单词中获取上下文以了解选择哪个同音词。在wordnet中查找“快速”会产生关于快速的东西,而且还会产生指甲的一点点。


我知道这并不能解决您对图书馆或工具的需求,但可能会给你一些想法。

+0

我最近发现了wordnet,同时寻找类似于这个的解决方案 – 2012-02-25 06:35:07

0

类似this Lorem ipsum generator?还有几个API的链接。

+0

非常相似,但我正在寻找一种可以消耗文本语料库并生成随机但类似文本的文件。我道歉,我应该在问题上更清楚。 – 2009-11-03 23:45:14