PHP - 生成英语短语和句子的变体

时间:2012-10-01 19:24:06

标签: php regex

我想在给定原始字符串的情况下生成一系列英语句子。我知道我可以做一些基本的搜索和替换,保持句子语法正确。但有没有办法对句子进行更复杂的改写呢?

例如,给出一句话,“猫正在看狗”,我想提出“猫正盯着狗”和“猫正在看狗”。对不起,我无法想出一个更聪明的例子!

2 个答案:

答案 0 :(得分:2)

通常,自然语言是一种比正则表达式可以捕获的更复杂的语法类型。所以总的来说答案是否定的。另一方面,如果您想要的范围足够有限,那么正则表达式就足够了。但是我不会太费劲,从根本上说这将是一个有限的解决方案。

对于允许您执行更多操作的工具包,请结帐NLTK(仅限Python)。

有关为什么Regexp用于自然语言的有限用途的更多背景知识Chomsky Hierarchy on Wikipedia。据推测,英语为least a context-free language

答案 1 :(得分:2)

我找到了微软的'Paraphrase'API。看起来像我可以使用的......

http://msdn.microsoft.com/en-us/library/hh847648.aspx