# loadfive/knwl.js

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/loadfive-knwl-js).**

5,260 stars · 212 forks · JavaScript · MIT

## Links

- GitHub: https://github.com/loadfive/Knwl.js
- awesome-repositories: https://awesome-repositories.com/repository/loadfive-knwl-js.md

## Description

Knwl.js is a JavaScript named entity recognition library and rule-based text parser. It serves as an extensible information extraction tool designed to identify and pull structured entities, such as dates, times, and locations, from unstructured text strings.

The library allows for the definition of specialized rules and custom plugins to identify and extract unique pieces of information. This extensibility enables the automation of information retrieval by converting human-readable text into structured formats for applications and databases.

The system utilizes regular expression matching and rule-based extraction to process raw blocks of text. Modular entity resolvers handle the transformation of matched text segments into standardized formats.

## Tags

### Artificial Intelligence & ML

- [Rule-Based Text Parsers](https://awesome-repositories.com/f/artificial-intelligence-ml/rule-based-ai-systems/rule-based-text-parsers.md) — Functions as a rule-based text parser that transforms unstructured strings into structured data using specific criteria.
- [Entity and Relation Extraction](https://awesome-repositories.com/f/artificial-intelligence-ml/entity-and-relation-extraction.md) — Identifies and extracts structured entities such as dates, phone numbers, and locations from unstructured text. ([source](https://github.com/loadfive/knwl.js#readme))
- [Named Entity Recognition](https://awesome-repositories.com/f/artificial-intelligence-ml/named-entity-recognition.md) — Identifies and classifies entities such as dates, times, and locations within unstructured text strings.
- [Natural Language Processing](https://awesome-repositories.com/f/artificial-intelligence-ml/natural-language-processing.md) — Processes human-readable text and converts it into structured formats for use in applications and databases.
- [Custom Entity Recognizers](https://awesome-repositories.com/f/artificial-intelligence-ml/entity-extraction-pipelines/textual-entity-extractors/financial-entity-recognizers/custom-entity-recognizers.md) — Supports the definition of domain-specific entity detection rules via custom plugins and regular expressions.

### Part of an Awesome List

- [Information Extraction](https://awesome-repositories.com/f/awesome-lists/devtools/information-extraction.md) — Serves as an extensible tool for identifying and extracting structured data from unstructured text strings.
- [Natural Language Processing](https://awesome-repositories.com/f/awesome-lists/ai/natural-language-processing.md) — JavaScript-based natural language processor for data extraction.

### Data & Databases

- [Unstructured Text Processing](https://awesome-repositories.com/f/data-databases/text-processing-utilities/text-processing-tools/unstructured-text-processing.md) — Transforms raw blocks of unstructured text into structured data formats using JavaScript.

### Software Engineering & Architecture

- [Core Capability Extensions](https://awesome-repositories.com/f/software-engineering-architecture/integration-extensibility/extensibility/plugin-architectures/developer-authoring-interfaces/custom-module-implementations/module-functionality-extenders/plugin-extenders/core-capability-extensions.md) — Allows extending the fundamental operational logic of the parser via custom rule plugins. ([source](https://github.com/loadfive/knwl.js#readme))
- [Parsing Pipeline Plugins](https://awesome-repositories.com/f/software-engineering-architecture/parsing-pipeline-plugins.md) — Implements a plugin-based architecture that allows custom rules to be injected into the data parsing lifecycle.
- [Pattern Matching Implementations](https://awesome-repositories.com/f/software-engineering-architecture/pattern-matching-implementations.md) — Uses regular expression matching and capturing groups to locate entities within unstructured text.

### Web Development

- [Entity Format Standardizers](https://awesome-repositories.com/f/web-development/entity-based-response-formatting/schema-entity-transformations/entity-format-standardizers.md) — Provides modular resolvers to transform matched text segments into standardized date, time, and location formats.
