0.0.1 • Published 8 months ago

@qrvey/text-analytics v0.0.1

Weekly downloads
-
License
MIT
Repository
-
Last release
8 months ago

@qrvey/text-analytics

A powerful text analytics library that provides easy integration with AWS Comprehend and Azure Text Analytics for language detection, sentiment analysis, entity recognition, and key phrase extraction.

Require environment variables

AWS_DEFAULT_REGION; //AWS Region for SQS service
AWS_ACCESS_KEY_ID; //AWS Access key for Event Bridge service
AWS_SECRET_ACCESS_KEY; //AWS Secret key for Event Bridge service
PLATFORM_TYPE; //Platform type (possible value CONTAINER)
CLOUD_PROVIDER; // Cloud service. Possible values azure, aws

Table of Contents

Installation

You can install the @qrvey/text-analytics package via npm. Run the following command in your terminal:

npm install @qrvey/text-analytics

Usage

import TextAnalyticsServiceFactory from '@qrvey/text-analytics';

async function main() {
    const textAnalyticsService = await TextAnalyticsServiceFactory.createTextAnalyticsService();
    const language = await textAnalyticsService.detectLanguage('This is a sample text.');
    console.log(language);
}

API Documentation

textAnalyticsService

The TextAnalyticsService provides methods for text analysis.

detectLanguage

Detects the dominant language of the provided text.

Parameters:

text: A string containing the text to analyze.

Returns

A promise that resolves to an object implementing IDetectDominantLanguageOutput.

detectLanguage(text: string): Promise<IDetectEntityOutput>

interface IDetectDominantLanguageOutput {
    code: string;
    score: number;
}

detectEntities

Detects entities in the provided text.

Parameters:

text: A string containing the text to analyze.

Returns

A promise that resolves to an object implementing IDetectEntityOutput.

detectEntities(text: string): Promise<IDetectEntityOutput>;

interface IDetectEntityOutput {
    entities: Entity[];
}

detectSentiment

Analyzes the sentiment of the provided text.

Parameters:

text: A string containing the text to analyze.

Returns:

A promise that resolves to an object implementing IDetectSentimentOutput.

detectSentiment(text: string): Promise<IDetectSentimentOutput>;

interface IDetectSentimentOutput {
    sentiment: string;
    score: {
        negative: number;
        positive: number;
        neutral: number;
        mixed: number;
    };
}

detectKeyPhrases

Detects key phrases in the provided text.

Parameters:

text: A string containing the text to analyze.

Returns

A promise that resolves to an object implementing IKeyPhraseOutput.

detectKeyPhrases(text: string): Promise<IDetectKeyPhraseOutput>;

interface IDetectKeyPhraseOutput {
    keyPhrases: {
        text: string;
        score: number;
    }[]
}

textAnalysisComplete

Completes a full analysis of the provided text, including language detection, entity detection, sentiment analysis, and key phrase extraction.

Parameters:

text: A string containing the text to analyze.

Returns:

A promise that resolves to an object implementing ICompleteTextAnalysisOutput.

 textAnalysisComplete(text: string): Promise<ICompleteTextAnalysisOutput>;

interface ICompleteTextAnalysisOutput {
    language: IDetectDominantLanguageOutput;
    entities: IDetectEntityOutput;
    sentiment: IDetectSentimentOutput;
    keyPhrases: IKeyPhrase[];
}