@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_ACCESS_KEY_ID;
AWS_SECRET_ACCESS_KEY;
PLATFORM_TYPE;
CLOUD_PROVIDER;
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[];
}