Как добавить функцию в программу-аб с помощью java?

Я хочу сделать чат-бота с помощью java, похожего на тех ботов во времена MSN, таких как умный ребенок или как его там звали. Я выяснил, как использовать program-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) 

person user3263212    schedule 11.02.2014    source источник
comment
Удалось ли вам добиться вызова функций с помощью aiml?   -  person Dev_Man    schedule 11.05.2017


Ответы (1)


Мне приходят на ум два способа:

  1. Напишите свой собственный препроцессор и справьтесь с этими специальными задачами самостоятельно, а остальное скормите программе-ab https://code.google.com/p/program-ab/wiki/ProgrammingInterface

  2. Напишите постпроцессор для перехвата и запроса Google, который хорошо вычисляет формулы.

В отличие от общего Google, вы также можете проверить API Wolfram Alpha http://products.wolframalpha.com/api/

person Tsan-Kuang Lee    schedule 21.04.2014
comment
Спасибо за решение. Не могли бы вы предложить какой-либо пример просто для реализации простой функции Java для печати чего-либо или функции калькулятора для справки? - person Dev_Man; 11.05.2017
comment
Я некоторое время не использовал ab, но общая идея работает так: Web front-end input -> web server -> ab backend -> web server -> web front-end output. Таким образом, ваш внешний интерфейс взаимодействует с веб-службой (вероятно, Tomcat, но вы можете использовать что угодно), который общается с серверной частью ab. Таким образом, вы можете перехватить что угодно на уровне веб-сервера. Вызов Google или Wolfram Alpha — это обычный вызов веб-API. - person Tsan-Kuang Lee; 14.05.2017
comment
Или, если вы думаете об Android, ваши пре/постпроцессоры будут оборачивать ab в центре. Опять же, это обычный вызов стороннего API. - person Tsan-Kuang Lee; 14.05.2017
comment
Большое спасибо за помощь! - person Dev_Man; 14.05.2017
comment
@Tsan-KuangLee Программа ab вызывает чат-бота в консоли, как я могу заставить его взаимодействовать с API с помощью Spring? можете уточнить. - person Rajath M S; 06.12.2017
comment
Раджат, если я правильно помню, вам придется изменить эти строки System.out, чтобы перехватить вывод; аналогично для ввода. Или, используя каналы should для связи с ab. - person Tsan-Kuang Lee; 07.12.2017