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

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

内容简介: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!


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

查看所有标签

猜你喜欢:

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

现代编译原理

现代编译原理

Andrew W.Appel、Maia Ginsburg / 人民邮电 / 2005-9 / 59.00元

《现代编译原理:C语言描述(英文版)(本科)》全面讲述了现代编译器的各个组成部分,包括:词法分析、语法分析、抽象语法、语义检查、中间代码表示、指令选择、数据流分析、寄存器分配以及运行时系统等。与大多数编译原理的教材不同,《现代编译原理:C语言描述(英文版)(本科)》采用了函数语言和面向对象语言来描述代码生成和寄存器分配,对于编译器中各个模块之间的接口都给出了实际的 C 语言头文件。 全书分成两部分......一起来看看 《现代编译原理》 这本书的介绍吧!

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

在线XML、JSON转换工具

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具