Skip to main content

VHash: Vectorizing Hash Tables

If you have documents with class labels, and you want to create numeric representations of those documents that maximize inter-class differences, then this package is for you. This package provides vectorizing hash tables that quickly transform your text, optimizing for the maximum distance between document-class vectors.

This project has a C++ backend with a python interface, allowing for maximum speed and maximum interopability.

Installation

To install, use pip:

pip install vhash

Minimum Working Example

This package follows the conventions of scikit-learn to provide an intuitive and familiar interface.

from typing import Any

from nptyping import NDArray

from vhash import VHash


 # sample documents: each item in the list is its own document
 docs = [
     'hi, my name is Mike',
     'hi, my name is George',
     'hello, my name is Mike',
 ]

 # class labels for each document
 labels = [1, 0, 1]

 # create & train model
 vhash = VHash().fit(docs, labels)

 # create numeric representation (2D float array)
 numeric: NDArray[(Any, Any), float] = vhash.transform(docs)

Metrics

To see how this text transformer compares to BERT, check out the sample notebook, where we show how vhash outperforms sBERT on a sentiment analysis task.

Documentation

To get started, check out the docs!

If you will be contributing to this repo, checkout the developer guide.

Metadata

Release files for vhash 0.0.27

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

Source distribution (sdist)

Source distribution for vhash 0.0.27
File Size Uploaded
vhash-0.0.27.tar.gz 14.2 kB Details

Release files / vhash-0.0.27.tar.gz

Download URL vhash-0.0.27.tar.gz
Size 14.2 kB
Tags Source
SHA-256 checksum
How to use checksums
5c67fd99bd9e96cc8b164558649d6281dbe4ee41b3cd19b00d91ac000afa88fd
BLAKE2b-256 checksum
How to use checksums
0e4dfb436cd775d3a9920d21cb300c9b7fe168e9a6aca903268471ce7f97293c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.11.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.13

Release history Release notifications | RSS feed

This release

0.0.27 This release

1 release file

0.0.26

1 release file

0.0.25

1 release file

0.0.24

1 release file

0.0.23

1 release file

0.0.22

1 release file

0.0.21

1 release file

0.0.20

1 release file

0.0.19

1 release file

0.0.18

1 release file

0.0.17

1 release file

0.0.16

1 release file

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