我想在给定原始字符串的情况下生成一系列英语句子。我知道我可以做一些基本的搜索和替换,保持句子语法正确。但有没有办法对句子进行更复杂的改写呢?
例如,给出一句话,“猫正在看狗”,我想提出“猫正盯着狗”和“猫正在看狗”。对不起,我无法想出一个更聪明的例子!
答案 0 :(得分:2)
通常,自然语言是一种比正则表达式可以捕获的更复杂的语法类型。所以总的来说答案是否定的。另一方面,如果您想要的范围足够有限,那么正则表达式就足够了。但是我不会太费劲,从根本上说这将是一个有限的解决方案。
对于允许您执行更多操作的工具包,请结帐NLTK(仅限Python)。
有关为什么Regexp用于自然语言的有限用途的更多背景知识Chomsky Hierarchy on Wikipedia。据推测,英语为least a context-free language。
答案 1 :(得分:2)
我找到了微软的'Paraphrase'API。看起来像我可以使用的......