help@rskworld.in +91 93305 39277
RSK World
  • Home
  • Development
    • Web Development
    • Mobile Apps
    • Software
    • Games
    • Project
  • Technologies
    • Data Science
    • AI Development
    • Cloud Development
    • Blockchain
    • Cyber Security
    • Dev Tools
    • Testing Tools
  • About
  • Contact

Theme Settings

Color Scheme
Display Options
Font Size
100%
Back to Project
RSK World
sentiment-analysis
/
preprocessed
RSK World
sentiment-analysis
Sentiment Analysis Dataset - NLP + Text Classification + Machine Learning
preprocessed
  • cleaned_data.csv7.2 KB
  • tokenized_data.json15.4 KB
tokenized_data.json.gitkeepstyles.csscleaned_data.csv
preprocessed/tokenized_data.json
Raw Download
Find: Go to:
{
    "_metadata": {
        "project": "Sentiment Analysis Dataset",
        "description": "Tokenized text data ready for NLP model input.",
        "category": "Text Data",
        "difficulty": "Intermediate",
        "author": "Molla Samser (Founder)",
        "designer_tester": "Rima Khatun",
        "website": "https://rskworld.in",
        "email": "help@rskworld.in | support@rskworld.in",
        "phone": "+91 93305 39277",
        "copyright": "© 2026 RSK World - Free Programming Resources & Source Code",
        "preprocessing": {
            "lowercase": true,
            "remove_punctuation": true,
            "remove_stopwords": false,
            "tokenization": "word_tokenize"
        }
    },
    "data": [
        {
            "id": 1,
            "tokens": ["absolutely", "love", "this", "product", "it", "exceeded", "all", "my", "expectations", "and", "the", "quality", "is", "outstanding", "will", "definitely", "recommend", "to", "friends", "and", "family"],
            "sentiment": "positive",
            "label": 2
        },
        {
            "id": 2,
            "tokens": ["the", "service", "was", "okay", "nothing", "special", "delivery", "was", "on", "time", "but", "the", "packaging", "could", "have", "been", "better", "average", "experience", "overall"],
            "sentiment": "neutral",
            "label": 1
        },
        {
            "id": 3,
            "tokens": ["terrible", "experience", "the", "product", "arrived", "damaged", "and", "customer", "support", "was", "unhelpful", "complete", "waste", "of", "money", "never", "ordering", "again"],
            "sentiment": "negative",
            "label": 0
        },
        {
            "id": 4,
            "tokens": ["this", "is", "the", "best", "purchase", "i", "have", "made", "this", "year", "the", "features", "are", "amazing", "and", "it", "works", "exactly", "as", "advertised", "highly", "satisfied", "customer", "here"],
            "sentiment": "positive",
            "label": 2
        },
        {
            "id": 5,
            "tokens": ["received", "the", "package", "today", "it", "looks", "decent", "but", "have", "not", "tried", "it", "yet", "will", "update", "after", "a", "week", "of", "use"],
            "sentiment": "neutral",
            "label": 1
        },
        {
            "id": 6,
            "tokens": ["so", "disappointed", "with", "this", "purchase", "the", "description", "was", "misleading", "and", "the", "actual", "product", "is", "nothing", "like", "what", "was", "shown", "in", "the", "pictures"],
            "sentiment": "negative",
            "label": 0
        },
        {
            "id": 7,
            "tokens": ["great", "value", "for", "money", "the", "build", "quality", "is", "solid", "and", "it", "performs", "really", "well", "shipping", "was", "fast", "too", "very", "happy", "with", "this", "purchase"],
            "sentiment": "positive",
            "label": 2
        },
        {
            "id": 8,
            "tokens": ["just", "unboxed", "my", "order", "standard", "quality", "meets", "basic", "requirements", "not", "exceptional", "but", "does", "the", "job", "fair", "price", "for", "what", "you", "get"],
            "sentiment": "neutral",
            "label": 1
        },
        {
            "id": 9,
            "tokens": ["worst", "customer", "service", "i", "have", "ever", "experienced", "three", "weeks", "and", "my", "issue", "is", "still", "not", "resolved", "absolutely", "frustrating", "and", "unprofessional"],
            "sentiment": "negative",
            "label": 0
        },
        {
            "id": 10,
            "tokens": ["five", "stars", "this", "product", "changed", "my", "daily", "routine", "for", "the", "better", "excellent", "quality", "beautiful", "design", "and", "amazing", "functionality"],
            "sentiment": "positive",
            "label": 2
        },
        {
            "id": 11,
            "tokens": ["the", "product", "works", "as", "expected", "nothing", "extraordinary", "but", "nothing", "to", "complain", "about", "either", "average", "performance", "for", "the", "price", "point"],
            "sentiment": "neutral",
            "label": 1
        },
        {
            "id": 12,
            "tokens": ["completely", "broken", "on", "arrival", "requested", "a", "refund", "but", "still", "waiting", "after", "two", "weeks", "this", "company", "has", "lost", "a", "customer", "forever"],
            "sentiment": "negative",
            "label": 0
        },
        {
            "id": 13,
            "tokens": ["impressed", "beyond", "words", "the", "attention", "to", "detail", "is", "remarkable", "best", "investment", "i", "have", "made", "in", "a", "long", "time", "truly", "exceptional", "product"],
            "sentiment": "positive",
            "label": 2
        },
        {
            "id": 14,
            "tokens": ["received", "my", "order", "yesterday", "first", "impressions", "are", "neither", "good", "nor", "bad", "will", "need", "more", "time", "to", "form", "a", "complete", "opinion"],
            "sentiment": "neutral",
            "label": 1
        },
        {
            "id": 15,
            "tokens": ["do", "not", "waste", "your", "money", "on", "this", "garbage", "poor", "quality", "materials", "horrible", "design", "and", "falls", "apart", "after", "first", "use", "total", "scam"],
            "sentiment": "negative",
            "label": 0
        },
        {
            "id": 16,
            "tokens": ["amazing", "quality", "and", "fast", "delivery", "the", "product", "looks", "even", "better", "in", "person", "than", "in", "the", "photos", "exceeded", "my", "expectations"],
            "sentiment": "positive",
            "label": 2
        },
        {
            "id": 17,
            "tokens": ["it", "is", "an", "average", "product", "does", "what", "it", "is", "supposed", "to", "do", "but", "nothing", "more", "no", "complaints", "but", "no", "praises", "either"],
            "sentiment": "neutral",
            "label": 1
        },
        {
            "id": 18,
            "tokens": ["horrible", "experience", "from", "start", "to", "finish", "the", "product", "is", "a", "complete", "failure", "and", "the", "company", "refuses", "to", "acknowledge", "issues"],
            "sentiment": "negative",
            "label": 0
        },
        {
            "id": 19,
            "tokens": ["best", "thing", "i", "have", "bought", "online", "super", "impressed", "with", "the", "quality", "already", "ordered", "two", "more", "for", "gifts", "highly", "recommend"],
            "sentiment": "positive",
            "label": 2
        },
        {
            "id": 20,
            "tokens": ["package", "arrived", "in", "good", "condition", "the", "item", "seems", "okay", "will", "test", "it", "more", "before", "giving", "a", "final", "verdict"],
            "sentiment": "neutral",
            "label": 1
        },
        {
            "id": 21,
            "tokens": ["avoid", "this", "product", "at", "all", "costs", "it", "stopped", "working", "after", "just", "one", "week", "customer", "support", "is", "non", "existent"],
            "sentiment": "negative",
            "label": 0
        },
        {
            "id": 22,
            "tokens": ["wow", "just", "wow", "this", "exceeded", "every", "expectation", "i", "had", "worth", "every", "penny", "and", "more", "thank", "you", "for", "this", "amazing", "product"],
            "sentiment": "positive",
            "label": 2
        },
        {
            "id": 23,
            "tokens": ["standard", "shipping", "standard", "product", "standard", "everything", "nothing", "stood", "out", "positively", "or", "negatively", "about", "this", "purchase"],
            "sentiment": "neutral",
            "label": 1
        },
        {
            "id": 24,
            "tokens": ["extremely", "disappointed", "false", "advertising", "and", "poor", "quality", "demanded", "refund", "but", "got", "no", "response", "stay", "away"],
            "sentiment": "negative",
            "label": 0
        },
        {
            "id": 25,
            "tokens": ["i", "can", "not", "believe", "how", "good", "this", "is", "my", "whole", "family", "loves", "it", "best", "decision", "we", "made", "this", "month"],
            "sentiment": "positive",
            "label": 2
        },
        {
            "id": 26,
            "tokens": ["the", "product", "arrived", "on", "time", "packaging", "was", "adequate", "performance", "is", "exactly", "as", "described", "nothing", "more", "nothing", "less"],
            "sentiment": "neutral",
            "label": 1
        },
        {
            "id": 27,
            "tokens": ["total", "rip", "off", "the", "quality", "is", "nowhere", "near", "what", "was", "promised", "feeling", "completely", "cheated", "by", "this", "purchase"],
            "sentiment": "negative",
            "label": 0
        },
        {
            "id": 28,
            "tokens": ["outstanding", "this", "has", "become", "an", "essential", "part", "of", "my", "daily", "life", "can", "not", "imagine", "going", "back", "to", "what", "i", "used", "before"],
            "sentiment": "positive",
            "label": 2
        },
        {
            "id": 29,
            "tokens": ["it", "works", "that", "is", "about", "all", "i", "can", "say", "not", "impressed", "but", "not", "disappointed", "either", "just", "a", "regular", "product"],
            "sentiment": "neutral",
            "label": 1
        },
        {
            "id": 30,
            "tokens": ["save", "your", "money", "and", "buy", "something", "else", "this", "product", "is", "a", "joke", "worst", "purchase", "i", "have", "ever", "made", "online"],
            "sentiment": "negative",
            "label": 0
        },
        {
            "id": 31,
            "tokens": ["life", "changing", "product", "i", "have", "already", "recommended", "it", "to", "all", "my", "friends", "and", "colleagues", "simply", "the", "best", "out", "there"],
            "sentiment": "positive",
            "label": 2
        },
        {
            "id": 32,
            "tokens": ["decent", "quality", "for", "the", "price", "does", "the", "basic", "functions", "well", "might", "consider", "buying", "again", "in", "the", "future"],
            "sentiment": "neutral",
            "label": 1
        },
        {
            "id": 33,
            "tokens": ["absolutely", "terrible", "broke", "within", "days", "of", "purchase", "no", "warranty", "support", "complete", "waste", "of", "time", "and", "money"],
            "sentiment": "negative",
            "label": 0
        },
        {
            "id": 34,
            "tokens": ["perfect", "in", "every", "way", "from", "ordering", "to", "delivery", "to", "the", "product", "itself", "everything", "was", "flawless", "ten", "out", "of", "ten"],
            "sentiment": "positive",
            "label": 2
        },
        {
            "id": 35,
            "tokens": ["mixed", "feelings", "about", "this", "purchase", "some", "features", "are", "good", "others", "not", "so", "much", "overall", "it", "is", "just", "okay"],
            "sentiment": "neutral",
            "label": 1
        },
        {
            "id": 36,
            "tokens": ["regret", "buying", "this", "the", "reviews", "were", "misleading", "and", "the", "product", "quality", "is", "subpar", "very", "disappointed"],
            "sentiment": "negative",
            "label": 0
        },
        {
            "id": 37,
            "tokens": ["exceeded", "expectations", "the", "quality", "is", "superb", "and", "the", "price", "was", "very", "reasonable", "already", "planning", "my", "next", "purchase"],
            "sentiment": "positive",
            "label": 2
        },
        {
            "id": 38,
            "tokens": ["nothing", "special", "about", "this", "product", "it", "is", "functional", "but", "unremarkable", "average", "across", "all", "aspects"],
            "sentiment": "neutral",
            "label": 1
        },
        {
            "id": 39,
            "tokens": ["complete", "disaster", "product", "arrived", "late", "damaged", "and", "different", "from", "description", "absolute", "nightmare", "experience"],
            "sentiment": "negative",
            "label": 0
        },
        {
            "id": 40,
            "tokens": ["fantastic", "product", "my", "friends", "were", "so", "impressed", "they", "all", "ordered", "one", "too", "could", "not", "be", "happier", "with", "this", "purchase"],
            "sentiment": "positive",
            "label": 2
        },
        {
            "id": 41,
            "tokens": ["adequate", "for", "basic", "needs", "will", "not", "wow", "you", "but", "will", "not", "let", "you", "down", "either", "fair", "deal", "for", "the", "money"],
            "sentiment": "neutral",
            "label": 1
        },
        {
            "id": 42,
            "tokens": ["horrible", "quality", "control", "every", "unit", "i", "received", "had", "defects", "finally", "gave", "up", "and", "demanded", "a", "full", "refund"],
            "sentiment": "negative",
            "label": 0
        },
        {
            "id": 43,
            "tokens": ["this", "is", "everything", "i", "hoped", "for", "and", "more", "beautifully", "designed", "perfectly", "functional", "absolutely", "love", "it"],
            "sentiment": "positive",
            "label": 2
        },
        {
            "id": 44,
            "tokens": ["product", "is", "okay", "nothing", "wrong", "with", "it", "per", "se", "just", "does", "not", "stand", "out", "from", "the", "competition", "in", "any", "way"],
            "sentiment": "neutral",
            "label": 1
        },
        {
            "id": 45,
            "tokens": ["never", "again", "this", "company", "has", "lost", "all", "credibility", "with", "me", "product", "failed", "support", "failed", "everything", "failed"],
            "sentiment": "negative",
            "label": 0
        },
        {
            "id": 46,
            "tokens": ["brilliant", "such", "attention", "to", "detail", "and", "quality", "craftsmanship", "a", "true", "gem", "among", "similar", "products"],
            "sentiment": "positive",
            "label": 2
        },
        {
            "id": 47,
            "tokens": ["got", "what", "i", "paid", "for", "no", "surprises", "good", "or", "bad", "standard", "experience", "with", "a", "standard", "product"],
            "sentiment": "neutral",
            "label": 1
        },
        {
            "id": 48,
            "tokens": ["disappointed", "beyond", "words", "such", "high", "hopes", "based", "on", "the", "marketing", "but", "reality", "was", "very", "different"],
            "sentiment": "negative",
            "label": 0
        },
        {
            "id": 49,
            "tokens": ["simply", "phenomenal", "this", "has", "improved", "my", "life", "in", "ways", "i", "did", "not", "expect", "worth", "every", "single", "penny"],
            "sentiment": "positive",
            "label": 2
        },
        {
            "id": 50,
            "tokens": ["middle", "of", "the", "road", "product", "neither", "excited", "nor", "upset", "about", "this", "purchase", "it", "serves", "its", "purpose"],
            "sentiment": "neutral",
            "label": 1
        }
    ],
    "label_mapping": {
        "0": "negative",
        "1": "neutral",
        "2": "positive"
    }
}

329 lines•15.4 KB
json
css/styles.css
Raw Download
Find: Go to:
/*
================================================================================
 * Sentiment Analysis Dataset - Styles
 * 
 * Project: Sentiment Analysis Dataset
 * Description: Text sentiment analysis dataset with labeled reviews, comments,
 *              and social media posts for sentiment classification models.
 * Category: Text Data
 * Difficulty: Intermediate
 * 
 * Author: Molla Samser (Founder)
 * Designer & Tester: Rima Khatun
 * Website: https://rskworld.in
 * Email: help@rskworld.in | support@rskworld.in
 * Phone: +91 93305 39277
 * 
 * © 2026 RSK World - Free Programming Resources & Source Code
 * All rights reserved.
================================================================================
*/

/* ============================================
   CSS Variables & Root
   ============================================ */
:root {
    /* Primary Colors - Crimson/Ruby Theme */
    --primary: #dc3545;
    --primary-dark: #a71d2a;
    --primary-light: #f8d7da;
    --primary-rgb: 220, 53, 69;
    
    /* Secondary Colors */
    --secondary: #6c757d;
    --secondary-dark: #495057;
    
    /* Semantic Colors */
    --positive: #28a745;
    --positive-light: #d4edda;
    --neutral: #ffc107;
    --neutral-light: #fff3cd;
    --negative: #dc3545;
    --negative-light: #f8d7da;
    
    /* Background Colors */
    --bg-primary: #0d0d0d;
    --bg-secondary: #1a1a1a;
    --bg-tertiary: #242424;
    --bg-card: #1e1e1e;
    --bg-gradient: linear-gradient(135deg, #1a0a0a 0%, #0d0d0d 50%, #0a0a1a 100%);
    
    /* Text Colors */
    --text-primary: #ffffff;
    --text-secondary: #b3b3b3;
    --text-muted: #6c757d;
    
    /* Border & Shadow */
    --border-color: rgba(220, 53, 69, 0.2);
    --border-radius: 12px;
    --border-radius-lg: 24px;
    --shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
    --shadow-glow: 0 0 30px rgba(220, 53, 69, 0.3);
    
    /* Typography */
    --font-primary: 'DM Sans', sans-serif;
    --font-heading: 'Crimson Pro', serif;
    
    /* Transitions */
    --transition: all 0.3s ease;
    --transition-slow: all 0.5s ease;
}

/* ============================================
   Reset & Base Styles
   ============================================ */
*, *::before, *::after {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: var(--font-primary);
    background: var(--bg-primary);
    color: var(--text-primary);
    line-height: 1.6;
    overflow-x: hidden;
}

a {
    text-decoration: none;
    color: inherit;
    transition: var(--transition);
}

ul {
    list-style: none;
}

img {
    max-width: 100%;
    height: auto;
}

/* ============================================
   Animated Background
   ============================================ */
.bg-animation {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    background: var(--bg-gradient);
    overflow: hidden;
}

.floating-shapes span {
    position: absolute;
    display: block;
    width: 20px;
    height: 20px;
    background: rgba(220, 53, 69, 0.1);
    animation: float 25s linear infinite;
    border-radius: 50%;
}

.floating-shapes span:nth-child(1) { left: 10%; width: 80px; height: 80px; animation-delay: 0s; }
.floating-shapes span:nth-child(2) { left: 20%; width: 20px; height: 20px; animation-delay: 2s; animation-duration: 12s; }
.floating-shapes span:nth-child(3) { left: 30%; width: 60px; height: 60px; animation-delay: 4s; }
.floating-shapes span:nth-child(4) { left: 40%; width: 40px; height: 40px; animation-delay: 0s; animation-duration: 18s; }
.floating-shapes span:nth-child(5) { left: 50%; width: 30px; height: 30px; animation-delay: 0s; }
.floating-shapes span:nth-child(6) { left: 60%; width: 100px; height: 100px; animation-delay: 3s; }
.floating-shapes span:nth-child(7) { left: 70%; width: 50px; height: 50px; animation-delay: 7s; }
.floating-shapes span:nth-child(8) { left: 80%; width: 25px; height: 25px; animation-delay: 15s; animation-duration: 45s; }
.floating-shapes span:nth-child(9) { left: 85%; width: 15px; height: 15px; animation-delay: 2s; animation-duration: 35s; }
.floating-shapes span:nth-child(10) { left: 90%; width: 90px; height: 90px; animation-delay: 0s; animation-duration: 11s; }

@keyframes float {
    0% {
        transform: translateY(100vh) rotate(0deg);
        opacity: 0;
    }
    10% {
        opacity: 0.1;
    }
    90% {
        opacity: 0.1;
    }
    100% {
        transform: translateY(-100vh) rotate(720deg);
        opacity: 0;
    }
}

/* ============================================
   Container
   ============================================ */
.container {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

/* ============================================
   Header & Navigation
   ============================================ */
.header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
    background: rgba(13, 13, 13, 0.95);
    backdrop-filter: blur(10px);
    border-bottom: 1px solid var(--border-color);
    transition: var(--transition);
}

.navbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 15px 0;
}

.logo {
    display: flex;
    align-items: center;
    gap: 10px;
    font-family: var(--font-heading);
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--text-primary);
}

.logo i {
    color: var(--primary);
    font-size: 1.8rem;
}

.nav-links {
    display: flex;
    align-items: center;
    gap: 25px;
}

.nav-link {
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 500;
    color: var(--text-secondary);
}

.nav-link:hover {
    color: var(--primary);
}

.btn-download {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 20px;
    background: var(--primary);
    color: white;
    border-radius: var(--border-radius);
    font-weight: 600;
    transition: var(--transition);
}

.btn-download:hover {
    background: var(--primary-dark);
    transform: translateY(-2px);
    box-shadow: var(--shadow-glow);
}

.mobile-menu-btn {
    display: none;
    background: none;
    border: none;
    color: var(--text-primary);
    font-size: 1.5rem;
    cursor: pointer;
}

/* ============================================
   Buttons
   ============================================ */
.btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 14px 28px;
    border-radius: var(--border-radius);
    font-weight: 600;
    font-size: 1rem;
    cursor: pointer;
    border: none;
    transition: var(--transition);
}

.btn-primary {
    background: var(--primary);
    color: white;
}

.btn-primary:hover {
    background: var(--primary-dark);
    transform: translateY(-2px);
    box-shadow: var(--shadow-glow);
}

.btn-secondary {
    background: transparent;
    color: var(--text-primary);
    border: 2px solid var(--border-color);
}

.btn-secondary:hover {
    border-color: var(--primary);
    color: var(--primary);
}

.btn-large {
    padding: 18px 36px;
    font-size: 1.1rem;
}

/* ============================================
   Hero Section
   ============================================ */
.hero {
    min-height: 100vh;
    display: flex;
    align-items: center;
    padding-top: 100px;
    padding-bottom: 60px;
}

.hero .container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: center;
}

.hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 8px 16px;
    background: rgba(220, 53, 69, 0.1);
    border: 1px solid var(--border-color);
    border-radius: 50px;
    font-size: 0.9rem;
    color: var(--primary);
    margin-bottom: 20px;
}

.hero-badge i {
    font-size: 1.1rem;
}

.hero-title {
    font-family: var(--font-heading);
    font-size: 3.5rem;
    font-weight: 700;
    line-height: 1.2;
    margin-bottom: 20px;
}

.gradient-text {
    background: linear-gradient(135deg, var(--primary) 0%, #ff6b7a 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.hero-description {
    font-size: 1.1rem;
    color: var(--text-secondary);
    margin-bottom: 30px;
    max-width: 500px;
}

.hero-stats {
    display: flex;
    gap: 30px;
    margin-bottom: 40px;
}

.stat-item {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 5px;
}

.stat-item i {
    color: var(--primary);
    font-size: 1.2rem;
    margin-bottom: 5px;
}

.stat-value {
    font-size: 1.8rem;
    font-weight: 700;
    font-family: var(--font-heading);
}

.stat-label {
    font-size: 0.85rem;
    color: var(--text-muted);
}

.hero-actions {
    display: flex;
    gap: 15px;
    flex-wrap: wrap;
}

/* Hero Visual */
.hero-visual {
    display: flex;
    justify-content: center;
    align-items: center;
}

.sentiment-showcase {
    display: flex;
    flex-direction: column;
    gap: 20px;
    width: 100%;
    max-width: 350px;
}

.sentiment-card {
    display: flex;
    align-items: center;
    gap: 20px;
    padding: 25px;
    background: var(--bg-card);
    border-radius: var(--border-radius-lg);
    border: 1px solid var(--border-color);
    transition: var(--transition);
    animation: slideIn 0.6s ease forwards;
    opacity: 0;
}

.sentiment-card:nth-child(1) { animation-delay: 0.2s; }
.sentiment-card:nth-child(2) { animation-delay: 0.4s; }
.sentiment-card:nth-child(3) { animation-delay: 0.6s; }

@keyframes slideIn {
    from {
        opacity: 0;
        transform: translateX(50px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

.sentiment-card:hover {
    transform: translateX(-10px);
    border-color: transparent;
}

.sentiment-card.positive:hover {
    box-shadow: 0 0 30px rgba(40, 167, 69, 0.3);
}

.sentiment-card.neutral:hover {
    box-shadow: 0 0 30px rgba(255, 193, 7, 0.3);
}

.sentiment-card.negative:hover {
    box-shadow: 0 0 30px rgba(220, 53, 69, 0.3);
}

.sentiment-icon {
    width: 60px;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    font-size: 1.8rem;
}

.positive .sentiment-icon {
    background: var(--positive-light);
    color: var(--positive);
}

.neutral .sentiment-icon {
    background: var(--neutral-light);
    color: #856404;
}

.negative .sentiment-icon {
    background: var(--negative-light);
    color: var(--negative);
}

.sentiment-info {
    display: flex;
    flex-direction: column;
}

.sentiment-label {
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--text-primary);
}

.sentiment-count {
    font-size: 1.5rem;
    font-weight: 700;
    font-family: var(--font-heading);
    color: var(--text-secondary);
}

/* ============================================
   Section Styles
   ============================================ */
section {
    padding: 100px 0;
}

.section-header {
    text-align: center;
    margin-bottom: 60px;
}

.section-badge {
    display: inline-block;
    padding: 6px 16px;
    background: rgba(220, 53, 69, 0.1);
    border: 1px solid var(--border-color);
    border-radius: 50px;
    font-size: 0.85rem;
    color: var(--primary);
    font-weight: 600;
    margin-bottom: 15px;
}

.section-title {
    font-family: var(--font-heading);
    font-size: 2.5rem;
    font-weight: 700;
    margin-bottom: 15px;
}

.section-description {
    font-size: 1.1rem;
    color: var(--text-secondary);
    max-width: 600px;
    margin: 0 auto;
}

/* ============================================
   Features Section
   ============================================ */
.features-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

.feature-card {
    padding: 35px;
    background: var(--bg-card);
    border-radius: var(--border-radius-lg);
    border: 1px solid var(--border-color);
    transition: var(--transition);
}

.feature-card:hover {
    transform: translateY(-5px);
    border-color: var(--primary);
    box-shadow: var(--shadow-glow);
}

.feature-icon {
    width: 70px;
    height: 70px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(220, 53, 69, 0.1);
    border-radius: 50%;
    margin-bottom: 20px;
    font-size: 1.8rem;
    color: var(--primary);
}

.feature-card h3 {
    font-family: var(--font-heading);
    font-size: 1.3rem;
    margin-bottom: 12px;
}

.feature-card p {
    color: var(--text-secondary);
    font-size: 0.95rem;
}

/* ============================================
   Explorer Section
   ============================================ */
.explorer {
    background: var(--bg-secondary);
}

.filter-tabs {
    display: flex;
    justify-content: center;
    gap: 15px;
    margin-bottom: 40px;
    flex-wrap: wrap;
}

.filter-tab {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 24px;
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    border-radius: 50px;
    color: var(--text-secondary);
    font-weight: 500;
    cursor: pointer;
    transition: var(--transition);
}

.filter-tab:hover,
.filter-tab.active {
    background: var(--primary);
    border-color: var(--primary);
    color: white;
}

.samples-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
    gap: 25px;
    margin-bottom: 40px;
}

.sample-card {
    padding: 25px;
    background: var(--bg-card);
    border-radius: var(--border-radius);
    border: 1px solid var(--border-color);
    transition: var(--transition);
}

.sample-card:hover {
    transform: translateY(-3px);
    box-shadow: var(--shadow);
}

.sample-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 15px;
}

.sample-source {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.85rem;
    color: var(--text-muted);
}

.sample-sentiment {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 4px 12px;
    border-radius: 50px;
    font-size: 0.8rem;
    font-weight: 600;
}

.sample-sentiment.positive {
    background: var(--positive-light);
    color: var(--positive);
}

.sample-sentiment.neutral {
    background: var(--neutral-light);
    color: #856404;
}

.sample-sentiment.negative {
    background: var(--negative-light);
    color: var(--negative);
}

.sample-text {
    color: var(--text-primary);
    line-height: 1.7;
    font-size: 0.95rem;
}

.explorer-actions {
    text-align: center;
}

/* ============================================
   Technologies Section
   ============================================ */
.tech-grid {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 30px;
}

.tech-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 15px;
    padding: 30px 40px;
    background: var(--bg-card);
    border-radius: var(--border-radius);
    border: 1px solid var(--border-color);
    transition: var(--transition);
}

.tech-card:hover {
    transform: translateY(-5px);
    border-color: var(--primary);
}

.tech-icon {
    width: 80px;
    height: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--border-radius);
    font-size: 2rem;
}

.tech-icon.csv { background: #28a745; color: white; }
.tech-icon.txt { background: #6c757d; color: white; }
.tech-icon.json { background: #ffc107; color: #333; }
.tech-icon.nltk { background: #0d6efd; color: white; }
.tech-icon.spacy { background: #09A3D5; color: white; }

.tech-card span {
    font-weight: 600;
    font-size: 1.1rem;
}

/* ============================================
   Structure Section
   ============================================ */
.structure {
    background: var(--bg-secondary);
}

.structure-content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: start;
}

.file-tree {
    background: var(--bg-card);
    border-radius: var(--border-radius-lg);
    border: 1px solid var(--border-color);
    padding: 30px;
}

.tree-header {
    display: flex;
    align-items: center;
    gap: 10px;
    font-weight: 600;
    font-size: 1.1rem;
    color: var(--primary);
    margin-bottom: 20px;
    padding-bottom: 15px;
    border-bottom: 1px solid var(--border-color);
}

.tree-list {
    padding-left: 20px;
}

.tree-item {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 15px;
}

.tree-item > i {
    color: var(--primary);
}

.tree-item > span {
    font-weight: 500;
}

.tree-sublist {
    padding-left: 25px;
}

.tree-sublist li {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 6px 0;
    color: var(--text-secondary);
    font-size: 0.9rem;
}

.tree-sublist li i {
    color: var(--text-muted);
}

.tree-sublist li i.fa-python {
    color: #3776ab;
}

.highlight-folder {
    color: var(--primary) !important;
    font-weight: 600;
}

.structure-info h3 {
    font-family: var(--font-heading);
    font-size: 1.5rem;
    margin-bottom: 25px;
}

.info-item {
    padding: 20px;
    background: var(--bg-card);
    border-radius: var(--border-radius);
    border: 1px solid var(--border-color);
    margin-bottom: 15px;
}

.info-item strong {
    display: block;
    color: var(--primary);
    margin-bottom: 8px;
    font-family: monospace;
}

.info-item p {
    color: var(--text-secondary);
    font-size: 0.95rem;
}

.info-item.highlight {
    background: linear-gradient(135deg, rgba(220, 53, 69, 0.15) 0%, var(--bg-card) 100%);
    border-color: var(--primary);
}

/* ============================================
   Statistics Section
   ============================================ */
.stats-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

.stats-card {
    padding: 30px;
    background: var(--bg-card);
    border-radius: var(--border-radius-lg);
    border: 1px solid var(--border-color);
    text-align: center;
}

.stats-card h3 {
    font-family: var(--font-heading);
    font-size: 1.2rem;
    margin-top: 20px;
    color: var(--text-secondary);
}

.stats-chart {
    height: 200px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.stats-card.metrics {
    text-align: left;
}

.stats-card.metrics h3 {
    margin-top: 0;
    margin-bottom: 25px;
    color: var(--text-primary);
}

.metric-list {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.metric-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 15px;
    border-bottom: 1px solid var(--border-color);
}

.metric-item:last-child {
    border-bottom: none;
}

.metric-label {
    color: var(--text-secondary);
}

.metric-value {
    font-size: 1.3rem;
    font-weight: 700;
    font-family: var(--font-heading);
    color: var(--primary);
}

.metric-unit {
    font-size: 0.8rem;
    color: var(--text-muted);
    margin-left: 5px;
}

/* ============================================
   Use Cases Section
   ============================================ */
.use-cases {
    background: var(--bg-secondary);
}

.cases-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
}

.case-card {
    padding: 35px 25px;
    background: var(--bg-card);
    border-radius: var(--border-radius-lg);
    border: 1px solid var(--border-color);
    text-align: center;
    transition: var(--transition);
}

.case-card:hover {
    transform: translateY(-5px);
    border-color: var(--primary);
    box-shadow: var(--shadow-glow);
}

.case-icon {
    width: 80px;
    height: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(220, 53, 69, 0.1);
    border-radius: 50%;
    margin: 0 auto 20px;
    font-size: 2rem;
    color: var(--primary);
}

.case-card h3 {
    font-family: var(--font-heading);
    font-size: 1.2rem;
    margin-bottom: 12px;
}

.case-card p {
    color: var(--text-secondary);
    font-size: 0.9rem;
}

/* ============================================
   Download Section
   ============================================ */
.download {
    padding: 80px 0;
}

.download-card {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 50px;
    background: linear-gradient(135deg, rgba(220, 53, 69, 0.2) 0%, var(--bg-card) 100%);
    border-radius: var(--border-radius-lg);
    border: 1px solid var(--border-color);
}

.download-content h2 {
    font-family: var(--font-heading);
    font-size: 2rem;
    margin-bottom: 15px;
}

.download-content p {
    color: var(--text-secondary);
    margin-bottom: 20px;
    max-width: 500px;
}

.download-meta {
    display: flex;
    gap: 25px;
}

.download-meta span {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--text-muted);
    font-size: 0.9rem;
}

.download-meta i {
    color: var(--primary);
}

.download-action {
    text-align: center;
}

.download-note {
    display: block;
    margin-top: 15px;
    font-size: 0.85rem;
    color: var(--text-muted);
}

/* ============================================
   Footer
   ============================================ */
.footer {
    background: var(--bg-secondary);
    padding: 60px 0 30px;
    border-top: 1px solid var(--border-color);
}

.footer-content {
    display: grid;
    grid-template-columns: 2fr 3fr;
    gap: 60px;
    margin-bottom: 40px;
}

.footer-logo {
    display: flex;
    align-items: center;
    gap: 10px;
    font-family: var(--font-heading);
    font-size: 1.5rem;
    font-weight: 700;
    margin-bottom: 15px;
}

.footer-logo i {
    color: var(--primary);
}

.footer-brand p {
    color: var(--text-secondary);
    margin-bottom: 20px;
    max-width: 300px;
}

.footer-social {
    display: flex;
    gap: 15px;
}

.footer-social a {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    border-radius: 50%;
    color: var(--text-secondary);
    transition: var(--transition);
}

.footer-social a:hover {
    background: var(--primary);
    border-color: var(--primary);
    color: white;
}

.footer-links {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
}

.footer-column h4 {
    font-family: var(--font-heading);
    font-size: 1.1rem;
    margin-bottom: 20px;
    color: var(--text-primary);
}

.footer-column ul li {
    margin-bottom: 12px;
}

.footer-column ul li a,
.footer-column ul li {
    color: var(--text-secondary);
    font-size: 0.95rem;
    display: flex;
    align-items: center;
    gap: 10px;
}

.footer-column ul li a:hover {
    color: var(--primary);
}

.footer-column ul li i {
    color: var(--primary);
    width: 20px;
}

.footer-bottom {
    text-align: center;
    padding-top: 30px;
    border-top: 1px solid var(--border-color);
}

.footer-bottom p {
    color: var(--text-muted);
    font-size: 0.9rem;
    margin-bottom: 5px;
}

.footer-bottom strong {
    color: var(--primary);
}

/* ============================================
   Back to Top Button
   ============================================ */
.back-to-top {
    position: fixed;
    bottom: 30px;
    right: 30px;
    width: 50px;
    height: 50px;
    background: var(--primary);
    color: white;
    border: none;
    border-radius: 50%;
    font-size: 1.2rem;
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    transition: var(--transition);
    z-index: 999;
}

.back-to-top.visible {
    opacity: 1;
    visibility: visible;
}

.back-to-top:hover {
    background: var(--primary-dark);
    transform: translateY(-3px);
    box-shadow: var(--shadow-glow);
}

/* ============================================
   Advanced Features Section
   ============================================ */
.advanced-features {
    background: var(--bg-secondary);
}

.advanced-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
}

.advanced-card {
    display: flex;
    gap: 20px;
    padding: 30px;
    background: var(--bg-card);
    border-radius: var(--border-radius);
    border: 1px solid var(--border-color);
    transition: var(--transition);
}

.advanced-card:hover {
    transform: translateY(-5px);
    border-color: var(--primary);
    box-shadow: var(--shadow-glow);
}

.advanced-icon {
    width: 60px;
    height: 60px;
    min-width: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(220, 53, 69, 0.1);
    border-radius: var(--border-radius);
    font-size: 1.5rem;
    color: var(--primary);
}

.advanced-content h3 {
    font-family: var(--font-heading);
    font-size: 1.2rem;
    margin-bottom: 8px;
}

.advanced-content p {
    color: var(--text-secondary);
    font-size: 0.9rem;
    margin-bottom: 12px;
}

.advanced-content code {
    display: inline-block;
    padding: 6px 12px;
    background: var(--bg-primary);
    border-radius: 6px;
    font-family: 'Fira Code', 'Consolas', monospace;
    font-size: 0.8rem;
    color: var(--primary);
    border: 1px solid var(--border-color);
}

/* ============================================
   Step by Step Guide Section
   ============================================ */
.guide-timeline {
    max-width: 900px;
    margin: 0 auto;
    position: relative;
}

.guide-timeline::before {
    content: '';
    position: absolute;
    left: 40px;
    top: 0;
    bottom: 0;
    width: 3px;
    background: linear-gradient(180deg, var(--primary) 0%, rgba(220, 53, 69, 0.2) 100%);
    border-radius: 3px;
}

.guide-step {
    display: flex;
    gap: 30px;
    margin-bottom: 40px;
    position: relative;
}

.guide-step:last-child {
    margin-bottom: 0;
}

.step-number {
    width: 80px;
    height: 80px;
    min-width: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--primary);
    color: white;
    font-family: var(--font-heading);
    font-size: 2rem;
    font-weight: 700;
    border-radius: 50%;
    z-index: 1;
    box-shadow: 0 0 20px rgba(220, 53, 69, 0.4);
}

.step-content {
    flex: 1;
    padding: 25px 30px;
    background: var(--bg-card);
    border-radius: var(--border-radius);
    border: 1px solid var(--border-color);
}

.step-content h3 {
    font-family: var(--font-heading);
    font-size: 1.4rem;
    margin-bottom: 10px;
    color: var(--primary);
}

.step-content > p {
    color: var(--text-secondary);
    margin-bottom: 15px;
}

.step-code {
    background: var(--bg-primary);
    border-radius: var(--border-radius);
    border: 1px solid var(--border-color);
    overflow: hidden;
}

.code-label {
    display: block;
    padding: 8px 15px;
    background: rgba(220, 53, 69, 0.1);
    color: var(--primary);
    font-size: 0.8rem;
    font-weight: 600;
    border-bottom: 1px solid var(--border-color);
}

.step-code pre {
    padding: 15px;
    margin: 0;
    overflow-x: auto;
}

.step-code code {
    font-family: 'Fira Code', 'Consolas', monospace;
    font-size: 0.85rem;
    color: var(--text-secondary);
    line-height: 1.8;
}

/* ============================================
   Unique Features Section
   ============================================ */
.unique-features {
    background: var(--bg-secondary);
}

.unique-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
}

.unique-card {
    padding: 30px;
    background: var(--bg-card);
    border-radius: var(--border-radius-lg);
    border: 1px solid var(--border-color);
    transition: var(--transition);
    position: relative;
}

.unique-card:hover {
    transform: translateY(-5px);
    border-color: var(--primary);
}

.unique-card.featured {
    background: linear-gradient(135deg, rgba(220, 53, 69, 0.1) 0%, var(--bg-card) 100%);
    border-color: var(--primary);
}

.unique-badge {
    position: absolute;
    top: -12px;
    right: 20px;
    padding: 6px 16px;
    background: var(--primary);
    color: white;
    font-size: 0.75rem;
    font-weight: 600;
    border-radius: 50px;
    text-transform: uppercase;
}

.unique-icon {
    width: 70px;
    height: 70px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(220, 53, 69, 0.1);
    border-radius: 50%;
    margin-bottom: 20px;
    font-size: 1.8rem;
    color: var(--primary);
}

.unique-card h3 {
    font-family: var(--font-heading);
    font-size: 1.3rem;
    margin-bottom: 12px;
}

.unique-card > p {
    color: var(--text-secondary);
    font-size: 0.95rem;
    margin-bottom: 20px;
}

.unique-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.unique-list li {
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--text-secondary);
    font-size: 0.9rem;
}

.unique-list li i {
    color: var(--positive);
    font-size: 0.8rem;
}

/* ============================================
   Python Scripts Section
   ============================================ */
.scripts-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
    gap: 25px;
}

.script-card {
    padding: 25px;
    background: var(--bg-card);
    border-radius: var(--border-radius);
    border: 1px solid var(--border-color);
    transition: var(--transition);
}

.script-card:hover {
    transform: translateY(-3px);
    border-color: var(--primary);
    box-shadow: var(--shadow);
}

.script-header {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 15px;
}

.script-icon {
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(220, 53, 69, 0.1);
    border-radius: var(--border-radius);
    font-size: 1.3rem;
    color: var(--primary);
}

.script-header h3 {
    font-family: 'Fira Code', 'Consolas', monospace;
    font-size: 1.1rem;
    color: var(--primary);
}

.script-desc {
    color: var(--text-secondary);
    font-size: 0.95rem;
    margin-bottom: 15px;
}

.script-features {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 15px;
}

.script-features span {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 4px 10px;
    background: var(--bg-tertiary);
    border-radius: 50px;
    font-size: 0.75rem;
    color: var(--text-secondary);
}

.script-features span i {
    color: var(--positive);
    font-size: 0.7rem;
}

.script-usage {
    padding: 12px 15px;
    background: var(--bg-primary);
    border-radius: var(--border-radius);
    border: 1px solid var(--border-color);
}

.usage-label {
    display: block;
    font-size: 0.75rem;
    color: var(--text-muted);
    margin-bottom: 5px;
}

.script-usage code {
    font-family: 'Fira Code', 'Consolas', monospace;
    font-size: 0.85rem;
    color: var(--primary);
}

/* ============================================
   Responsive Design
   ============================================ */
@media (max-width: 1200px) {
    .cases-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 992px) {
    .hero .container {
        grid-template-columns: 1fr;
        text-align: center;
    }
    
    .hero-description {
        margin: 0 auto 30px;
    }
    
    .hero-stats {
        justify-content: center;
    }
    
    .hero-actions {
        justify-content: center;
    }
    
    .sentiment-showcase {
        margin: 40px auto 0;
    }
    
    .features-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .advanced-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .unique-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .guide-timeline::before {
        left: 35px;
    }
    
    .step-number {
        width: 70px;
        height: 70px;
        min-width: 70px;
        font-size: 1.6rem;
    }
    
    .structure-content {
        grid-template-columns: 1fr;
    }
    
    .stats-grid {
        grid-template-columns: 1fr;
    }
    
    .download-card {
        flex-direction: column;
        text-align: center;
        gap: 30px;
    }
    
    .download-content p {
        margin: 0 auto 20px;
    }
    
    .download-meta {
        justify-content: center;
    }
    
    .footer-content {
        grid-template-columns: 1fr;
    }
    
    .footer-brand {
        text-align: center;
    }
    
    .footer-brand p {
        max-width: 100%;
    }
    
    .footer-social {
        justify-content: center;
    }
}

@media (max-width: 768px) {
    .nav-links {
        display: none;
    }
    
    .mobile-menu-btn {
        display: block;
    }
    
    .hero-title {
        font-size: 2.5rem;
    }
    
    .section-title {
        font-size: 2rem;
    }
    
    .features-grid,
    .cases-grid {
        grid-template-columns: 1fr;
    }
    
    .advanced-grid,
    .unique-grid {
        grid-template-columns: 1fr;
    }
    
    .advanced-card {
        flex-direction: column;
        text-align: center;
    }
    
    .guide-timeline::before {
        display: none;
    }
    
    .guide-step {
        flex-direction: column;
        gap: 15px;
    }
    
    .step-number {
        width: 60px;
        height: 60px;
        min-width: 60px;
        font-size: 1.4rem;
        margin: 0 auto;
    }
    
    .step-content {
        text-align: center;
    }
    
    .step-code {
        text-align: left;
    }
    
    .scripts-grid {
        grid-template-columns: 1fr;
    }
    
    .samples-grid {
        grid-template-columns: 1fr;
    }
    
    .footer-links {
        grid-template-columns: 1fr;
        text-align: center;
    }
    
    .filter-tabs {
        gap: 10px;
    }
    
    .filter-tab {
        padding: 10px 18px;
        font-size: 0.9rem;
    }
}

@media (max-width: 480px) {
    .hero-title {
        font-size: 2rem;
    }
    
    .hero-stats {
        flex-direction: column;
        gap: 20px;
    }
    
    .stat-item {
        align-items: center;
    }
    
    .btn {
        padding: 12px 20px;
        font-size: 0.9rem;
    }
    
    .download-card {
        padding: 30px 20px;
    }
    
    .download-meta {
        flex-direction: column;
        gap: 10px;
    }
}

1,718 lines•35.1 KB
css
preprocessed/cleaned_data.csv
Raw Download
Find: Go to:
# ================================================================================
# Sentiment Analysis Dataset - Cleaned/Preprocessed Data
# 
# Project: Sentiment Analysis Dataset
# Description: Preprocessed text data with removed noise, special characters,
#              and normalized text for NLP model training.
# Category: Text Data
# Difficulty: Intermediate
# 
# Author: Molla Samser (Founder)
# Designer & Tester: Rima Khatun
# Website: https://rskworld.in
# Email: help@rskworld.in | support@rskworld.in
# Phone: +91 93305 39277
# 
# © 2026 RSK World - Free Programming Resources & Source Code
# All rights reserved.
# 
# Preprocessing steps applied:
# - Lowercased all text
# - Removed special characters and punctuation
# - Removed extra whitespace
# - Normalized contractions
# ================================================================================

id,cleaned_text,sentiment,word_count
1,"absolutely love this product it exceeded all my expectations and the quality is outstanding will definitely recommend to friends and family",positive,22
2,"the service was okay nothing special delivery was on time but the packaging could have been better average experience overall",neutral,20
3,"terrible experience the product arrived damaged and customer support was unhelpful complete waste of money never ordering again",negative,17
4,"this is the best purchase i have made this year the features are amazing and it works exactly as advertised highly satisfied customer here",positive,26
5,"received the package today it looks decent but have not tried it yet will update after a week of use",neutral,20
6,"so disappointed with this purchase the description was misleading and the actual product is nothing like what was shown in the pictures",negative,23
7,"great value for money the build quality is solid and it performs really well shipping was fast too very happy with this purchase",positive,24
8,"just unboxed my order standard quality meets basic requirements not exceptional but does the job fair price for what you get",neutral,21
9,"worst customer service i have ever experienced three weeks and my issue is still not resolved absolutely frustrating and unprofessional",negative,19
10,"five stars this product changed my daily routine for the better excellent quality beautiful design and amazing functionality",positive,18
11,"the product works as expected nothing extraordinary but nothing to complain about either average performance for the price point",neutral,19
12,"completely broken on arrival requested a refund but still waiting after two weeks this company has lost a customer forever",negative,19
13,"impressed beyond words the attention to detail is remarkable best investment i have made in a long time truly exceptional product",positive,21
14,"received my order yesterday first impressions are neither good nor bad will need more time to form a complete opinion",neutral,19
15,"do not waste your money on this garbage poor quality materials horrible design and falls apart after first use total scam",negative,21
16,"amazing quality and fast delivery the product looks even better in person than in the photos exceeded my expectations",positive,19
17,"it is an average product does what it is supposed to do but nothing more no complaints but no praises either",neutral,21
18,"horrible experience from start to finish the product is a complete failure and the company refuses to acknowledge issues",negative,19
19,"best thing i have bought online super impressed with the quality already ordered two more for gifts highly recommend",positive,19
20,"package arrived in good condition the item seems okay will test it more before giving a final verdict",neutral,18
21,"avoid this product at all costs it stopped working after just one week customer support is non existent",negative,18
22,"wow just wow this exceeded every expectation i had worth every penny and more thank you for this amazing product",positive,20
23,"standard shipping standard product standard everything nothing stood out positively or negatively about this purchase",neutral,14
24,"extremely disappointed false advertising and poor quality demanded refund but got no response stay away",negative,14
25,"i can not believe how good this is my whole family loves it best decision we made this month",positive,19
26,"the product arrived on time packaging was adequate performance is exactly as described nothing more nothing less",neutral,16
27,"total rip off the quality is nowhere near what was promised feeling completely cheated by this purchase",negative,17
28,"outstanding this has become an essential part of my daily life can not imagine going back to what i used before",positive,21
29,"it works that is about all i can say not impressed but not disappointed either just a regular product",neutral,19
30,"save your money and buy something else this product is a joke worst purchase i have ever made online",negative,19
31,"life changing product i have already recommended it to all my friends and colleagues simply the best out there",positive,19
32,"decent quality for the price does the basic functions well might consider buying again in the future",neutral,17
33,"absolutely terrible broke within days of purchase no warranty support complete waste of time and money",negative,15
34,"perfect in every way from ordering to delivery to the product itself everything was flawless ten out of ten",positive,19
35,"mixed feelings about this purchase some features are good others not so much overall it is just okay",neutral,18
36,"regret buying this the reviews were misleading and the product quality is subpar very disappointed",negative,15
37,"exceeded expectations the quality is superb and the price was very reasonable already planning my next purchase",positive,17
38,"nothing special about this product it is functional but unremarkable average across all aspects",neutral,14
39,"complete disaster product arrived late damaged and different from description absolute nightmare experience",negative,12
40,"fantastic product my friends were so impressed they all ordered one too could not be happier with this purchase",positive,19
41,"adequate for basic needs will not wow you but will not let you down either fair deal for the money",neutral,20
42,"horrible quality control every unit i received had defects finally gave up and demanded a full refund",negative,17
43,"this is everything i hoped for and more beautifully designed perfectly functional absolutely love it",positive,15
44,"product is okay nothing wrong with it per se just does not stand out from the competition in any way",neutral,19
45,"never again this company has lost all credibility with me product failed support failed everything failed",negative,16
46,"brilliant such attention to detail and quality craftsmanship a true gem among similar products",positive,14
47,"got what i paid for no surprises good or bad standard experience with a standard product",neutral,16
48,"disappointed beyond words such high hopes based on the marketing but reality was very different",negative,15
49,"simply phenomenal this has improved my life in ways i did not expect worth every single penny",positive,17
50,"middle of the road product neither excited nor upset about this purchase it serves its purpose",neutral,16

78 lines•7.2 KB
csv

About RSK World

Founded by Molla Samser, with Designer & Tester Rima Khatun, RSK World is your one-stop destination for free programming resources, source code, and development tools.

Founder: Molla Samser
Designer & Tester: Rima Khatun

Development

  • Game Development
  • Web Development
  • Mobile Development
  • AI Development
  • Development Tools

Legal

  • Terms & Conditions
  • Privacy Policy
  • Disclaimer

Contact Info

Nutanhat, Mongolkote
Purba Burdwan, West Bengal
India, 713147

+91 93305 39277

hello@rskworld.in
support@rskworld.in

© 2026 RSK World. All rights reserved.

Content used for educational purposes only. View Disclaimer