Skip to main content

Code style: black Imports: isort GitHub license PyPI

Table of Contents

extra-model

This project is archived. Version 1.0.0 is the final release. The repository is read-only and will receive no further updates, bug fixes or security patches.

1.0.0 requires Python 3.12 or 3.13 and pins the en_core_web_sm 3.8.0 spacy pipeline. Python 3.14 is not supported: gensim and spacy, both of which extra-model depends on, ship no wheels for it.

Code to run the Extra algorithm for the unsupervised topic/aspect extraction on English texts.

Read the Official Documentation here

Quick start

IMPORTANT:

  1. When running Extra inside docker-container, make sure that Docker process has enough resources. For example, on Mac/Windows it should have at least 8 Gb of RAM available to it. Read More about RAM Requirements
  2. GitHub repo does not come with Glove Embeddings. See section Downloading Embeddings for how to download the required embeddings.

Using docker compose

This is a preferred way to run extra-model. You can find instructions on how to run extra-model using CLI or as a Python package here

First, build the image:

docker compose build

Then, run following command to make sure that extra-model was installed correctly:

docker compose run test

Downloading Embeddings

Next step is to download the embeddings (we use Glove from Stanford in this project).

To download the required embeddings, run the following command:

docker compose run --rm setup

The embeddings will be downloaded, unzipped and formatted into a space-efficient format. Files will be saved in the embeddings/ directory in the root of the project directory. If the process fails, it can be safely restarted. If you want to restart the process with new files, delete all files except README.md in the embeddings/ directory.

[Optional] Run docker compose build again

After you've downloaded the embeddings, you may want to run docker compose build again. This will build an image with embeddings already present inside the image.

The tradeoff here is that the image will be much bigger, but you won't spend ~2 minutes each time you run extra-model waiting for embeddings to be mounted into the container. On the other hand, building an image with embeddings in the context will increase build time from ~3 minutes to ~10 minutes.

Run extra-model

Finally, running extra-model is as simple as:

docker compose run extra-model /package/tests/resources/100_comments.csv

NOTE: when using this approach, input file should be mounted inside the container. By default, everything from extra-model folder will be mounted to /package/ folder. This can be changed in docker-compose.yaml

This will produce a result.csv file in /io/ (default setting) folder.

There are multiple flags you can set to change input/outputs of extra. You can find them by running:

docker compose run extra-model --help

Learn more

Our official documentation is the best place to continue learning about extra-model:

  1. Explanation of inputs/outputs
  2. Step-by-step workflow of what happens inside of extra-model
  3. Examples of how extra-model can be used in downstream applications
  4. Detailed explanation of how to run extra-model using different interfaces (via docker compose, via CLI, as a Python package).

Authors

extra-model was written by mbalyasin@wayfair.com, mmozer@wayfair.com.

Download files

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

Source Distribution

extra_model-1.0.0.tar.gz (36.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

extra_model-1.0.0-py3-none-any.whl (29.0 kB view details)

Uploaded Python 3

File details

Details for the file extra_model-1.0.0.tar.gz.

File metadata

  • Download URL: extra_model-1.0.0.tar.gz
  • Upload date:
  • Size: 36.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for extra_model-1.0.0.tar.gz
Algorithm Hash digest
SHA256 d02ff67bba6a1245b24b19638c98e81b7dd7059b4a99917d8efb31452b78ec92
MD5 b768b637cb36f700c531bf8cf275a098
BLAKE2b-256 ba0b9f23b0b3048a82ed0bd784e9bfc5ef549aabedd5a664888893a6abcd6944

See more details on using hashes here.

File details

Details for the file extra_model-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: extra_model-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 29.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for extra_model-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d5b49c13871eb1383b7107a6dbe965def928f6b8360bdb581dac8b016730deea
MD5 1ec4da0ac59f844993b46da39fa8b4e1
BLAKE2b-256 b0933063795581a75135d5f974d74dd7cfecbff975e1496c413acb31ebec316c

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 files

0.4.0

2 files

0.3.0

2 files

0.2.1

2 files

0.2.0

2 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