PyABSA简介
PyABSA是一个用于方面级情感分析(Aspect-Based Sentiment Analysis, ABSA)的开放框架。它由杨恒(yangheng95@GitHub)开发和维护,得到了社区研究人员的大力贡献。PyABSA是一个免费开源的工具,适用于所有人,但在使用时请务必附上作者信息和项目地址。
PyABSA提供了多种先进的ABSA模型,包括:
- 方面术语提取和情感分类(ATEPC)模型
- 方面极性分类(APC)模型
- 基于BERT的APC模型
- 基于GloVe的APC基线模型
除了ABSA,PyABSA还支持文本分类、文本增强和对抗性防御等任务。
主要功能
PyABSA的主要功能包括:
- 方面术语提取和情感分类
- 方面极性分类
- 方面情感三元组提取
- 方面情感四元组提取
- 多语言支持
PyABSA支持多种语言,包括英语、中文、阿拉伯语、荷兰语、法语、俄语、西班牙语和土耳其语等。
在线演示
PyABSA在Hugging Face Spaces上部署了多个在线演示,用户可以在线试用各种功能:
安装和使用
可以通过pip安装PyABSA的最新版本:
pip install -U pyabsa
也可以从源代码安装:
git clone https://github.com/yangheng95/PyABSA --depth=1
cd PyABSA
python setup.py install
PyABSA提供了丰富的使用示例,可以参考示例代码来快速上手。
以下是一个简单的方面术语提取和情感分类的示例:
from pyabsa import AspectTermExtraction as ATEPC, available_checkpoints
aspect_extractor = ATEPC.AspectExtractor('multilingual',
auto_device=True,
cal_perplexity=True)
result = aspect_extractor.predict(['I love this movie, it is so great!'],
save_result=True,
print_result=True,
ignore_error=True)
print(result)
数据集和模型
PyABSA提供了多个公开数据集,包括Twitter、Laptop14、Restaurant14/15/16等。这些数据集会自动下载,无需手动获取。
PyABSA还支持使用自定义数据集。用户可以参考ABSADatasets来准备自己的数据集。
对于模型,PyABSA实现了多种先进的ABSA模型,如LCF-BERT、FAST-LCF-BERT等。用户还可以基于提供的模板开发自己的模型。
贡献指南
PyABSA欢迎社区贡献,贡献方式包括:
- 分享自定义数据集
- 集成新模型
- 提交bug报告
- 提出功能建议
- 改进文档
- 创建示例脚本
- 为项目加星以保持活跃度
引用
如果PyABSA对您的研究有帮助,请考虑引用以下论文:
@inproceedings{YangZL23,
author = {Heng Yang and Chen Zhang and Ke Li},
title = {PyABSA: {A} Modularized Framework for Reproducible Aspect-based Sentiment Analysis},
booktitle = {Proceedings of the 32nd {ACM} International Conference on Information and Knowledge Management, {CIKM} 2023},
pages = {5117--5122},
year = {2023},
url = {https://doi.org/10.1145/3583780.3614752},
doi = {10.1145/3583780.3614752}
}
PyABSA为ABSA研究和应用提供了一个强大而灵活的工具。无论是研究人员还是开发者,都可以利用PyABSA来快速实现和测试ABSA模型,推动这一领域的发展。