我想在给定原始字符串的情况下生成英语句子的变体。我知道我可以做一些基本的搜索和替换来保持句子语法正确。但是有没有办法对句子进行更复杂的改写?
例如,给定一个句子“A cat is looking at the dog”,我想提出“Cat is staring at dog”和“The cat is looking at a dog”。抱歉,我想不出更聪明的例子!
一般来说,自然语言是一种比正则表达式可以捕获的更复杂的语法类型。所以总的来说答案是否定的。另一方面,如果您想要的范围足够有限,那么正则表达式可能就足够了。但是我不会太费劲,这从根本上将是一个有限的解决方案。
对于允许您做更多事情的工具包,请查看NLTK(仅限 Python)。
有关为什么正则表达式对自然语言的使用有限的更多背景信息,请阅读Wikipedia 上的 Chomsky Hierarchy。据推测,英语至少是一种上下文无关的语言。
我找到了微软的“释义”API。看起来像我可以使用的东西......