Skip to main content

wkstools

wkstools is a small convenience library that provides utilities to efficiently work with entities and relations provided by IBM Natural Language Understanding.

PyPI - License PyPI

Intuition

When using IBM Watson Knowledge Studio (WKS) models in IBM Natural Language Understanding (NLU), in most cases the resulting JSON requires post-processing to work with the extracted entities and relations. This is where wkstools comes to help:

Let's assume you have trained a machine learning model in IBM Watson Knowledge Studio that recognizes relations between quantifiers, numbers and units. "I want a smartphone that weighs no more than 160 g."

If we want to build a tool that allows natural language searches for smartphone against a product database, you need to understand the relevant concepts in a structured manner. For the above example it will be helpful to extract the relations that point from the operator (no more than) to the (value) and the unit (g).

See the intuition.py and nlu_response.json in the exmaples folder to have a running example.

Requirements

  • Python 3.6+
  • Pydantic

Installation

$ pip install wkstools

Usage

Parse entities and relations

To parse the NLU JSON response retrieved from IBM Natural Language Understanding, use:

import wkstools

# Your NLU JSON response to process
nlu_response = '{..., "relations": [{"type": "specifiesValue", ...], "entities": [...]}' 

entities = wkstools.parse_entities(nlu_response)
relations = wkstools.parse_relations(nlu_response)

See the entity and relation models for available fields.

Access specific relations

import wkstools

# Your NLU JSON response to process
nlu_response = '{..., "relations": [{"type": "specifiesValue", ...], "entities": [...]}' 

relations = wkstools.parse_relations(nlu_response)

value_relations = wkstools.get_relations_by_type(relations, "specifiesValue")

Testing

To lint and test, run:

$ ./scripts/test.sh

To get the html coverage report run:

$ ./scripts/test-cov-report.sh

License

This project is licensed under the terms of the MIT license.

Release files for wkstools 0.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for wkstools 0.1.2
File Size Uploaded
wkstools-0.1.2.tar.gz 10.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for wkstools 0.1.2
File Interpreter ABI Platform
wkstools-0.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 17.0 kB

Release files / wkstools-0.1.2.tar.gz

Download URL wkstools-0.1.2.tar.gz
Size 10.8 kB
Tags Source
SHA-256 checksum
How to use checksums
35059e399d99c0683e051dd95e36cb08be802125f5a4c65f23d448423a266fd7
BLAKE2b-256 checksum
How to use checksums
88be7e1c595b7b8a795931e9b35a3ce1bf2dec30597b5aea0d6e5d8644623036
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via python-requests/2.24.0

Release files / wkstools-0.1.2-py3-none-any.whl

Download URL wkstools-0.1.2-py3-none-any.whl
Size 6.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
bb2b9fa19c0f71415bda728fe6d5018acdf2f4ece17111db3700d839aa8a1454
BLAKE2b-256 checksum
How to use checksums
f331fcb22094473b48d75779d46c51ebef957d865dd2c0bb849315c1935a793e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via python-requests/2.24.0

Release history Release notifications | RSS feed

This release

0.1.2 This release

2 release files

0.1.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page