awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
axa-group avatar

axa-group/nlp.js

0
View on GitHub↗
6,574 stars·634 forks·JavaScript·MIT·30 views

Nlp.js

nlp.js is a JavaScript natural language processing library and development framework used to build natural language understanding engines. It provides a toolkit for creating local machine learning models for intent classification and acts as a multilingual text processor that detects languages and normalizes text across various dialects.

The framework distinguishes itself by supporting local execution on both servers and mobile devices, enabling chatbot functionality without an internet connection. It features a specialized system for conversational slot filling to collect mandatory information and manages stateful conversation contexts to personalize dynamic responses.

The project covers a broad range of NLP capabilities, including named entity recognition for extracting temporal, numerical, and contact data, as well as multilingual sentiment analysis. It also includes utilities for text normalization, such as stemming, tokenization, and spell checking, alongside tools for training language models from JSON or Excel data.

The system can be integrated with HTTP servers, various chat interfaces, and external bot frameworks.

Features

  • Intent Classification Pipelines - Implements neural-network based intent classification to identify the purpose of user input.
  • Neural Intent Classifiers - Trains neural networks to associate tokenized user input with specific intent labels.
  • Chatbot Frameworks - Provides a comprehensive framework for managing conversation context, slot filling, and dynamic response generation.
  • Conversation State Management - Maintains stateful conversation contexts to track dialogue progress and manage session variables.
  • Template-Based Answer Generation - Produces dynamic responses by replacing placeholders with extracted entities or stored context variables.
  • Language Detection Tools - Identifies the language of text and returns a ranked list of possibilities based on an allow-list.
  • Lightweight Intent Classifiers - Ships lightweight neural networks for intent classification that run locally on servers or mobile devices.
  • Language Model Training - Processes a corpus of utterances and answers from JSON files to train intent recognition models.
  • Multilingual Natural Language Understanding - Detects languages and extracts entities across various locales to support global user interactions.
  • Multilingual Text Processors - Detects languages and normalizes text across numerous supported languages and dialects.
  • Named Entity Recognition - Identifies and extracts structured data like dates, currency, and contact information from unstructured text.
  • Natural Language Entity Extraction - Extracts specific entities and metrics from natural language text for structured querying.
  • Conversational Answer Generation - Assigns multiple possible responses to specific intents to return varied natural language answers.
  • Conversation Slot Filling - Tracks and fills required information slots within a conversation to complete user tasks.
  • Natural Language Processing - Tokenizes and stems text in numerous supported languages, including basic tokenization for fantasy languages.
  • Text Tokenization - Provides utilities for segmenting raw text into individual words and sentences for downstream linguistic processing.
  • Text Normalization - Provides comprehensive text normalization utilities including tokenizers and stemmers to prepare text for natural language understanding.
  • Word Stemming - Reduces words to their base or root forms to normalize text across different languages and dialects.
  • Local NLP Inference - Allows natural language processing and chatbot functionality to run directly on-device without internet connectivity.
  • N-Gram Detection - Identifies the language of a phrase by comparing trigram frequencies against a known training corpus.
  • Natural Language Understanding - Provides an engine for classifying user intents and extracting named entities to power conversational interfaces.
  • Mobile Inference Deployments - Supports local model training and inference on mobile devices for offline operation.
  • Bot Behavioral Pipelines - Scripts the sequence of actions and logic a bot executes in response to specific intents.
  • Bot Chat Interfaces - Supports connecting bots to multiple communication channels, including web chats and messaging platforms.
  • Model Persistence - Exports a trained neural network to a file format and imports it back to restore the model without retraining.
  • Contact Information Extraction - Provides utilities to identify and extract email addresses, phone numbers, and URLs across multiple languages.
  • Currency Value Extraction - Identifies and extracts monetary values and their corresponding currency units in multiple languages.
  • Network Identifier Extraction - Identifies and extracts IPv4 and IPv6 addresses and hashtags from text across multiple languages.
  • Numerical Value Extraction - Identifies and extracts integers, floats, ordinal numbers, and percentages, including text-based numbers.
  • Physical Dimension Extraction - Identifies and extracts measurements of length, distance, speed, volume, and area using international acronyms.
  • Temporal Information Extraction - Identifies and extracts dates, duration intervals, and ages into standardized time formats.
  • Sentiment Analysis Tools - Evaluates the emotional tone of text to determine if input is positive, negative, or neutral.
  • Lexicon-Based Sentiment Analyzers - Determines emotional tone across multiple languages using a predefined dictionary of weighted words.
  • Spelling Correction - Identifies and corrects spelling errors using a combination of dictionaries and edit distance algorithms.
  • Stop Word Filters - Removes high-frequency filler words from text using customizable dictionaries to improve the quality of NLP analysis.
  • Local Question Answerers - Processes questions and returns answers using a tab-separated file of question-answer pairs.
  • Regex Extraction Utilities - Extracts structured data such as dates and emails from text using regular expressions.
  • JSON-Based Persistence - Persists trained machine learning weights to JSON files to eliminate the need for retraining on startup.
  • Bot API Server Self-Hosting - Allows hosting the bot on an HTTP server to be accessible to remote web clients.
  • Chatbot Integration Frameworks - Provides middleware to connect natural language recognizers to various chatbot frameworks and messaging services.
  • Intent-to-Action Handlers - Runs registered functions mapped to specific intents to inject context data or modify answers.
  • Intent-Driven Plugin Executors - Triggers custom pipelines or API calls based on recognized user intents to generate responses.
  • String Post-Processing Pipelines - Implements pipelines to modify generated answers and update conversation context after processing.
  • AI and Machine Learning - NLP library for building bots and sentiment analysis.
  • Natural Language Processing - NLP framework for building bots and analysis.
  • JavaScript NLP Libraries - Library for building conversational bots and intent parsing.

Star history

Star history chart for axa-group/nlp.jsStar history chart for axa-group/nlp.js

How this analysis was created: This summary and feature list were written by an AI model that read the project's README and public documentation pages. Each feature links to the documentation it came from; stars, license and language come straight from the GitHub API. The model does not read the source code, and the analysis is refreshed when the project is re-analysed. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does axa-group/nlp.js do?

nlp.js is a JavaScript natural language processing library and development framework used to build natural language understanding engines. It provides a toolkit for creating local machine learning models for intent classification and acts as a multilingual text processor that detects languages and normalizes text across various dialects.

What are the main features of axa-group/nlp.js?

The main features of axa-group/nlp.js are: Intent Classification Pipelines, Neural Intent Classifiers, Chatbot Frameworks, Conversation State Management, Template-Based Answer Generation, Language Detection Tools, Lightweight Intent Classifiers, Language Model Training.

What are some open-source alternatives to axa-group/nlp.js?

Open-source alternatives to axa-group/nlp.js include: towardsai/tutorials — This project is an educational collection of tutorials and executable code notebooks focused on data science, machine… facebook/duckling — Duckling is a deterministic named entity recognizer and natural language entity extractor. It transforms unstructured… johnsnowlabs/spark-nlp — Spark NLP is a toolkit for scalable text analysis and machine learning built on the Apache Spark distributed computing… sloria/textblob — TextBlob is a natural language processing library that provides a unified interface for common linguistic tasks. It… stanfordnlp/corenlp — CoreNLP is a Java natural language processing library designed to convert raw human language text into structured… nyandwi/machine_learning_complete — This is an interactive notebook-based course that teaches machine learning from Python fundamentals through deep…

Open-source alternatives to Nlp.js

Similar open-source projects, ranked by how many features they share with Nlp.js.
  • towardsai/tutorialstowardsai avatar

    towardsai/tutorials

    1,023View on GitHub↗

    This project is an educational collection of tutorials and executable code notebooks focused on data science, machine learning, deep learning, and natural language processing concepts in Python. It provides instructional resources covering statistical analysis, linear algebra, artificial intelligence algorithms, and step-by-step guides for developers learning data science. The repository covers a broad spectrum of computational and statistical capabilities, including neural network construction, gradient-based optimization techniques, curve fitting, regression modeling, and collaborative filt

    Jupyter Notebookcollaborative-filteringdata-sciencedeep-learning
    View on GitHub↗1,023
  • facebook/ducklingfacebook avatar

    facebook/duckling

    4,292View on GitHub↗

    Duckling is a deterministic named entity recognizer and natural language entity extractor. It transforms unstructured text into machine-readable data by mapping language-specific input strings to universal structured formats. The system utilizes a rule-based engine and composable language rules to resolve entities without relying on probabilistic models. It supports multilingual text parsing across various regional locales, employing a logic-driven approach to normalize diverse natural language expressions into standardized numeric values. The project covers the extraction and normalization

    Haskell
    View on GitHub↗4,292
  • johnsnowlabs/spark-nlpJohnSnowLabs avatar

    JohnSnowLabs/spark-nlp

    4,135View on GitHub↗

    Spark NLP is a toolkit for scalable text analysis and machine learning built on the Apache Spark distributed computing framework. It provides a multimodal machine learning framework and a distributed pipeline system for sequencing annotators to process large-scale linguistic data. The library includes a transformer text processor for generating contextual vector embeddings and a dedicated inference engine for managing large language models. The project distinguishes itself through its ability to process heterogeneous data types, including text, audio, and images, within a unified vision-langu

    Scala
    View on GitHub↗4,135
  • sloria/textblobsloria avatar

    sloria/TextBlob

    9,516View on GitHub↗

    TextBlob is a natural language processing library that provides a unified interface for common linguistic tasks. It operates as a wrapper-based API, simplifying the use of complex processing libraries by delegating core operations to specialized external frameworks. The project features a pluggable processing pipeline that allows for the integration of custom logic and alternative language engines. It supports the extension of processing models through plugins to add specific language support or custom data processing. The library covers a broad range of linguistic capabilities, including se

    Pythonnatural-language-processingnlpnltk
    View on GitHub↗9,516
See all 30 alternatives to Nlp.js→