Skip to main content

Open-source Python library for intelligent harm detection and linguistic analysis in text

Project description

Reveal

An open-source Python library for intelligent harm detection and linguistic analysis in text.

Reveal combines Natural Language Processing, linguistic analysis, and cryptanalysis to identify harmful, coded, or anomalous language in text — helping researchers, platform moderators, and public safety professionals surface signals that standard tools miss.

What Reveal Detects

  • Propaganda and persuasion techniques (22 categories)
  • Grooming and predatory language
  • Self-harm coded language
  • Help signals from victims of abuse or bullying
  • Geographic location indicators
  • Emotional distress and sentiment
  • Manipulative and accusatory tone
  • Passive voice and agency obscuring
  • Point of view shifts
  • Shannon entropy anomalies
  • Unusual n-gram sequences
  • Statistically anomalous words

Installation

pip install reveal-nlp

Quick Start

from reveal.reasoning.reporter import analyze

text = "I feel so alone and trapped. Please someone help me."
result = analyze(text, fmt='text')
print(result)

Output formats

# Dictionary output for programmatic use
result = analyze(text)

# Formatted text report for human reading
result = analyze(text, fmt='text')

Project Structure

reveal/
├── harm/           # Harm detection, sentiment, reporting
├── linguistic/     # Voice, tone, POV analysis
├── cryptanalysis/  # Entropy, n-grams, anomaly detection
├── reasoning/      # Unified scoring and reporting
└── dictionaries/   # Word lists (JSON, community editable)

Contributing

Reveal is open source and actively seeking contributors — especially for expanding and validating the word lists in the dictionaries/ folder. No coding required to contribute word lists.

See docs/contributing.md for guidelines.

License

MIT License. See LICENSE for details.

Disclaimer

Reveal is a research and analysis tool. Word lists require ongoing community validation. Results should be interpreted by qualified professionals in appropriate contexts.

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

reveal_nlp-0.3.0.tar.gz (56.2 kB view details)

Uploaded Source

Built Distribution

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

reveal_nlp-0.3.0-py3-none-any.whl (48.6 kB view details)

Uploaded Python 3

File details

Details for the file reveal_nlp-0.3.0.tar.gz.

File metadata

  • Download URL: reveal_nlp-0.3.0.tar.gz
  • Upload date:
  • Size: 56.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.13

File hashes

Hashes for reveal_nlp-0.3.0.tar.gz
Algorithm Hash digest
SHA256 ec658021bbb18d57955db267dcaa08b930c65192fb9ec86bfeaa9c49fbc1f5b3
MD5 a7cd54debb7c4993321107cc349e2e5a
BLAKE2b-256 946e1cbeb76ed6918cfac271c1f15bb180d70b738e8ad2d64eca5a5b2b0e2ac7

See more details on using hashes here.

File details

Details for the file reveal_nlp-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: reveal_nlp-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 48.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.13

File hashes

Hashes for reveal_nlp-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 137cb88381430db68e37602339894b3388c07eb4a69b0914a5d38750e152fa2d
MD5 4952d0a8efb0e19f1310cc0664b47710
BLAKE2b-256 487376703ff5f03686d248f8549cb9c9070fd555626d49b14227c68f2df81492

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