什麼是解析自然語言的最有效方式?解析自然語言
令 「串」 是含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