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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ec658021bbb18d57955db267dcaa08b930c65192fb9ec86bfeaa9c49fbc1f5b3
|
|
| MD5 |
a7cd54debb7c4993321107cc349e2e5a
|
|
| BLAKE2b-256 |
946e1cbeb76ed6918cfac271c1f15bb180d70b738e8ad2d64eca5a5b2b0e2ac7
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
137cb88381430db68e37602339894b3388c07eb4a69b0914a5d38750e152fa2d
|
|
| MD5 |
4952d0a8efb0e19f1310cc0664b47710
|
|
| BLAKE2b-256 |
487376703ff5f03686d248f8549cb9c9070fd555626d49b14227c68f2df81492
|