我有具有在幕後共同數學功能的應用程序:調用函數
- 加(X,Y)
- 乘(X,Y)
- 平方(x)的
該界面是一個簡單的谷歌風格的文本字段。我希望用戶能夠進入一個純文本描述 -
- '2 * 3'
- '2次3'
- '乘以2和3'
- 「取的產品2和3'
,並得到一個答案的數學答案
的問題是,我應該怎麼映射文字描述的功能呢?我猜我需要
- tokenise文本
- 識別關鍵標記(函數名稱,參數)
- 嘗試和地圖標記組合函數簽名
不過我猜這在機器學習領域已經是一個「解決的問題」。我應該使用自然語言處理嗎?純文本搜索?還有別的嗎?
感謝所有想法,加上實施建議[我正在使用Python/AppEngine;我知道NLTK和飛快]
[PS我明白谷歌已經這樣做了,至少對列表上的前兩個查詢。我猜他們也會統計數據,有很多搜索數據。我沒有大量的可用數據,因此需要一種替代方法]。
一些問題 - 用一個句子寫多少個操作? (例如 - 這是合法的要求 - 「取2和3的乘積並將其添加到7和6乘積的平方」?)如果不止一個 - 嵌套操作的最大深度是多少?從這些問題的答案中可以清楚地看到 - 你是否需要全面的語法樹解析... – 2011-03-27 09:36:15
對於我上面的複合句子,你需要生成這樣的[語法樹](http://img819.imageshack。我們/ img819/6347/syntaxtree.png) – 2011-03-27 10:17:31