JSPM

sarcasm-detector

1.0.2
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 1
  • Score
    100M100P100Q32716F
  • License MIT

A sophisticated NLP-based sarcasm detection library for both Node.js and browser environments

Package Exports

  • sarcasm-detector
  • sarcasm-detector/dist/sarcasm-detector.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (sarcasm-detector) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

Sarcasm Detector

A sophisticated library for detecting sarcasm and tone in text using pattern matching, linguistic rules, and contextual analysis.

Features

  • Detects sarcasm using multiple indicators:
    • Pattern matching
    • Exaggeration detection
    • Irony indicators
    • Temporal references
    • Contradiction detection
    • Contextual analysis
    • Semantic patterns
  • Sentiment analysis
  • Tone detection
  • Browser and Node.js support

Installation

npm install sarcasm-detector

Usage

In Node.js

const SarcasmDetector = require('sarcasm-detector');

const detector = new SarcasmDetector();
const result = detector.detectSarcasm("Well, that was the most groundbreaking idea I've ever heard — if we were still living in 2005");

console.log(result);
// {
//   isSarcastic: true,
//   confidence: 0.85,
//   sentiment: 2,
//   indicators: {
//     patternMatches: true,
//     hasExaggeration: true,
//     hasIrony: true,
//     hasTemporalPhrase: true,
//     hasContradiction: false,
//     hasPositiveSentimentWithNegativeContext: true,
//     semanticScore: 0.3
//   }
// }

In Browser

<script src="node_modules/sarcasm-detector/demo/sarcasm-detector.js"></script>
<script>
    const detector = new SarcasmDetector();
    const result = detector.detectSarcasm("That's exactly what we needed");
    console.log(result);
</script>

API

detectSarcasm(text)

Analyzes text for sarcasm and returns detailed results.

Parameters:

  • text (string): The text to analyze

Returns:

{
    isSarcastic: boolean,
    confidence: number, // 0-1
    sentiment: number,
    indicators: {
        patternMatches: boolean,
        hasExaggeration: boolean,
        hasIrony: boolean,
        hasTemporalPhrase: boolean,
        hasContradiction: boolean,
        hasPositiveSentimentWithNegativeContext: boolean,
        semanticScore: number
    }
}

detectTone(text)

Analyzes the overall tone of the text.

Parameters:

  • text (string): The text to analyze

Returns:

{
    tone: string, // 'sarcastic', 'positive', 'negative', 'neutral', etc.
    confidence: number,
    sentiment: number,
    isSarcastic: boolean,
    context: object
}

Demo

Try the live demo at: https://vamshikrishnab.github.io/sarcasm-detector/demo/

License

MIT