dotoking commited on
Commit
3fd3638
·
verified ·
1 Parent(s): 2ec45a0

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +63 -53
README.md CHANGED
@@ -1,83 +1,93 @@
1
  ---
2
- title: Cultural Exposure Risk Model
3
- emoji: 🧭
4
  colorFrom: blue
5
- colorTo: green
6
  sdk: gradio
7
- sdk_version: 6.0.2
8
  app_file: app.py
9
- pinned: false
10
  ---
11
- # Cultural Exposure & Algorithmic Risk (CEAR) Baseline v1.0
12
 
13
- ## Model Description
14
 
15
- The **Cultural Exposure & Algorithmic Risk (CEAR) Model** is an **analytic, rule-based scoring system** designed to help users and researchers interpret social media usage in terms of its potential impact on cultural awareness and algorithmic vulnerability.
16
 
17
- This version is a V1 Baseline: it is **deterministic** (theory-driven by fixed rules and weights) and does not rely on supervised machine learning or proprietary user data.
 
 
18
 
19
- ### 🎯 Key Outputs
20
 
21
- 1. **Cultural Connectedness Score (C-Score):** Estimates exposure to viral and trending content, modeled with diminishing returns on time.
22
- 2. **Algorithmic Risk Score (A-Risk):** Quantifies vulnerability incurred from concentrated time on high-intensity, opaque algorithmic feeds.
23
- 3. **Platform Diversity Index (D-Index):** Measures the concentration/spread of usage across platforms (using $1/\text{HHI}$).
24
- 4. **Cultural Efficiency:** Per-platform estimates of C-Score gained per minute spent.
25
 
26
- ## ⚙️ Analytic Basis & Scoring Logic
27
-
28
- The model is defined by transparent assumptions encoded in the Python code (`cear_model.py`) and the platform weights (`platform_weights.json`).
29
-
30
- ### Core Formulas
31
-
32
- The key to the C-Score is the **Diminishing Returns Function** ($f_{DR}$), which prevents the C-Score from increasing linearly with time, acknowledging that the first hour is likely more valuable than the tenth.
33
-
34
- $$f_{DR}(\text{Min}) = \log_{10}(\text{Min} + 1)$$
35
-
36
- The final scores are calculated as:
37
 
38
- $$C_{Score} = \sum_{i} \left[ W_{C,i} \times f_{DR}(\text{Min}_i) \right]$$
39
 
40
- $$A_{Risk} = \sum_{i} \left[ W_{A,i} \times \text{Min}_i \right]$$
41
 
42
- *(Where $W_{C}$ is the Trend Density Weight and $W_{A}$ is the Algorithmic Risk Weight, defined in `platform_weights.json`.)*
 
 
 
 
 
 
 
43
 
44
- ## 🚀 Deployment & Usage (Hugging Face Space)
45
 
46
- This repository contains the core logic (`cear_model.py`) and the application interface (`app.py`) for a Hugging Face Space.
47
 
48
- ### Model Integration (The Engine)
49
 
50
- The core logic can be imported and run in any environment:
51
 
52
- ```python
53
- import pandas as pd
54
- from cear_model import CEARModel
55
 
56
- # Example Input Data
57
- user_data = pd.DataFrame([
58
- {'platform_name': 'TikTok', 'minutes_per_week': 450},
59
- {'platform_name': 'YouTube', 'minutes_per_week': 200},
60
- {'platform_name': 'Reddit', 'minutes_per_week': 50},
61
- ])
 
62
 
63
- model = CEARModel()
64
- results = model.calculate_scores(user_data)
65
- # {'C_Score': 3.75, 'A_Risk': 565.0, ...}
66
 
67
- # Application Interface (The App - app.py)
 
68
 
69
- The app.py script uses the Gradio library to create an interactive web interface. It handles:
70
 
71
- Collecting user input via a table component.
 
72
 
73
- Calling the CEARModel.calculate_scores() method.
74
 
75
- Generating a qualitative natural language summary based on the quadrant of the C-Score and A-Risk (e.g., "High C, Low A").
 
 
 
 
 
 
76
 
77
- ⚠️ Limitations and Ethical Considerations
78
 
79
- 1. Theoretical, Not Validated: The scores are based on fixed, theoretical assumptions about platform design. They are not calibrated against real-world user survey data or outcomes (e.g., actual cultural literacy, actual regret). Scores are relative estimates only.
80
 
81
- 2. No Content Analysis: The model only uses time and platform. It cannot distinguish between a productive hour watching educational content and an unproductive hour scrolling low-quality content.
82
 
83
- 3. Future Work: This deterministic model serves as a foundation. Future versions are intended to use the same input schema to train supervised machine learning models that directly predict outcomes (e.g., predicting user-reported "felt caught up" or "post-scroll regret").
 
 
 
 
 
 
 
 
 
 
1
  ---
2
+ title: CEAR – Cultural Exposure & Algorithmic Risk Analyzer
3
+ emoji: 📡
4
  colorFrom: blue
5
+ colorTo: purple
6
  sdk: gradio
7
+ sdk_version: 4.0.0
8
  app_file: app.py
9
+ license: mit
10
  ---
 
11
 
12
+ # CEAR – Cultural Exposure & Algorithmic Risk Analyzer
13
 
14
+ CEAR is an **analytic, rule-based model** and interactive Gradio app that helps you reason about your social media habits along three axes:
15
 
16
+ - **Cultural Connectedness (C-Score)** how much “trend exposure” your habits plausibly give you
17
+ - **Algorithmic Risk (A-Risk)** – how much raw attention you hand over to algorithmic feeds
18
+ - **Diversity Index (D-Index)** – how many platforms you meaningfully use, adjusted for concentration
19
 
20
+ This is **not** a predictive deep learning model. It is a transparent scoring scheme designed to surface patterns in how you allocate attention across platforms.
21
 
22
+ The live app runs here:
23
+ > `https://huggingface.co/spaces/<your-username>/CEAR`
 
 
24
 
25
+ ---
 
 
 
 
 
 
 
 
 
 
26
 
27
+ ## 👤 What the app does
28
 
29
+ Given your **weekly screen time per platform**, a **per-platform variety rating**, and two **global self-reports** (satisfaction and FOMO), CEAR:
30
 
31
+ 1. Builds a structured profile of your social media usage.
32
+ 2. Computes three core scores:
33
+ - **C-Score** – log-scaled, weight-adjusted trend exposure
34
+ - **A-Risk** – linear, weight-adjusted attention risk
35
+ - **D-Index** – inverse Herfindahl index over your time share
36
+ 3. Ranks platforms by **Cultural Efficiency** (0–100):
37
+ > “How much cultural exposure you get per minute” relative to your own most efficient platform.
38
+ 4. Generates a **plain-language interpretation** tying all of this back to your satisfaction and FOMO.
39
 
40
+ It does **not** claim to tell you what is “objectively healthy” or what you “must” do. It gives you a structured mirror to look at your own media diet.
41
 
42
+ ---
43
 
44
+ ## 🧮 Model description
45
 
46
+ ### Inputs
47
 
48
+ The app currently supports 7 platform buckets:
 
 
49
 
50
+ - TikTok
51
+ - Instagram
52
+ - YouTube
53
+ - Twitter / X
54
+ - Reddit
55
+ - Facebook
56
+ - Other (anything else you use)
57
 
58
+ For each platform, you provide:
 
 
59
 
60
+ - `minutes_per_week` (number)
61
+ - `variety_score` (slider, 0–10)
62
 
63
+ Global self-report sliders:
64
 
65
+ - `feed_satisfaction` (0–10) “How happy are you with your feed overall?��
66
+ - `fomo_level` (0–10) – “How out of the loop do you feel about online culture?”
67
 
68
+ ### Input rules and validation
69
 
70
+ - **Minutes must be 0.** Negative values are treated as 0.
71
+ - If `minutes_per_week == 0` for a platform:
72
+ - That platform is **excluded** from the model calculations.
73
+ - Its variety value is **ignored**.
74
+ - If you set `variety_score > 0` while `minutes_per_week == 0`:
75
+ - The app **ignores** that variety score.
76
+ - You get a ⚠️ **warning line** listing affected platforms in the summary.
77
 
78
+ This keeps the math honest: variety only matters where you actually spend time.
79
 
80
+ ### Internals how the scores are computed
81
 
82
+ Platform weights live in `platform_weights.json` and look like:
83
 
84
+ ```json
85
+ {
86
+ "tiktok": {"W_C": 0.95, "W_A": 0.90},
87
+ "instagram":{"W_C": 0.85, "W_A": 0.85},
88
+ "youtube": {"W_C": 0.70, "W_A": 0.75},
89
+ "twitter": {"W_C": 0.80, "W_A": 0.70},
90
+ "facebook": {"W_C": 0.50, "W_A": 0.60},
91
+ "reddit": {"W_C": 0.60, "W_A": 0.40},
92
+ "other": {"W_C": 0.10, "W_A": 0.20}
93
+ }