人工智能 - 创意写作

时间:2009-08-05 06:06:40

标签: c# artificial-intelligence nlp

我正在尝试查找有关尝试创建可以理解英语单词,语法和上下文的基本AI工具的信息(希望是c#源代码)。

理念是通过使用尽可能多的书面文档来训练AI,然后根据这些文档,让人工智能以适当的英语创建自己的创意写作,对人类有意义。

虽然这个想法很简单,但我确实意识到障碍是巨大的,任何起点或好的资源都会被适用。

7 个答案:

答案 0 :(得分:5)

一个基本的 AI工具,你可以用来做这样的事情是马尔可夫链。写它实际上并不太棘手!

请参阅:http://pscode.com/vb/scripts/ShowCode.asp?txtCodeId=2031&lngWId=10

如果这还不够,您可以在Markov链中存储WordNet个同义词,而不仅仅是单词。这让你对这些词的含义有所了解。

答案 1 :(得分:2)

为了能够重新组合您将不得不离开的文档以过滤不良结果。

这意味着:

  1. 你将不得不编写一个程序,可以评估输出是否有效(语法和语法上你可以做的最好)(这将是NLP)
  2. 您需要大量的培训数据和测试数据
  3. 你需要注意过度训练(看看ROC曲线)
  4. 而不是编写工具,你可以:

    1. 手动评分输出(需要很长时间才能正确训练算法)
      1. 使用Amazon Mechanical Turk可能是一个好主意
    2. 具有讽刺意味的是:计算机将难以“创造性地”创作出新的东西。它的所有价值都将基于之前的经验[培训数据]

答案 2 :(得分:1)

一些很好的参考和阅读这篇Natural Language文章。

答案 3 :(得分:1)

正如其他人所说,马尔可夫链似乎最适合这样的任务。可以在Kernighan & Pike, The Practice of Programming, section 3.1中找到实现马尔可夫链的良好描述。 Programming Pearls中还有对文本生成的良好描述。

答案 4 :(得分:0)

有一件事,虽然不是你所需要的,但却是马尔可夫的话语链。这是我通过快速搜索找到的链接:http://blog.figmentengine.com/2008/10/markov-chain-code.html,但您可以通过搜索找到更多信息。

答案 5 :(得分:0)

看看http://www.nltk.org/(自然语言工具包),那里有很多强大的工具。他们使用Python(而不是C#),但Python很容易上手。至少比自然语言处理的广度和深度更容易获取。

答案 6 :(得分:0)

我同意,你在创造创意方面会遇到麻烦。您也可以在某些单词上使用关键字微调器。您可能还想实现一个停用词过滤器来删除任何口语。