Lessons learned from building a commercial open-source bot development platform

栏目: IT技术 · 发布时间: 3年前

内容简介:As part of theAfter an introductoryYou can check the slides of my talk below but let me also highlight some of our key lessons learned in building a chatbot platform for you, ranging from organizational, technical, and business challenges:

As part of the 2nd International Workshop on Bots in Software Engineering (BotSE 2020), I gave the keynote “Lessons learned from building a commercial bot development platform” where I discussed some of the key aspects we have learned while building our opensource and low-code chatbot development platform Xatkit (see also the Xatkit organization in GitHub )

After an introductory mini-tutorial on Xatkit and explaining why the world needs yet another bot solution, I moved to discuss the struggles we are facing when trying to move Xatkit from a research prototype to a commercial-grade tool. Some of the challenges are common to any industrialization effort (when you’re at the same time the research team and the technology provider in charge of maturing the tool) and shared as well with any other core open source project fighting for its long-term sustainability (a topic on which, btw, bots can also play a key role ).

You can check the slides of my talk below but let me also highlight some of our key lessons learned in building a chatbot platform for you, ranging from organizational, technical, and business challenges:

  • Organizational challenges
    • You need to be a Polymath to create a bot platform . Plenty of core bot tech: NLU, Sentiment Analysis, Xtext, Slack/GH/… APIs,…., but even more non-bot tech: InfluxDB, Nginx, eCharts, React, web sockets, Docker… that you’ll need to master when building a bot platform.
    • Commercial-grade quality involves spending more and more time on “boring” tasks as you need to polish all aspects of the tool (interface, docs,…) that you can easily skip when just building a prototype.
    • Common challenges to any OSS project like attracting contributors, giving support to users that don’t even say thank you or the cost of maintaining external contributions (e.g. connectors) especially when the core is still evolving
    • Being pragmatic. Make sure everything you do has a good Return of Investment. Example: we went from having official releases, to core releases to no releases (compile from sources). Also, we don’t support older versions and don’t keep backward compatibility. These are all things that would be nice to have but that we cannot afford.
  • Technical challenges
    • Eat your own chatbot food for a better language. Evolving your DSLs is expensive, try to design a variety of bots to make sure your language is expressive enough for your needs (e.g. when we moved to our current state-machine language semantics , we had to reimplement the editor, the examples, the docs,…
    • Combine textual and graphical notations . Textual for writing + Graphical for Reading
    • Do not reinvent the wheel. We came close to reinvent Java! (and moved to Xbase )
    • Think long-term. Research prototypes are pure technical debt
    • Security. Are you protected against DDoS attacks via a bot?. It’s not only a security concern but also an economical one if you’re paying to an external provider (e.g. DialogFlow) to process your input texts. There are also privacy concerns if you keep the session data for further bot monitoring and analysis .
  • Natural Language Processing
    • NLP engines don’t speak Catalan. Once you’re out of the mainstream languages (English, Spanish, French,….) you may need to combine several NLP engines to cover well the languages you’re interested in.
    • NLP engines are not bilingual. In some countries, bots should be able to combine different languages in the same conversation
    • Everybody seems interested in having sex with a bot. Trolls are also a huge problem with bots. As a brand you don’t want to risk going viral because your bot gave the wrong response to a Troll question.
    • Reusable intent libraries . You don’t want to define again Greetings , Thank You or Troll intents.
    • Testing chatbots is a largely unexplored areaWe use Botium to record conversation s to be used as test cases but need much more (e.g. automatic generation of test cases)
    • More training sentences are not always better. Overall quality may decrease if they start overlapping with sentences for other intents.
  • Business
    • Most end-users do not want to define chatbots. It doesn’t matter how nice is your interface. They just want to give you their data and get a bot from you.
    • Find your niche. There are over a hundred bot solutions out there. Choose wisely your domain (e.g. our WordPress plugin ) and your business model. E.g. Consider Selling a service (such as our consulting and managed chatbot hosting services ) and not a tool.
    • Understand what really matters to your future clients . You’ll be surprised. For instance, making sure the color of your chatbot widget perfectly matches the look and feel of their website may be more important to them that your latest cool AI-based feature.
    • Help your clients understand what their visitors want to use the bot for. You think you know what your visitors will want to use the bot for but in reality, you don’t. So having a dashboard to monitor the conversations the bot doesn’t know how to answer is vital.
    • Self-learning bots . Your clients will want that but it’s risky. You don’t want the bot to learn the wrong things.

At the end of the talk I also emphasized why we belive you should consider using Xatkit

  • As a bot teaching platform. If you teach any course involving bots, chatbots, NLP or DSLs / software modeling and are looking for a use-case or a ready-to-use bot platform for experimentation we’ll be happy to help with materials and assistance and even (remote) seminars
  • As a bot research platform . In many bot-related research, researchers spend a significant amount of time putting together the bot pieces they need to create their bots and/or run their experiments. We ask you not to reinvent the wheel and, instead, adopt Xatkit as base platform. You’ll benefit from all Xatkit features and connectors to have powerful bots with less effort and will be able to spend more time on the core research aspects

Lessons learned from building a commercial bot development platform from Jordi Cabot

Of course, mine was just one of the many interesting talks that took place in the workshop. In the BotSE website, you have the full program and links to the videos and slides of all presentations (e.g. don’t miss the great Probot talk by Gregor Martynus ). Thanks again to Emad Shihab , Stefan Wagner and Marco A. Gerosa for inviting me!.

As always, any feedback is appreciated! If you have questions or comments on how to build bots or bot development platforms, share them below!


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

互联网+秋叶课堂:我的网课创业

互联网+秋叶课堂:我的网课创业

秋叶 / 北京:机械工业出版社 / 2016-3-1 / 39.0

在线教育被很多人视为 “互联网+”创业热潮中的下一个风口,越来越多的老师和创业者选择在线教育创业。本书作者秋叶老师2013年双11正式带一帮小伙伴开始在线教育创业,在短短两年内“从0到1”,累计做到了超500万元的销售业绩,成为国内Office领域在线教育运营最成功的团队之一。在这本书中秋叶老师结合自己的实战经历,向各位完整剖析了两年创业的真实复盘思考,是一本值得在线教育创业同行入手的必读书。 ......一起来看看 《互联网+秋叶课堂:我的网课创业》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具