Skip to main content

A library for stance detection and target extraction in text data.

Project description

Stance Target Mining

A tool for mining stance targets from a corpus of documents.

Installation

pip install stancemining

Documentation

Documentation is available at stancemining.readthedocs.io

Usage

To get stance targets and stance from a corpus of documents

import stancemining

model = stancemining.StanceMining()

document_df = model.fit_transform(docs)
target_info_df = model.get_target_info()

To get stance target, stance, and stance trends from a corpus of documents

import stancemining

model = stancemining.StanceMining()
document_df = model.fit_transform(docs)
trend_df = stancemining.get_trends_for_all_targets(document_df)

StanceMining App

This library comes with a web app to explore the results of the output.

Here is a video demo of the app: StanceMining App Demo

To deploy stancemining app

The should be either an absolute path, or a path relative to the app directory where the compose.yaml file is located. It should contain a doc_stance directory with the output of the fit_transform method saved as .parquet.zstd files, and a target_trends directory with the outputs from the infer_stance_trends_for_all_targets or infer_stance_trends_for_target method saved as .parquet.zstd files. There can be multiple files in each directory, and the app will automatically load all of them and concatenate them.

If you need authentication for the app, you can set the environment variable STANCE_AUTH_URL_PATH to the URL of your authentication service (e.g., myauth.com/login). That path must accept a POST request with a JSON body containing username and password fields, and return a JSON response with a token field. If you do not need authentication, you can leave the environment variable unset.

export STANCE_DATA_PATH=<your-data-path>
export STANCE_AUTH_URL_PATH=<your-auth-url/login>
docker compose -f ./app/compose.yaml up

To reproduce experimental results

Rename ./config/config_default.yaml to ./config/config.yaml and set the parameters in the file. Run:

python ./experiments/scripts/main.py

You may need to setup a WanDB project. Run

python ./experiments/scripts/get_results.py

To have the metrics written to a latex table saved as a tex file.

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

stancemining-0.2.0.tar.gz (45.3 MB view details)

Uploaded Source

Built Distribution

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

stancemining-0.2.0-py3-none-any.whl (56.9 kB view details)

Uploaded Python 3

File details

Details for the file stancemining-0.2.0.tar.gz.

File metadata

  • Download URL: stancemining-0.2.0.tar.gz
  • Upload date:
  • Size: 45.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.7.14

File hashes

Hashes for stancemining-0.2.0.tar.gz
Algorithm Hash digest
SHA256 cbb543661636f1c81a626e0a2c5f35013c446e5e9ffe99b5b91f5c8f3128c4c0
MD5 b4c58511d493887f0f3448e9d098c1f4
BLAKE2b-256 2cadc286e52897beff33bd5fddc1558aa6bb013d457b69243317c4bc7ff9ab23

See more details on using hashes here.

File details

Details for the file stancemining-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for stancemining-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 62d1f52986101ee9cf6474ad566590a8b2a3d571837932abdcf43d96753b0b86
MD5 285b11de1b3689ad8a5b9b704090fa53
BLAKE2b-256 286f4a1a4697dc59587f5638ac0a30238a78975af4833c140ce835ad220e8880

See more details on using hashes here.

Supported by

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