2014-02-11 48 views
2

我想用java製作一個聊天機器人,就像在cleverchild或其他任何名字的MSN日子裏那些機器人一樣。我已經想出瞭如何使用program-ab以及如何在aiml文件中使用通配符作爲響應,但我不知道如何添加功能。例如,我將如何添加一個計算器,或者可能訪問我的計算機上的某些文件?我不需要幫助製作這些函數的代碼,但是,我該如何給bot一些變量,並且它會運行這些變量的函數?如何使用java將函數添加到程序ab?

Me: I need to delete files 
//The bot would process: _delete files * 
Bot: which files? 
Me: C://folder/file.doc 
//Bot runs function deleteFile(path) 
+0

是你能夠實現呼叫使用AIML的功能呢? –

回答

1

兩種方法來我的腦海:

  1. 自己寫的預處理器,並處理好自己的那些特殊的任務,剩下的飼料,以程序-AB https://code.google.com/p/program-ab/wiki/ProgrammingInterface

  2. 編寫一個後處理器來捕捉和查詢Google,它在計算公式方面做得很好。

與之相對通用的谷歌,你也可能想看看Wolfram Alpha的的API http://products.wolframalpha.com/api/

+0

謝謝你的解決方案。你可以提供任何一種示例來實現一個簡單的java函數來打印某些東西或計算器函數以供參考嗎? –

+1

我有一段時間沒有使用過ab,但總體思路是這樣的: 'Web前端輸入 - > web服務器 - > ab後端 - > web服務器 - > web前端輸出。 因此,你的前端會談到一個Web服務(可能是Tomcat,但你可以使用任何東西),它會與後端進行交談。這樣,您可以攔截Web服務器級別的任何內容。 調用Google或Wolfram Alpha只是一個常規的Web API調用。 –

+1

或者如果您在考慮Android,您的前/後處理器會將ab包裝在中心位置。再次,這只是一個常規的第三方API調用。 –

相關問題