Простые проекты ботов в чате
Я хочу создать простой бот, который отправит мне набор информации, хранящейся в базе данных, в мое окно чата-мессенджера. [Службы чата - это gTalk, Yahoo и другие обычно используемые продукты для чата]. Также он должен быть способен принять несколько предопределенных команд и ответы на них.
Есть ли какой-либо код с открытым исходным кодом для этого?
Ответы
Ответ 1
Посмотрите AIML (язык разметки искусственного интеллекта), это было в течение ряда лет, и оно довольно хорошо определено и гибко для простых вещи. Вы также можете делать довольно сложные вещи со всеми видами рекурсивных шаблонов, и результаты довольно приличные (в том, что немые боты идут).
Там есть куча открытых проектов sdk, которые используют этот язык разметки, который позаботится о совпадении ваших шаблонов ввода с данным ответом, хранящимся в xml файлы, которые вам нужно настроить с помощью шаблонов.
Я работал над ботсом-мессенджером несколько лет назад на Java, используя AIML для хранения шаблонов (есть много API, если вы следуете этим ссылкам выше) и использовал платформа incesoft msn bot. Отлично проработал.
Надеюсь, что это поможет.
Ответ 2
Для чего-то, что пытается быть немного более сложным, вы можете посмотреть NLTK Natural Language Toolkit:
http://www.nltk.org/
Основанный на Python и предназначенный для образования, но там довольно много документации и, по крайней мере, несколько книг (один из них с открытым исходным кодом).
Ответ 3
Что касается разных чат-сетей, вы можете проверить Pidgin (http://www.pidgin.im/download/source/), который является кросс-платформенным Клиент GPLed chat, написанный на C и GTK +, который работает со всеми основными чат-сетями.
Ответ 4
вы можете рассмотреть возможность найти некоторый ресурс AI
есть очень хороший пример использования chatbot
попробуйте google verbot
который построен с библиотекой .NET
Ответ 5
Мы сделали один довольно простой в распространении в python, он работает с XMPP/gtalk:
http://gbin.github.com/err/
Чтобы дать вам представление о минимальном мире приветствия, выполните следующие действия:
from errbot.botplugin import BotPlugin
from errbot.jabberbot import botcmd
class HelloWorld(BotPlugin):
@botcmd
def hello(self, mess, args): # the chatbot will then respond to the command !hello
""" this command says hello """ # this will be the result of !help hello
return 'Hello World !' # this will be the answer
Ответ 6
Я использовал Github hubot для этой цели. Мой бот, когда его попросили рассказать анекдот, рассказывает анекдот. (Конечно, у меня также есть тот, на котором я могу спросить, над чем я должен работать, и он просматривает мой рабочий список.)
GoGoBot> tell a joke about me
GoGoBot> a joke about Shell... Let me think about it...
GoGoBot>
I heard a funny one the other day:
Chuck Norris doesn't look both ways before he crosses the street...
he just roundhouses any cars that get too close.
Бот работает на NodeJS. Api принимает регулярное выражение и обратный вызов, например
robot.hear /tell a joke/i, (msg) -> msg.send 'I heard a funny joke...'
module.exports = (robot) ->
robot.hear /tell (?:a|something) (?:joke|funny)(?: about ([a-z.]+))?/i, (msg) ->
subject = getSubject msg.match[1], msg.message.user.name
msg.send 'a joke about ' + subject + '... Let me think about it...' if subject.length
tellJoke = ->
getJoke subject, (err, text) ->
msg.send "Cannot compute. #{robot.name} is about to die.\r\n#{err}".replace(/e/ig, '3') if err?
msg.send "I heard a funny one the other day:\r\n#{text}" unless err?
setTimeout tellJoke, 5000 * Math.random()
Было довольно легко учиться, так как я уже знаком с NodeJS и кофе - script. Я написал два бота, о которых я говорил сегодня через несколько часов.
Ответ 7
Имитированный может быть простым способом начать работу, он позволяет создавать чаты чата с серверными средствами веб-разработки для получения сообщений и просто путем отправки HTTP-запросов на отправку сообщений или запросов.
http://www.imified.com/hosting/
Имитированное API-решение для создание и размещение мгновенных сообщений приложения устраняют сложность и обеспечивает простое решение для создание и развертывание приложений IM в нескольких общедоступных сетях IM, использующих один API.
API docs здесь:
http://www.imified.com/developers/api
Приложение, связанное с Имитированная платформа в своем простейшем создать динамическую веб-страницу, которая находится на любом HTTP-сервере и прослушивает входящие сообщения затем выводят ответ. Вы указываете URL конечной точки в настройках ваших ботов. Разработчики могут также "push" сообщения пользователям, а также как запрос присутствия пользователей через REST api для сервера IMified.