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.2.0.tar.gz (52.9 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.2.0-py3-none-any.whl (45.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: reveal_nlp-0.2.0.tar.gz
  • Upload date:
  • Size: 52.9 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.2.0.tar.gz
Algorithm Hash digest
SHA256 dd81ab9044554a7e7e5bdbaca93744e0dbf19a275b50d173ae8ca4b437cc56d2
MD5 c089a810008728cb6308558fba4f8f1b
BLAKE2b-256 55960595c3f425421cd9e32f3453edc49b4ef66a3a1be1f9ad7a84a0e462ccb5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: reveal_nlp-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 45.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.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 55b659fcd524d7e10e48ea8b974c55c08f85711f2bb435f2801b2e5ce6250277
MD5 7da8f39290554183941d626fcb7c013e
BLAKE2b-256 919a33b747e4dfb577d17536c4629a3d87dcfc65a4bf90c5685c68a56ff19794

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