Asent:快速、灵活和透明的情感分析
Asent 是一个基于规则的 Python 情感分析库,使用 SpaCy 开发。它受到 Vader 的启发,但使用了更加模块化的规则集,允许用户更改例如寻找否定词的方法。此外,它还包括可视化工具来展示模型预测,使模型易于解释。
安装
使用 pip 安装 Asent 非常简单:
pip install asent
无需从 GitHub 更新,因为 PyPI 上的版本应始终与 GitHub 上的版本相同。
简单示例
以下是一个简单示例,展示如何使用 asent 快速应用情感分析。有关使用 asent 的更多信息,请参阅使用指南。
import spacy
import asent
# 创建 spacy 管道
nlp = spacy.blank('en')
nlp.add_pipe('sentencizer')
# 添加基于规则的情感模型
nlp.add_pipe("asent_en_v1")
# 尝试一个例子
text = "I am not very happy, but I am also not especially sad"
doc = nlp(text)
# 打印文档的极性,缩放到 -1 到 1 之间
print(doc._.polarity)
# neg=0.0 neu=0.631 pos=0.369 compound=0.7526
当然,简单的分数可能不太令人满意,因此 Asent 实现了一系列可视化工具来解释结果:
# 可视化模型预测
asent.visualize(doc, style="prediction")
如果我们想知道模型为什么得出这样的结果,我们可以使用 analysis
样式:
# 可视化模型进行的分析:
asent.visualize(doc[:5], style="analysis")
括号中的值(2.7)表示单词的人工评分,而括号外的值表示考虑否定后的值。Asent 还考虑了对比连词(如 but)、大小写、表情符号和标点符号。有关模型工作原理的更多信息,请查看使用指南。
📖 文档
文档 | |
---|---|
🔧 安装 | Asent 的安装说明 |
📚 使用指南 | 关于如何使用 asent 及其功能的指南和说明。还简要介绍了模型的工作原理。 |
📰 新闻和更新日志 | 新增功能、变更和版本历史。 |
🎛 文档 | Asent API 的详细参考。包括函数文档 |
💬 在哪里提问
类型 | |
---|---|
🚨 常见问题解答 | 常见问题解答 |
🚨 错误报告 | GitHub 问题追踪器 |
🎁 功能请求和想法 | GitHub 问题追踪器 |
👩💻 使用问题 | GitHub 讨论 |
🗯 一般讨论 | GitHub 讨论 |