Платформа для чат-ботов

мой босс дал мне задание создать чат-бота, не сделанного с помощью Telegram или Slack, в котором используется сервис Watson Conversation.

Более того, чат-бот должен быть вставлен на веб-страницу, затем он должен быть вставлен в html как javascript.

Есть ли кто-нибудь, кто знает другие хорошие платформы для выполнения этих задач?

Спасибо за любую помощь.


person Filippo Leoncini    schedule 28.09.2016    source источник
comment
Такой широкий вопрос... Можете ли вы сузить его? Watson можно найти в Bluemix. Сделать его встраиваемым — это нормально, убедитесь, что у вас есть правильные заголовки.   -  person ʰᵈˑ    schedule 28.09.2016
comment
Сделал чат-бота в Telegram и Slack. Проблема в том, что мне нужно подключить чат-бот на веб-сайте через интерфейс чата. Я также использую Chattlio, чат-ракету и чат в реальном времени, но эта платформа не поддерживает бот-агента, поддерживаются только пользовательские агенты.   -  person Filippo Leoncini    schedule 28.09.2016
comment
Беседа — это API для отдыха. Таким образом, вы можете использовать его в качестве мозга своего чат-бота в других фреймворках чат-ботов (например, в Messenger).   -  person Simon O'Doherty    schedule 28.09.2016
comment
Я глубоко погрузился в тот же вопрос и не смог найти простого и элегантного решения. У Bluemix есть еще один проект по уменьшению сложности работы с сервисами классификатора и диалога. Удобство использования и время окупаемости Bluemix невелики по сравнению с другими платформами НЛП. Встраивание в сеть сложно и дорого. Для этого могут потребоваться постоянные услуги, включая базу данных IBM Sql, которая стоит 100 долларов.   -  person Cameron McGrane    schedule 11.10.2016
comment
Интеграция копирования и вставки в стиле веб-чата с API-интерфейсом разговора вполне выполнима. Вопрос в том, почему этого никто не сделал?   -  person Cameron McGrane    schedule 11.10.2016
comment
У нас (x2.ai) есть простой веб-интерфейс для Тесс. Программировать самостоятельно очень легко, но мы, вероятно, выпустим API очень скоро, так как многие люди заинтересуются. Как вы создали своего чат-бота? Это движок (ИИ с состояниями, потоками и т. д.) или просто данные? Ре. сделать чат-бота... как вы понимаете, мы пробовали все. Все вещи, которые вы можете увидеть на рынке, просто плохие, IMO, поэтому мы создали свои собственные. Кстати, служба Watson Conversation не имеет состояния (не настоящий разговор, как большинство других). Я бы продолжил, но я не уверен, на какой вопрос я отвечаю сейчас...   -  person Eugene    schedule 17.10.2016
comment
Этот вопрос слишком широк для этого сайта. Кроме того, справочный центр очень четко говорит Вопросы, в которых нам предлагается рекомендовать или найти книгу, инструмент , библиотеки программного обеспечения, учебники или другие сторонние ресурсы не относятся к теме Stack Overflow, поскольку они, как правило, привлекают самоуверенные ответы и спам.   -  person Ken White    schedule 28.10.2016


Ответы (4)


После ответов в комментариях я еще раз посмотрел и понял, что Microsoft Bot Framework может работать с минимальными вложениями в разработку (в начале).

https://docs.botframework.com/en-us/support/embed-chat-control2/

person Cameron McGrane    schedule 11.10.2016
comment
Большое спасибо. Сейчас я использую IBM Watson Virtual Agent, но еще раз спасибо - person Filippo Leoncini; 12.10.2016

Этот малыш веселый. Вы должны дать ему попробовать.

http://www.program-o.com/

person Sedrick    schedule 17.10.2016

Я настоятельно рекомендую вам создать не просто бота, а помощника, используя сервисный инструмент для понимания языка, такой как Microsoft LUIS, который является частью Microsoft Cognitive Services.

Затем вы можете комбинировать этот инструмент обработки естественного языка с ботом SDK, таким как MicroSoft Botframework, упомянутым выше, чтобы вы могли легко запускать запросы на естественном языке, анализировать ответ в диалоговом окне в entities и intents и предоставлять ответ на естественном языке.

Например, проанализированный ответ диалога будет иметь что-то вроде этого json

{
        "intent": "MusicIntent",
        "score": 0.0006564476,
        "actions": [
            {
                "triggered": false,
                "name": "MusicIntent",
                "parameters": [
                    {
                        "name": "ArtistName",
                        "required": false,
                        "value": [
                            {
                                "entity": "queen",
                                "type": "ArtistName",
                                "score": 0.9402311
                            }
                        ]
                    }
                ]
            }
        ]
      }

где вы можете видеть, что этот MusicIntent имеет сущность queen типа ArtistName, которая была распознана системой понимания языка.

то есть, используя BotFramework как делать

var artistName=BotBuilder.EntityRecognizer.findEntity(args.entities, Entity.Type.ArtistName);

Хорошая современная среда помощника бота должна поддерживать по крайней мере multi-turn dialog mode, то есть диалог, в котором происходит взаимодействие между двумя сторонами, например

>User:Which artist plays Stand By Me?
(intents=SongIntent, songEntity=`Stand By Me`)
>Assistant:The song `Stand by Me` was played by several artists. Do you mean the first recording?
>User:Yes, that one!
(intents=YesIntent)
>Assistant: The first recording was by `Ben E. King` in 1962. Do you want to play it?
>(User)Which is the first album composed by Ben E.King?
(intents=MusicIntent, entity:ArtistName) 
>(Assistant) The first album by Ben E.King was "Double Decker" in 1960.
>(User) Thank you!
(intents=Thankyou)
>(Assistant)
You are welcome!

Некоторые фреймворки ботов используют WaterFall model для обработки такого взаимодействия языковых моделей:

self.dialog.on(Intent.Type.MusicIntent,
    [
      // Waterfall step 1
      function (session, args, next)
      {
            // prompts something to the user...
            BotBuilder.Prompts.text(session, msg);
      },
      // waterfall step 2
      function (session, args, next)
      {
             // get the response
             var response=args.response;
             // do something...
             next();//trigger next interaction
      },
      // waterfall step 3 (last)
      function (session, args)
      {
      }
   ]);

Другие особенности, которые следует учитывать:

  • поддержка нескольких языков и автоматических переводов;
  • Интеграция со сторонними сервисами (Slack, Messenger, Telegram, Skype и т. д.);
  • мультимедиа (изображения, аудио, воспроизведение видео и т. д.);
  • безопасность (криптография);
  • кроссплатформенный SDK;
person loretoparisi    schedule 17.10.2016

Я начал работать в этом направлении, используя проект с открытым исходным кодом под названием Talkify: https://github.com/manthanhd/talkify

Это платформа для ботов, предназначенная для организации потока информации между провайдерами ботов, такими как Microsoft (Skype), Facebook (Messenger) и т. д., и вашими серверными службами.

Мне бы очень хотелось, чтобы люди внесли свой вклад, чтобы увидеть, как это можно улучшить.

person Manthan Dave    schedule 24.10.2016