kink-discovery / DATA_PLAN.md
Perplexed7675's picture
Sync from kink_cli (Docker Space)
6ff91d6 verified
|
Raw
History Blame Contribute Delete
2.97 kB
# Kink Data Plan
## Objectives
- Build a canonical kink catalog with aliases, definitions, and safety notes.
- Attach image or illustration assets only when source, license, and provenance are clear.
- Support three independent similarity systems:
- text similarity
- visual similarity
- behavioral similarity
## Source classes
### Definitions and safety
- National Coalition for Sexual Freedom
- TASHRA
- Other reusable educational sources with explicit license terms
### Taxonomy breadth and aliases
- BDSMchecklist
- KinkList and similar openly licensed checklist projects
- Manually curated normalization when source terms overlap or conflict
### Images and illustrations
- Wikimedia Commons
- Openverse
- Flickr Creative Commons
- Wellcome Collection
- Commissioned or generated illustrations for long-tail categories with poor reusable imagery
## Canonical tables
### `kinks`
- `id`
- `name`
- `cluster`
- `short_definition`
- `long_definition`
- `risk_level`
- `is_extreme`
- `notes`
### `aliases`
- `id`
- `kink_id`
- `alias`
- `source_id`
### `definitions`
- `id`
- `kink_id`
- `source_id`
- `text`
- `tone`
- `license`
- `source_url`
### `images`
- `id`
- `kink_id`
- `source_id`
- `asset_url`
- `thumbnail_url`
- `mime_type`
- `license`
- `creator`
- `attribution_text`
- `is_explicit`
- `is_illustration`
- `visual_tags`
### `sources`
- `id`
- `name`
- `source_type`
- `base_url`
- `license_model`
- `notes`
### `similarity_edges`
- `left_kink_id`
- `right_kink_id`
- `similarity_type`
- `score`
- `method`
- `version`
## Normalization workflow
1. Import raw candidate terms from checklist and educational sources.
2. Collapse aliases into canonical `kinks`.
3. Mark distinctions that must stay separate.
Examples:
- `feet interest` vs `foot worship` vs `footjob`
- `edging` vs `orgasm denial` vs `forced orgasm`
- `oral fixation` vs `messy oral` vs `spit play` vs `emetophilic play`
4. Attach source-backed definitions.
5. Attach only license-safe image candidates.
6. Compute text and visual embeddings.
7. Later, add behavioral co-like edges from app usage or other lawful source data.
## Similarity architecture
### Text
- Use `sentence-transformers` on names, aliases, definitions, examples, and safety notes.
### Visual
- Use OpenCLIP embeddings over illustrations and example images.
- Store per-image vectors and derive per-kink centroids plus diversity-aware exemplars.
### Behavioral
- Build co-occurrence edges from first-party ratings.
- Keep behavioral similarity separate from text and visual similarity so rare or taboo interests are not drowned out.
## Evaluation questions
- Does discovery surface close matches without collapsing distinct kinks together?
- Does the system expose rare or esoteric kinks early enough for the right users?
- Do visuals help disambiguate categories or create misleading shortcuts?
- Are overlap results useful for partners when interests are adjacent rather than identical?