Skip to main content

natural language processing primitives for Featuretools

Project description

NLP Primitives

Tests PyPI Version Anaconda Version StackOverflow PyPI Downloads


nlp_primitives is a Python library with Natural Language Processing Primitives, intended for use with Featuretools.

nlp_primitives allows you to make use of text data in your machine learning pipeline in the same pipeline as the rest of your data.

Installation

There are two options for installing nlp_primitives. Both of the options will also install Featuretools if it is not already installed.

The first option is to install a version of nlp_primitives that does not include Tensorflow. With this option, primitives that depend on Tensorflow cannot be used. Currently, the only primitive that can not be used with this install option is UniversalSentenceEncoder.

PyPi

nlp_primitives without Tensorflow can be installed with pip:

python -m pip install nlp_primitives

conda-forge

or from the conda-forge channel on conda:

conda install -c conda-forge nlp-primitives

The second option is to install the complete version of nlp_primitives, which will also install Tensorflow and allow use of all primitives.

To install the complete version of nlp_primitives with pip:

python -m pip install "nlp_primitives[complete]"

or from the conda-forge channel on conda:

conda install -c conda-forge nlp-primitives-complete

Demos

Calculating Features

With nlp_primitives primtives in featuretools, this is how to calculate the same feature.

from featuretools.nlp_primitives import PolarityScore

data = ["hello, this is a new featuretools library",
        "this will add new natural language primitives",
        "we hope you like it!"]

pol = PolarityScore()
pol(data)
0    0.365
1    0.385
2    1.000
dtype: float64

Combining Primitives

In featuretools, this is how to combine nlp_primitives primitives with built-in or other installed primitives.

import featuretools as ft
from featuretools.nlp_primitives import TitleWordCount
from featuretools.primitives import Mean

entityset = ft.demo.load_retail()
feature_matrix, features = ft.dfs(entityset=entityset, target_dataframe_name='products', agg_primitives=[Mean], trans_primitives=[TitleWordCount])

feature_matrix.head(5)
           MEAN(order_products.quantity)  MEAN(order_products.unit_price)  MEAN(order_products.total)  TITLE_WORD_COUNT(description)
product_id
10002                         16.795918                          1.402500                   23.556276                           3.0
10080                         13.857143                          0.679643                    8.989357                           3.0
10120                          6.620690                          0.346500                    2.294069                           2.0
10123C                         1.666667                          1.072500                    1.787500                           3.0
10124A                           3.2000                            0.6930                      2.2176                           5.0

Development

To install from source, clone this repo and run

make installdeps-test

This will install all pip dependencies.

Built at Alteryx

NLP Primitives is an open source project maintained by Alteryx. To see the other open source projects we’re working on visit Alteryx Open Source. If building impactful data science pipelines is important to you or your business, please get in touch.

Alteryx Open Source

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nlp_primitives-2.13.0.tar.gz (44.2 MB view details)

Uploaded Source

Built Distribution

nlp_primitives-2.13.0-py3-none-any.whl (44.7 MB view details)

Uploaded Python 3

File details

Details for the file nlp_primitives-2.13.0.tar.gz.

File metadata

  • Download URL: nlp_primitives-2.13.0.tar.gz
  • Upload date:
  • Size: 44.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.0.0 CPython/3.12.3

File hashes

Hashes for nlp_primitives-2.13.0.tar.gz
Algorithm Hash digest
SHA256 765fa22dc51f2dcf62b22d2b3d6b209133631dce910f1aee60491348cef8d3e8
MD5 cc570ea14b05f98cdc81a99e130c19f5
BLAKE2b-256 d06a7e24f97ae8cfd77291c9c312eb3b74c67cbbf4ba7e09d3a90ac5261cc818

See more details on using hashes here.

File details

Details for the file nlp_primitives-2.13.0-py3-none-any.whl.

File metadata

File hashes

Hashes for nlp_primitives-2.13.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f0df647f0de8a35307657938c619f8ac0c35203e7aa1e86b76da0a76d74485ec
MD5 07bdafb8a2fed24f634762fffc905f7d
BLAKE2b-256 5e7ff899d83a1a0a0c8a1ae760d01f85aae488ace45258288fb12acdfd253495

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page