michaelaustinhjm
v1.0.3
Published
A practical movie review toolkit that provides features such as rating calculation, review verification, and sentiment tag extraction
Maintainers
Readme
Function List
|Function| Description| |-|-| |Rating Normalization|Converts any rating system, such as 5-star or 100-point systems, to a 10-point system for consistent display.| |Comment Validation|Filters empty, overly short, and sensitive comments to ensure compliance.| |Sentiment Tag Extraction|Automatically identifies the sentiment of comments and outputs "positive / neutral / negative" tags.|
Quick Usage Example
const filmReviewUtils = require('film-review-utils');
const score = filmReviewUtils.normalizeScore(4, 5);
console.log('Normalized rating:', score);
const review = 'This movie has a tight plot and the actors\\' performances are excellent. Highly recommended!';
const validateResult = filmReviewUtils.validateReview(review);
console.log('Review validation result:', validateResult);
const sentiment = filmReviewUtils.extractSentimentTag(review);
console.log('Review sentiment tag:', sentiment);Detailed API Documentation
1. normalizeScore(score, maxScore)
|Parameter Name|Name|Type Description|Example| |-|-|-|-| |score|number|Original rating|4 (4 points on a 5-star scale)| |maxScore|number|Highest score in the original rating system|5 (Highest score on a 5-star scale)|
Return Value
Type: number
Description: Normalized 10-point rating
Exceptions
If score or maxScore is not a number, throw an Error: The score and highest score must be numeric.
If score < 0 or maxScore ≤ 0, throw an Error: The score cannot be negative, and the highest score in the original rating system must be greater than 0.
Example
filmReviewUtils.normalizeScore(85, 100);
filmReviewUtils.normalizeScore(7, 10);2. validateReview(reviewText)
Purpose: Validates the compliance of the review text, filtering empty reviews, overly short reviews, and reviews containing sensitive words.
Parameters
|Parameter Name|Type|Description|Example| |-|-|-|-| |reviewText|string|The text of the review to be validated|'This movie is great!'|
Return Value
|Field|Type|Description| |-|-|-| |valid|boolean|Whether validation passed (true/false)| |message|string|The validation result message|
Example
filmReviewUtils.validateReview('');
filmReviewUtils.validateReview('Great');
filmReviewUtils.validateReview('This movie is rubbish!');
filmReviewUtils.validateReview('This movie is great!'); 3. extractSentimentTag(reviewText)
Purpose: Extracts sentiment tags from the review text, identifying "positive / neutral / negative" reviews.
Parameters
|Parameter Name|Type|Description|Example| |-|-|-|-| |reviewText|string|Comment text|'This movie has a terrible plot, poor acting, and is very bad'|
Return Value
Type: string
Possible values: "Positive", "Neutral", "Negative"
Example
filmReviewUtils.extractSentimentTag('This movie has a terrible plot, poor acting, and is very bad');
filmReviewUtils.extractSentimentTag('This movie is so-so, neither good nor bad');
filmReviewUtils.extractSentimentTag('This movie is amazing! I loved it.');License
MIT License
Maintainer
michael_austin2022 [email protected]
