Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

@wowool/portal

wowool-djamel811MIT1.1.1TypeScript support: included

A library for natural language processing tasks including tokenization, entity recognition, anonymization, semantic chunking, and much more.

nlp, natural language processing, tokenization, entity recognition, text processing, machine learning, artificial intelligence, retrieval augmented generation, anonymization, data privacy, chunking, wowool

readme

Wowool Portal

TypeScript client for the Wowool Portal, an NLP toolkit built for modern AI.

Introduction

Wowool is a powerful and flexible Natural Language Processing (NLP) technology built for modern AI featuring advanced NLP capabilities which can easily be integrated. It provides flexible pipelines for processing text data that perform syntactic and semantic analysis including tokenization, named entity recognition (NER), anonymization, semantic chunking, topic identification and many other types of analysis.

This library, Wowool Portal, is the client for the SaaS version of the Wowool NLP engine and it is designed to be user-friendly and efficient, making it an ideal choice for developers and data scientists looking to enhance their applications with state-of-the-art NLP features.

Usage

Installation

npm install @wowool/portal

Configuration

First, create an API key. Next, in browser-based environments, pass the apiKey to a Portal instance. In Node environments, you can also set the WOWOOL_PORTAL_API_KEY environment variable:

export WOWOOL_PORTAL_API_KEY="***"

NLP using pipelines

Natural language processing using Wowool revolves around the use of a pipeline. Each instance of a pipeline represents a sequence of steps that sequentially processes the document.

Named entity recognition

const pipeline = new Pipeline("english,entity");
const document = await pipeline.process("Elon Musk is the CEO of SpaceX.");
document.analysis.forEachEntity((entity) => {
  console.log(`${entity.uri}: ${entity.text}`);
  if (entity.attributes) {
    entity.attributes.forEach((attribute) => {
      console.log(`  ${attribute.key}: ${attribute.values.join(", ")}`);
    });
  }
});

This will produce the following output:

Sentence: Elon Musk is the CEO of SpaceX .
  header: true
Person: Elon Musk
  canonical: Elon Musk
  company: SpaceX
  descriptor: billionaire
  family: Musk
  gender: male
  given: Elon
  position: CEO
  theme: technology:it
Person: the CEO
  canonical: Elon Musk
  company: SpaceX
  descriptor: billionaire
  family: Musk
  gender: male
  given: Elon
  position: CEO
  theme: technology:it
PersonMention: CEO
Position: CEO
  canonical: CEO
  company: SpaceX
  sector: aerospace
  theme: business
  type: executive
Company: SpaceX
  canonical: SpaceX
  country: USA
  sector: aerospace

For more information, see the Wowool documentation.

Development

Building

To build the package:

npm run build

Testing

To test the library:

npm run test

Publishing

Adjust the version:

npm version patch

Prepare the package

npm run prepare

Inspect, the package:

npm run inspect

And finally, release the package to npm:

npm run release