什么是解析自然语言的最有效方式?解析自然语言
令 “串” 是含map<string, void (*func)(int,char**)>
字符串如:
Set the alarm for *.
Call *.
Get me an * at * for *.
和它们相应的功能。现在假设“输入”是string
包含类似的句子:
Call David.
如何实现的功能,如parse
它会使用“输入”和与之相匹配,以在地图的一个字符串。然后调用其相应的函数,并将argc和argv传递给包含所有通配符的字符串(*中的字符串)。什么是最有效的方式来实现这样的功能?
如果你有一个预定义列表带有固定占位符的命令不是真实的ly是一种自然语言,但更像域特定语言或至多是一种正式语言(谷歌DSL - 域特定语言)。因此,您可以定义一组正则表达式来匹配命令并提取占位符。但是你的问题很容易回答。 – xander
风格评论:既然C++ 11,我们会写'std :: function>)'。 –
MSalters