Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>NLPNew to Visual Studio Code? Get it now.

NLP

David de Hilster

|
1,095 installs
| (1) | Free
NLP++: dedicated computer language for NLP - Anything Thinkable
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

NLP++ Language Extension

Only Computer Language Dedicated to Natural Language Processing

NLP++ is the only computer language in the world exclusively dedicated to natural language processing. It allows for creating digital human readers that use linguistic and world knowledge to parse and understand text. Whether it be for extracting or marking up "messy" text or full-blown NLP understanding, this language allows for "anything thinkable".

NLP++ and VisualText Now Unicode

The NLP-Engine for NLP++ now works with Unicode (UTF8 via the ICU C++ Package) including the ability to work with emojis.

NLP++ Now works with Unicode in the form of UTF8

Quick Video Guides

Find quick video guides on how to install and use VisualText including a "hello world" video as well as an in-depth tour of VisualText.

Introduction

This is a VSCode Language Extension for NLP++ that recreates the functionality of VisualText which has run on Microsoft Windows for the last two decades. NLP++ is a open source computer language specifically dedicated to creating text analyzers that mimic human readers and includes the NLP++ language and knowledge based system called the "conceptual grammar". NLP++ is used for any type of text processing from simple tagging or extraction, to full language parsing. There is a full english parser that is free an available for use (see information below).

The language extension and the required NLP-ENGINE run on Linux, Windows, and MacOS.

Features

The VSCode NLP++ Language Extension allows for the fast development of NLP++ analyzers allowing users to:

  • Quickly generate and edit NLP++ code
  • Display the syntax tree in insightful ways
  • Highlight text that has matched rules in each pass
  • Display the knowledge base at strategic places in the analyzer sequence
  • Easily edit and modify the pass sequence and texts to be analyze
  • Display syntax errors to NLP++
  • Auto generate rules
  • Extensive snippets
  • Help lookup

NLP++ Example Analyzers

Example analyzers can be found in the "analyzers" folder in the NLP-ENGINE folder.

NLP++ Language Extension opening example analyzers including the full English parser

Requirements

In order to use the VSCode NLP++ Language Extension, the NLP-ENGINE which is in the form of an executable and directory need to be present. Version one now includes this as part of the NLP language extension.

NLP Engine Overview

The NLP-ENGINE now comes with the NLP++ Language extension but is available separately from the VisualText github repository. The engine can run as a standalone executable (nlp.exe) that runs on Linux, Windows, and MacOS or it can be embedded into c++ code.

Types of Analyzers Commonly Written Using NLP++

There are many types of analyzers that are written by NLP++ programmers including:

  • Tagging of text
  • Extract emails, dates, addresses, etc from unstructured text
  • Entity Extraction
  • Full NLP Parsing
  • Sentiment analysis
  • OCR Cleanup
  • Extraction of data from messy text
  • Autogenerate snippets from documentation

Analyzer state.json

This file will automatically get generated when a new analyzer is created in VisualText VSCode. It is located in the .vscode directory under the folder for an individual analyzer.

{
    "visualText": [
        {
            "name": "Analyzer",
            "type": "state",
            "currentTextFile": "/YOUR-PATH-HERE/nlp-engine/analyzers/corporate/input/Dev/Sold.txt",
            "currentPassFile": "/YOUR-PATH-HERE/nlp-engine/analyzers/corporate/spec/lookup.pat"
        }
    ]
}

Known Issues

There are many details in the windows version of VisualText that are yet to be implemented in the VSCode version.

Release Notes

v1.30.9

Mac and Linux fixes

v1.30.8

Security updates

v1.30.7

Now uses the unicode version of the nlp-engine

v1.30.0

Now handles utf8 files and characters (unicode)

v1.21.4

Various minor issues fixed

v1.20.7

Added stable file and directory deletes and copies

v1.19.0

Added copy single analyzer or all analyzers to chosen folder

v1.18.2

Added analyzer operation queue

v1.17.1

Added sort & unique to text files

v1.16.2

Major overhaul on updater

v1.15.10

Reveals sequence number for an nlp file. This will eventually select the sequence item once Microsoft fully implements the reveal function for tree items.

v1.14.3

Added delete logs to textview. Initialization messages now to LOGGING tab.

v1.13.1

Simple search for function. This is a workable hack.

v1.12.2

Added online browser lookup help where links work. This is to fix the fact that links don't work in the WebView inside VSCode.

v1.11.1

Add clearing log folders for all analyzers for archiving analyzers

v1.10.0

Copies settings.json file to the current work file for special NLP++ colorization

v1.9.6

Added comment / uncomment lines

v1.8.0

Added first version progress bar

v1.7.8

Fixed autogenerate rule

v1.7.7

Analyzer log files now have the extension .tree, added duplicate pass, update nlp-engine fix

v1.6.1

Added updating VisualText files version separately allowing for independently updating

v1.5.2

Now checks nlp-engine version and updates if newer exists. v1.5.2 improved lexer.

v1.4.1

Allow for creating different type analyzers including basic and English

v1.3.0

Changed all the pat files to nlp but still will process both extensions. Now downloads the latest version of nlp-engine at installation time, no longer included in the extension.

v1.2.0

Fixed one line bug for the sequence file and allow for multiple pass selections for inserting.

v1.1.2

Allows for dicttok, dicttokz, and cmltok variations of the tokenizer. Also delete and remame files also changes the log files directory name correctly in the textView.

v1.1.1

Analyze a folder of texts

v1.0.11

Fixed color highlights rule rewrite line

v1.0.8

Updated NLP Engine with empty tmp folders

v1.0.5

Added duplicate line for rule editor

v1.0.4

The NLP engine executable and engine directory are now included in the NLP language extension for VSCode. The location of the engine is located in a subdirectory of the nlp extensions located in the extension directory located on the local computer. See documentation for VSCODE if you want to know the location of the directory which is different for different platforms.

v0.9.29

Fixing minor problems

v0.9.27

Fixing paths for calling nlp.exe and missing npm package

v0.9.24

Fixed file path problem across platforms

v0.9.23

Initial version with ongoing minor fixes

Development

VSCode Language Extension

Follow these instructions to install the development code for VSCode extension:

git clone https://github.com/VisualText/vscode-nlp.git
cd vscode-nlp
npm install
npm run watch

At which point you can edit the sources and launch debug sessions via F5 and included launch configurations.

NLP Engine

The NLP Engine which is written in C++ is also open source and can be downloaded in development mode. You can find how to download and develop the NLP Engine code at: https://github.com/VisualText/nlp-engine.

License

MIT

  • Contact us
  • Jobs
  • Privacy
  • Terms of use
  • Trademarks
© 2022 Microsoft