Package: botiverse
Botiverseis Python package that bridges the gap between developersregardless of their machine learning expertiseand 
building chatbots. It offers adiverse setofmodern chatbot architecturesthat areready to be trainedin ahigh-level fashionwhile 
offering optionalfine-grained controlfor advanced use-cases.Check this for thedocumentation.🚀 InstallationFor standard use, considerpipinstallbotiverseThis installs botiverse excluding the dependencies needed for the voice bot and its preprocessors. To include those as well, 
consider installingpipinstallbotiverse[voice]and make sure to also have FFMPEG on your machine, as needed by the unavoidable dependencyPyAudio.🏮 Basic DemoImport the chatbot you need frombotiverse.bots. All bots have a similar interface consisting of a read, train and infer method.frombotiverse.botsimportBasicBot# make a chatbot instancebot=BasicBot(machine='nn',repr='tf-idf')# read the databot.read_data('dataset.json')# train the chatbotbot.train()# inferbot.infer("Hello there!")💥 Supported ChatbotsBotiverse offers 7 main chatbot architectures that cover a wide variety of use cases:ChatbotDescriptionExample Use CaseBasic BotA light-weight intent-based chatbot based on classical or deep classiciation modelsAnswer frequently asked questions on a website while remaining insensitive to wordingWhiz BotA multi-lingual intent-based chatbot based on deep sequential modelsSimilar to basic bot but suitable for cases where there is more data or better performance or multilinguality is needed in return of more computationTask BotA task-oriented chatbot based on encoder transformer modelsA chatbot that can collect all the needed information to perform a task such as booking a flight or a hotelBasic Task BotA basic light-weight version of the task bot purely based on Regex and grammarsWhen insufficient data exists for the deep version and developers are willing to design a general grammar for the taskConverse BotA conversational chatbot based on language modeling with transformersA chatbot that converses similar to human agents; e.g., like a narrow version of ChatGPT as customer serviceVoice BotA voice bot that simulates a call state machine based on deep speech and embedding modelsA voice bot that collects important information from callers before transferring them to a real agentTheorizerBased on deep classification and language modelsConverts textual data into question-answer pairs suitable for later training💥 Supported Preprocessors and ModelsAll chatbot architectures that Botiverse support (i.e., inbotiverse.bots) are composed of a representer that puts the input text or audio in the right representation and a model that is responsible for the model's output.All representers (top row) and models (bottom row) with a non-white frame were implemented from scratch for some definition of that.Beyond being a chatbot package, most representers and models can be also used independently and share the same API. For instance, you can import your favorite model or representer frombotiverse.modelsorbotiverse.preprocessorsrespectively and use it for any task.Some chatbot architectures also allows using a customly defined representer or model as long as it satisfies the relevant interface.