Giter Club home page Giter Club logo

bulbul's Introduction

Welcome to BulBul

A lightweight & powerful skill bot with multi end*point support.

Commands

  • pip install *r requirements.dev.txt * Install dependents.
  • sh ./scripts/docs*live.sh * Star a live document.
  • sh ./scripts/lint.sh * Run lint.

Concepts

Here are the basic concepts, all pre-defined models saved in file bulbul/builtins.py.

  • NLU

    • PreProcessor: Consume a Query object and return a Query object with processed text. Here is same examples:
      • remove while space.
      • convert emoji to token.
      • custom PreProcessor
    • IntentTagger: Consume a Query object and might return a list of NLUResult, each NLUResult contains a Intent.
    • JointTagger: Consume a Query object and might return a list of NLUResult, each NLUResult contains a Intent and a Slot.
    • SlotTagger: Consume a NLUResult object (which contain Intent object) and return a NLUResult (might contain a Slot obejct).
  • Skill: Which consume a NLUResult object and return a optional SkillResponse

  • Plugin

    • RuleBasedPlugin Which defines nlu rules and skill handler function in a single class.
  • Adapter: Adapter will consume requests from different backend and convert it to a unified request for BulBul, and convert bulbuls response to json format required by different backends.

Todo

  • PreProcessor

    • WhiteSpaceRemover
    • EmojiConvertor
  • RuleEngine

    • DictRule
    • RegexRule
    • Regex+DictRule
  • ModelEngine

    • KerasModel
    • KashgariModel
  • Skill

    • Weather
  • Adapter

    • Wechaty
    • Telegram
    • Slack

bulbul's People

Contributors

brikerman avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

bulbul's Issues

structure of the bulbul

image

I think this project should support tranditional and deeplearning methods. Only new things can attract more developers. There are some component I need to describe.

  • Pre: Means that data processor before nlu. This process is recognized as necessary.
  • NLU:This process is the core component of the project. In this Module, We should have the same interface for different methods, eg: Rulebased, machine-learning-based, deeplearning-based. They should implement all of the interface, so, different methods/tools can work as the same.
  • Plugins: I don't have clear idea about it. But, I think the plugins is the pipeline mode.
  • NLG: this process, We should output the result according to the input. So, like NLU, this process should have the saome interface that support different methods. Such as Answer Selector, QuestionMatchBasedSelector, End2End, KnowledgeGraphBased, and so on.
  • Chat, This is finnal design of the project. We should complete all of the above idea, so this process can be fine to integrate various chat channel.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.