A Python library for modeling the semantics of natural language
Project description
Semantics
A Python library for modeling the semantics of natural language.
Introduction
Semantics is a Python library for representing, storing, and manipulating the semantic content of natural language, in a format designed to closely mirror the structure and behavior of natural language. Semantics can be used as a knowledge graph, but it is capable of much more.
Patterns
One of the core features of Semantics is its pattern matching capabilities. A natural language utterance can be modeled as a pattern, which is then used to update or query the knowledge graph. Patterns can even be attached to the graph and triggered by later updates, potentially supporting automated reasoning capabilities.
In contrast to the syntax of predicates in propositional logic, Semantics patterns are designed to closely mirror the structure of the natural language utterances they represent. This means that the output of a natural language parser can be mapped with minimal effort to Semantics patterns. A pattern is itself a graph, essentially comprising a detailed grammar tree of the utterance it represents. Searching the knowledge graph is simply a matter of aligning the structure of the pattern with a subgraph of the knowledge graph.
Evidence
Another core feature of Semantics is its use of accumulated evidence to determine the truth/falsehood of statements. This is in contrast to more rigid knowledge graph designs which are brittle in the face of conflicting or contradictory assertions. Many knowledge graphs are all-or-nothing, following the assertions made by their users without question, ignoring the possibility of mistakes or uncertainty. Semantics is built from the ground up with the assumption that all knowledge is subject to error, revision, and uncertainty.
More to Come
Semantics is currently very much a work in progress. There is a lot to be done before the first production-ready release.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file semantics_nlu-0.0.tar.gz
.
File metadata
- Download URL: semantics_nlu-0.0.tar.gz
- Upload date:
- Size: 111.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.22.0 requests-toolbelt/0.9.1 tqdm/4.56.2 CPython/3.8.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6d6979999248e974b438a2354421f2570d8a6a2b1a9317f6c770c45cebdb7e79 |
|
MD5 | 5a90baffeb617a88de6a3e12943d5e0e |
|
BLAKE2b-256 | 7084539f0dd87183614dc86d371c3af3de625ef57f4bac0b3808f369ea7815a0 |
File details
Details for the file semantics_nlu-0.0-py3-none-any.whl
.
File metadata
- Download URL: semantics_nlu-0.0-py3-none-any.whl
- Upload date:
- Size: 72.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.22.0 requests-toolbelt/0.9.1 tqdm/4.56.2 CPython/3.8.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | cd82a449829be55c817ea1845e02c4c2f1f5a50048fd866b99d30fe25d79ddcd |
|
MD5 | 1d521854f95315c8abf1fa81e771751d |
|
BLAKE2b-256 | 72cc6fda516c906eeabd5fd9fcbee10f17abd055bb9aa1e30d2395ea79b38117 |