自然语言生成 - 如何测试听起来是否自然

时间:2012-09-02 23:26:03

标签: text nlp

我只有一组句子,我根据绘画分析生成了这些句子。但是我需要测试它们听起来多么自然。有没有api或应用程序这样做?

我正在使用Standford Parser给我一个细分,但这并不完全符合我想要的工作!

还可以测试一下类似的句子吗?当我随机生成部分句子并想要检查所产生的句子的多样性。

1 个答案:

答案 0 :(得分:4)

许多NLP内容使用名为'Language Models'的东西。

语言模型可以包含某些文本并返回概率。这种可能性通常应该表明"可能"给定的文字是。

您通常会通过拍摄大量文本(我们称之为"培训语料库")并计算一些统计信息(代表您的"模型" ),然后使用这些统计数据来接收新的,以前看不见的句子并返回它们的概率 你可能应该google"语言模型"," unigram models"," n-gram模型"并单击某些结果以查找某些文章或演示文稿,以帮助您理解上一句话。 (我很难为你推荐一个合适的教程,因为我不知道你现有的背景是什么)

无论如何,思考语言模型的一种方法是,它们是采用新文本并告诉您新文本与语言模型的训练语料库有多相似的系统。因此,如果您构建了两种语言模型,其中一种是莎士比亚所写的剧本中的一种,另一种是大量法律文件中的另一种,那么第二种语言模式应该为您提供更高的概率来判断一些新的法律文件。释放(与第一个模型相比),而第一个模型应该给你一些其他旧英语游戏(由其他作者写)的概率更高,因为该游戏可能更类似于莎士比亚(就单词类型而言)使用,句子长度,语法等,而不是现代法律语言。

你看到stanford解析器的所有内容都会回复你给出的一个句子,它是使用语言模型生成的。考虑如何构建这些功能的一种方法是假装计算机尝试了每个可能的标签组合和每个可能的解析树,用于你给它的句子,并使用一些聪明的语言模型来识别哪个是最可能的标签序列和那里最可能的解析树,然后将它们还给你。

回到你的问题,你需要建立一个你认为自然发声文本的语言模型,然后使用该语言模型来评估你想要测量自然的句子。为此,您必须确定一个良好的培训语料库,并决定您要构建的语言模型类型。

如果你无法想到更好的东西,维基百科文章的集合可能会成为一个很好的训练语料库,代表自然听起来英语的样子。
至于模型类型," n-gram模型"可能对你的任务来说已经足够了。更复杂的模型,如" Hidden Markov Models"和" PCFG" (那些为你所链接的stanford页面供电的东西)肯定会让事情变得更好,但是n-gram绝对是你可以开始的最简单的事情。