搜索插件、代码仓与 APP 分类

插件详情v0.0.9

dart_sentiment

Dart Sentiment 是一个 Dart 模块,它使用 AFINN-165 词表和表情符号情感排名来对任意输入文本块进行情感分析。

AndroidiOSWebmacOSWindowsLinux
近 30 天下载
168
喜欢数
36
Pub 分数
145

安装插件

flutter pub add dart_sentiment

插件介绍

基于插件公开信息、社区数据与项目使用情况整理的选型参考。

Dart Sentiment 是一个轻量级的 Dart 包,使用 AFINN-165 词表和 Emoji 情感评分对文本进行情感分析。它为输入文本分配情感得分,使开发者能够评估用户生成内容的情感基调。该包支持 Android、iOS、Web、macOS、Windows 和 Linux 等多个平台,非常适合需要实时情感评估的跨平台应用。它设计简洁高效,除了核心 Dart 库外无需任何外部依赖。

适合场景

  • 分析用户评论
  • 监控社交媒体情绪
  • 评估客户反馈
  • 增强聊天机器人的回复
  • 跟踪品牌认知

主要特点

  • 使用 AFINN-165 和表情符号情感数据
  • 跨平台兼容性
  • 简单 API 集成
  • 实时情感评分
  • 无外部依赖

适合对象

  • 移动和网页应用
  • 客户体验工具
  • 情感驱动的分析
  • 社交媒体监控
  • 反馈系统

使用建议

  • 限于预定义词库
  • 不支持自定义情感词典
  • 可能无法捕捉上下文或讽刺
  • 准确性取决于输入文本的样式
  • 不适用于多语言情感分析

原始 README

以下为关联源码仓库的 README 原文快照,最新内容请访问源码仓库。

Dart Sentiment

Flutter Community: dart_sentiment

pub package

AFINN-based sentiment analysis for dart

Dart Sentiment is a dart package that uses
the AFINN-165
wordlist
and Emoji Sentiment Ranking
to perform sentiment analysis on arbitrary
blocks of input text. Dart Sentiment provides several things:

  • Provide Language support for English, Italian, French and German.
  • Provide support for various emojis.
  • Based on analysis of text, provide an integer value in the range -n to +n (see details below)

Installation

add following dependency to your pubspec.yaml

  
dependencies:    
   dart_sentiment: <latest-version>  
   

Example


 import 'package:dart_sentiment/dart_sentiment.dart';    
 void main() {
 
	 final sentiment = Sentiment();    
    
	 print(sentiment.analysis("The cake she made was terrible 😐"));    
    
	 print(sentiment.analysis("The cake she made was terrible 😐", emoji: true));    
    
	 print(sentiment.analysis("I love cats, but I am allergic to them.",));    
    
	 print(sentiment.analysis("J'adore les chats, mais j'y suis allergique.",    
	 languageCode: LanguageCode.french));    
    
	print(sentiment.analysis("Le gâteau qu'elle a fait était horrible 😐",    
	emoji: true, languageCode: LanguageCode.french)); 

}  

Function defination
Param Description
String text Input phrase to analyze
bool emoji = false Input emoji is present in the phrase to analyze
LanguageCode languageCode = LanguageCode.english Language to use for sentiment analysis. LanguageCode { english, italian, french, german }

How it works

AFINN

AFINN is a list of words rated for valence with an integer between minus five (negative) and plus
five (positive). Sentiment analysis is performed by cross-checking the string tokens (words, emojis)
with the AFINN list and getting their respective scores. The comparative score is
simply: sum of each token / number of tokens. So for example let's take the following:

I love cats, but I am allergic to them.

That string results in the following:

{
    score: 1, 
	comparative: 0.1111111111111111,  
    tokens: [    
       "i",    
       "love",    
       "cats",    
       "but",    
       "i",    
       "am",    
       "allergic",    
       "to",    
       "them"    
    ],
    positive: [[love, 3]], 
    negative: [[allergic, 2]]
} 
  • Returned Objects
    • Score: Score calculated by adding the sentiment values of recognized words.
    • Comparative: Comparative score of the input string.
    • Token: All the tokens like words or emojis found in the input string.
    • Words: List of words from input string that were found in AFINN list.
    • Positive: List of positive words in input string that were found in AFINN list.
    • Negative: List of negative words in input string that were found in AFINN list.

In this case, love has a value of 3, allergic has a value of -2, and the remaining tokens are
neutral with a value of 0. Because the string has 9 tokens the resulting comparative score looks
like: (3 + -2) / 9 = 0.111111111

This approach leaves you with a mid-point of 0 and the upper and lower bounds are constrained to
positive and negative 5 respectively. For example, let's imagine an incredibly "positive" string
with 200 tokens and where each token has an AFINN score of 5. Our resulting comparative score would
look like this:

(max positive score * number of tokens) / number of tokens (5 * 200) / 200 = 5

Contribute

If you have any suggestions, improvements or issues, feel free to contribute to this project. You
can either submit a new issue or propose a pull request. Direct your pull requests into the dev
branch.

License

Dart Sentiment is released under
the MIT License

Credit

Dart Sentiment inspired by the Javascript
package sentiment

About me

I am India based flutter developer

pub package [](mailto:akashlilhare14@gmail.com) twitter website

所属分类

依赖

依赖清单 1 项

源码仓库

使用此插件的项目