首页 游戏 软件 资讯 排行榜 专题
首页
AI
『2022语言与智能技术竞赛』- 情感可解释性评测

『2022语言与智能技术竞赛』- 情感可解释性评测

热心网友
46
转载
2025-07-20
该模块聚焦NLP模型可解释性评估,提供3个任务的评测数据与指标,含3种证据抽取方法,在多种模型结构上验证了模型复杂度和参数规模的影响。平台需Linux等环境及相关库,通过数据准备、模型训练、重要度分数获取等步骤运行,最终生成含模型准确率及可解释评测指标的评估报告。

『2022语言与智能技术竞赛』- 情感可解释性评测 - 游乐网

项目介绍

深度学习模型在很多NLP任务上已经取得巨大成功,但其常被当作一个黑盒使用,内部预测机制对使用者是不透明的。这使得深度学习模型结果不被人信任,增加落地难度,尤其是在医疗、法律等特殊领域。同时,当模型出现效果不好或鲁棒性差等问题时,由于不了解其内部机制,导致很难对模型进行优化。近期,深度学习模型的可解释性被越来越多的人关注。但模型的可解释性评估还不够完善,本模块提供了3个NLP任务的评测数据和相关评测指标,旨在评估模型的可解释性。模块包含以下功能:

免费影视、动漫、音乐、游戏、小说资源长期稳定更新! 👉 点此立即查看 👈

1. 完善可解释性评估体系,提供了评测数据和对应的评测指标2. 提供了3种典型的证据抽取方法,分别是基于注意力(attention-based)、梯度(gradient-based)和线性模型(LIME)的证据抽取方法,并在LSTM、Transformer(RoBERTa-base和RoBERTa-large)等常用模型网络结构上完成实验验证,分别验证模型结构复杂度、模型参数规模对模型可解释的影响3. 提供模型较全面的评估报告,含模型本身准确率等效果、以及在3个可解释评测指标上的结果
登录后复制

平台使用

环境准备

代码运行需要 Linux 主机,Python 3.8(推荐,其他低版本未测试过) 和 PaddlePaddle 2.1 以上版本。

推荐的环境

操作系统 CentOS 7.5Python 3.8.12PaddlePaddle 2.1.0PaddleNLP 2.2.4

除此之外,需要使用支持 GPU 的硬件环境。

PaddlePaddle

需要安装GPU版的PaddlePaddle,以及一些默认的飞桨依赖。

更多关于 PaddlePaddle 的安装教程、使用方法等请参考最新文档.

In [1]
!pip3 install paddlepaddle-gpu!pip3 install paddlenlp==2.2.4!pip3 install paddle-ernie
登录后复制
Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simpleRequirement already satisfied: paddlepaddle-gpu in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (2.2.2)Requirement already satisfied: Pillow in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from paddlepaddle-gpu) (7.1.2)Requirement already satisfied: astor in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from paddlepaddle-gpu) (0.8.1)Requirement already satisfied: requests>=2.20.0 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from paddlepaddle-gpu) (2.22.0)Requirement already satisfied: numpy>=1.13 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from paddlepaddle-gpu) (1.16.4)Requirement already satisfied: decorator in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from paddlepaddle-gpu) (4.4.2)Requirement already satisfied: protobuf>=3.1.0 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from paddlepaddle-gpu) (3.14.0)Requirement already satisfied: six in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from paddlepaddle-gpu) (1.16.0)Requirement already satisfied: chardet<3.1.0,>=3.0.2 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from requests>=2.20.0->paddlepaddle-gpu) (3.0.4)Requirement already satisfied: idna<2.9,>=2.5 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from requests>=2.20.0->paddlepaddle-gpu) (2.8)Requirement already satisfied: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from requests>=2.20.0->paddlepaddle-gpu) (1.25.6)Requirement already satisfied: certifi>=2017.4.17 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from requests>=2.20.0->paddlepaddle-gpu) (2019.9.11)Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simpleRequirement already satisfied: paddlenlp==2.2.4 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (2.2.4)Requirement already satisfied: colorama in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from paddlenlp==2.2.4) (0.4.4)Requirement already satisfied: jieba in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from paddlenlp==2.2.4) (0.42.1)Requirement already satisfied: seqeval in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from paddlenlp==2.2.4) (1.2.2)Requirement already satisfied: colorlog in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from paddlenlp==2.2.4) (4.1.0)Requirement already satisfied: h5py in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from paddlenlp==2.2.4) (2.9.0)Requirement already satisfied: multiprocess in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from paddlenlp==2.2.4) (0.70.11.1)Requirement already satisfied: six in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from h5py->paddlenlp==2.2.4) (1.16.0)Requirement already satisfied: numpy>=1.7 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from h5py->paddlenlp==2.2.4) (1.16.4)Requirement already satisfied: dill>=0.3.3 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from multiprocess->paddlenlp==2.2.4) (0.3.3)Requirement already satisfied: scikit-learn>=0.21.3 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from seqeval->paddlenlp==2.2.4) (0.22.1)Requirement already satisfied: joblib>=0.11 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from scikit-learn>=0.21.3->seqeval->paddlenlp==2.2.4) (0.14.1)Requirement already satisfied: scipy>=0.17.0 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from scikit-learn>=0.21.3->seqeval->paddlenlp==2.2.4) (1.3.0)Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simpleRequirement already satisfied: paddle-ernie in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (0.2.0.dev1)Requirement already satisfied: requests in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from paddle-ernie) (2.22.0)Requirement already satisfied: pathlib2 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from paddle-ernie) (2.3.7.post1)Requirement already satisfied: tqdm in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from paddle-ernie) (4.64.0)Requirement already satisfied: six in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from pathlib2->paddle-ernie) (1.16.0)Requirement already satisfied: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from requests->paddle-ernie) (1.25.6)Requirement already satisfied: chardet<3.1.0,>=3.0.2 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from requests->paddle-ernie) (3.0.4)Requirement already satisfied: certifi>=2017.4.17 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from requests->paddle-ernie) (2019.9.11)Requirement already satisfied: idna<2.9,>=2.5 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from requests->paddle-ernie) (2.8)
登录后复制

第三方 Python 库

除 PaddlePaddle 及其依赖之外,还依赖其它第三方 Python 库,位于代码根目录的 requirements.txt 文件中。

可使用 pip 一键安装

In [2]
%cd ./PaddleNLP-develop/examples/model_interpretation!pip3 install -r requirements.txt
登录后复制
/home/aistudio/PaddleNLP-develop/examples/model_interpretationLooking in indexes: https://pypi.tuna.tsinghua.edu.cn/simpleRequirement already satisfied: nvgpu>=0.9.0 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from -r requirements.txt (line 1)) (0.9.0)Requirement already satisfied: regex>=2024.11.10 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from -r requirements.txt (line 2)) (2024.4.24)Requirement already satisfied: spacy>=2.3.7 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from -r requirements.txt (line 3)) (3.2.4)Requirement already satisfied: tqdm>=4.62.3 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from -r requirements.txt (line 4)) (4.64.0)Requirement already satisfied: visualdl>=2.2.2 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from -r requirements.txt (line 5)) (2.2.3)Requirement already satisfied: ansi2html in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from nvgpu>=0.9.0->-r requirements.txt (line 1)) (1.7.0)Requirement already satisfied: psutil in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from nvgpu>=0.9.0->-r requirements.txt (line 1)) (5.7.2)Requirement already satisfied: flask-restful in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from nvgpu>=0.9.0->-r requirements.txt (line 1)) (0.3.9)Requirement already satisfied: requests in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from nvgpu>=0.9.0->-r requirements.txt (line 1)) (2.22.0)Requirement already satisfied: pandas in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from nvgpu>=0.9.0->-r requirements.txt (line 1)) (1.1.5)Requirement already satisfied: flask in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from nvgpu>=0.9.0->-r requirements.txt (line 1)) (1.1.1)Requirement already satisfied: tabulate in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from nvgpu>=0.9.0->-r requirements.txt (line 1)) (0.8.3)Requirement already satisfied: six in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from nvgpu>=0.9.0->-r requirements.txt (line 1)) (1.16.0)Requirement already satisfied: pynvml in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from nvgpu>=0.9.0->-r requirements.txt (line 1)) (8.0.4)Requirement already satisfied: arrow in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from nvgpu>=0.9.0->-r requirements.txt (line 1)) (1.2.2)Requirement already satisfied: termcolor in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from nvgpu>=0.9.0->-r requirements.txt (line 1)) (1.1.0)Requirement already satisfied: wasabi<1.1.0,>=0.8.1 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from spacy>=2.3.7->-r requirements.txt (line 3)) (0.9.1)Requirement already satisfied: typer<0.5.0,>=0.3.0 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from spacy>=2.3.7->-r requirements.txt (line 3)) (0.4.1)Requirement already satisfied: click<8.1.0 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from spacy>=2.3.7->-r requirements.txt (line 3)) (8.0.4)Requirement already satisfied: blis<0.8.0,>=0.4.0 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from spacy>=2.3.7->-r requirements.txt (line 3)) (0.7.7)Requirement already satisfied: cymem<2.1.0,>=2.0.2 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from spacy>=2.3.7->-r requirements.txt (line 3)) (2.0.6)Requirement already satisfied: spacy-loggers<2.0.0,>=1.0.0 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from spacy>=2.3.7->-r requirements.txt (line 3)) (1.0.2)Requirement already satisfied: pydantic!=1.8,!=1.8.1,<1.9.0,>=1.7.4 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from spacy>=2.3.7->-r requirements.txt (line 3)) (1.8.2)Requirement already satisfied: numpy>=1.15.0 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from spacy>=2.3.7->-r requirements.txt (line 3)) (1.16.4)Requirement already satisfied: murmurhash<1.1.0,>=0.28.0 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from spacy>=2.3.7->-r requirements.txt (line 3)) (1.0.7)Requirement already satisfied: srsly<3.0.0,>=2.4.1 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from spacy>=2.3.7->-r requirements.txt (line 3)) (2.4.3)Requirement already satisfied: setuptools in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from spacy>=2.3.7->-r requirements.txt (line 3)) (41.4.0)Requirement already satisfied: jinja2 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from spacy>=2.3.7->-r requirements.txt (line 3)) (3.0.0)Requirement already satisfied: spacy-legacy<3.1.0,>=3.0.8 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from spacy>=2.3.7->-r requirements.txt (line 3)) (3.0.9)Requirement already satisfied: packaging>=20.0 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from spacy>=2.3.7->-r requirements.txt (line 3)) (21.3)Requirement already satisfied: langcodes<4.0.0,>=3.2.0 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from spacy>=2.3.7->-r requirements.txt (line 3)) (3.3.0)Requirement already satisfied: preshed<3.1.0,>=3.0.2 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from spacy>=2.3.7->-r requirements.txt (line 3)) (3.0.6)Requirement already satisfied: thinc<8.1.0,>=8.0.12 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from spacy>=2.3.7->-r requirements.txt (line 3)) (8.0.15)Requirement already satisfied: pathy>=0.3.5 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from spacy>=2.3.7->-r requirements.txt (line 3)) (0.6.1)Requirement already satisfied: typing-extensions<4.0.0.0,>=3.7.4 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from spacy>=2.3.7->-r requirements.txt (line 3)) (3.10.0.2)Requirement already satisfied: catalogue<2.1.0,>=2.0.6 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from spacy>=2.3.7->-r requirements.txt (line 3)) (2.0.7)Requirement already satisfied: Flask-Babel>=1.0.0 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from visualdl>=2.2.2->-r requirements.txt (line 5)) (1.0.0)Requirement already satisfied: Pillow>=7.0.0 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from visualdl>=2.2.2->-r requirements.txt (line 5)) (7.1.2)Requirement already satisfied: bce-python-sdk in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from visualdl>=2.2.2->-r requirements.txt (line 5)) (0.8.53)Requirement already satisfied: protobuf>=3.11.0 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from visualdl>=2.2.2->-r requirements.txt (line 5)) (3.14.0)Requirement already satisfied: shellcheck-py in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from visualdl>=2.2.2->-r requirements.txt (line 5)) (0.7.1.1)Requirement already satisfied: flake8>=3.7.9 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from visualdl>=2.2.2->-r requirements.txt (line 5)) (4.0.1)Requirement already satisfied: matplotlib in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from visualdl>=2.2.2->-r requirements.txt (line 5)) (2.2.3)Requirement already satisfied: pre-commit in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from visualdl>=2.2.2->-r requirements.txt (line 5)) (1.21.0)Requirement already satisfied: zipp>=0.5 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from catalogue<2.1.0,>=2.0.6->spacy>=2.3.7->-r requirements.txt (line 3)) (3.8.0)Requirement already satisfied: importlib-metadata in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from click<8.1.0->spacy>=2.3.7->-r requirements.txt (line 3)) (4.2.0)Requirement already satisfied: pycodestyle<2.9.0,>=2.8.0 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from flake8>=3.7.9->visualdl>=2.2.2->-r requirements.txt (line 5)) (2.8.0)Requirement already satisfied: pyflakes<2.5.0,>=2.4.0 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from flake8>=3.7.9->visualdl>=2.2.2->-r requirements.txt (line 5)) (2.4.0)Requirement already satisfied: mccabe<0.7.0,>=0.6.0 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from flake8>=3.7.9->visualdl>=2.2.2->-r requirements.txt (line 5)) (0.6.1)Requirement already satisfied: Werkzeug>=0.15 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from flask->nvgpu>=0.9.0->-r requirements.txt (line 1)) (0.16.0)Requirement already satisfied: itsdangerous>=0.24 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from flask->nvgpu>=0.9.0->-r requirements.txt (line 1)) (1.1.0)Requirement already satisfied: Babel>=2.3 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from Flask-Babel>=1.0.0->visualdl>=2.2.2->-r requirements.txt (line 5)) (2.8.0)Requirement already satisfied: pytz in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from Flask-Babel>=1.0.0->visualdl>=2.2.2->-r requirements.txt (line 5)) (2019.3)Requirement already satisfied: MarkupSafe>=2.0.0rc2 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from jinja2->spacy>=2.3.7->-r requirements.txt (line 3)) (2.0.1)Requirement already satisfied: pyparsing!=3.0.5,>=2.0.2 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from packaging>=20.0->spacy>=2.3.7->-r requirements.txt (line 3)) (3.0.8)Requirement already satisfied: smart-open<6.0.0,>=5.0.0 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from pathy>=0.3.5->spacy>=2.3.7->-r requirements.txt (line 3)) (5.2.1)Requirement already satisfied: certifi>=2017.4.17 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from requests->nvgpu>=0.9.0->-r requirements.txt (line 1)) (2019.9.11)Requirement already satisfied: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from requests->nvgpu>=0.9.0->-r requirements.txt (line 1)) (1.25.6)Requirement already satisfied: chardet<3.1.0,>=3.0.2 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from requests->nvgpu>=0.9.0->-r requirements.txt (line 1)) (3.0.4)Requirement already satisfied: idna<2.9,>=2.5 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from requests->nvgpu>=0.9.0->-r requirements.txt (line 1)) (2.8)Requirement already satisfied: python-dateutil>=2.7.0 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from arrow->nvgpu>=0.9.0->-r requirements.txt (line 1)) (2.8.2)Requirement already satisfied: future>=0.6.0 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from bce-python-sdk->visualdl>=2.2.2->-r requirements.txt (line 5)) (0.18.0)Requirement already satisfied: pycryptodome>=3.8.0 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from bce-python-sdk->visualdl>=2.2.2->-r requirements.txt (line 5)) (3.9.9)Requirement already satisfied: aniso8601>=0.82 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from flask-restful->nvgpu>=0.9.0->-r requirements.txt (line 1)) (9.0.1)Requirement already satisfied: kiwisolver>=1.0.1 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from matplotlib->visualdl>=2.2.2->-r requirements.txt (line 5)) (1.1.0)Requirement already satisfied: cycler>=0.10 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from matplotlib->visualdl>=2.2.2->-r requirements.txt (line 5)) (0.10.0)Requirement already satisfied: aspy.yaml in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from pre-commit->visualdl>=2.2.2->-r requirements.txt (line 5)) (1.3.0)Requirement already satisfied: cfgv>=2.0.0 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from pre-commit->visualdl>=2.2.2->-r requirements.txt (line 5)) (2.0.1)Requirement already satisfied: pyyaml in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from pre-commit->visualdl>=2.2.2->-r requirements.txt (line 5)) (5.1.2)Requirement already satisfied: nodeenv>=0.11.1 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from pre-commit->visualdl>=2.2.2->-r requirements.txt (line 5)) (1.3.4)Requirement already satisfied: toml in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from pre-commit->visualdl>=2.2.2->-r requirements.txt (line 5)) (0.10.0)Requirement already satisfied: virtualenv>=15.2 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from pre-commit->visualdl>=2.2.2->-r requirements.txt (line 5)) (16.7.9)Requirement already satisfied: identify>=1.0.0 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from pre-commit->visualdl>=2.2.2->-r requirements.txt (line 5)) (1.4.10)
登录后复制

数据准备

模型训练数据

情感分析任务:

中文推荐使用ChnSentiCorp,英文推荐使用SST-2。本模块提供的中英文情感分析模型就是基于这两个数据集的。若修改训练数据集,请修改/model_interpretation/task/senti/pretrained_models/train.py (RoBERTa) 以及 /model_interpretation/task/senti/rnn/train.py (LSTM)。

下载预训练模型

使用paddlenlp框架自动缓存模型文件。

其他数据下载

请运行download.sh自动下载

In [ ]
!chmod +x ./download.sh!./download.sh
登录后复制

评测数据

评测数据样例位于/model_interpretation/data/目录下,每一行为一条JSON格式的数据。

情感分析数据格式:

id: 数据的编号,作为该条数据识别key;context:原文本数据;sent_token:原文本数据的标准分词,注意:golden证据是基于该分词的,预测证据也需要与该分词对应;sample_type: 数据的类性,分为原始数据(ori)和扰动数据(disturb);rel_ids:与原始数据关联的扰动数据的id列表(只有原始数据有);
登录后复制

模型运行(情感分析)

模型训练

首先,进入task/senti/pretrained_models目录

In [3]
cd ./task/senti/pretrained_models
登录后复制
/home/aistudio/PaddleNLP-develop/examples/model_interpretation/task/senti/pretrained_models
登录后复制

修改run_train.sh中必要参数,然后运行run_train.sh

In [ ]
!chmod +x ./run_train.sh!./run_train.sh
登录后复制

等待训练完成即可。训练过程可查看pretrained_models/logs文件夹中的日志。

重要度分数获取

下一步就是给每一个token获取一个重要度分数。首先进入task/senti/目录

In [4]
cd ..
登录后复制
/home/aistudio/PaddleNLP-develop/examples/model_interpretation/task/senti
登录后复制

修改run_inter.sh中必要参数,并运行。

In [6]
!chmod +x ./run_inter.sh!./run_inter.sh
登录后复制
++ python3 ./saliency_map/sentiment_interpretable.py --language ch --base_model roberta_base --data_dir ../../data/senti_ch --vocab_path test --from_pretrained roberta-wwm-ext --batch_size 1 --init_checkpoint pretrained_models/saved_model_ch/roberta_base/model_900/model_state.pdparams --inter_mode attention --output_dir ./output/senti_ch.roberta_base --n-samples 200 --start_id 0 --eval/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/setuptools/depends.py:2: DeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses  import imp/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddle/fluid/framework.py:312: UserWarning: You are using GPU version Paddle, but your CUDA device is not set properly. CPU device will be used by default.  "You are using GPU version Paddle, but your CUDA device is not set properly. CPU device will be used by default."/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddlenlp/transformers/funnel/modeling.py:30: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated, and in 3.8 it will stop working  from collections import Iterable[2024-04-28 14:25:35,448] [    INFO] - Downloading https://bj.bcebos.com/paddlenlp/models/transformers/roberta_base/vocab.txt and saved to /home/aistudio/.paddlenlp/models/roberta-wwm-ext[2024-04-28 14:25:35,449] [    INFO] - Downloading vocab.txt from https://bj.bcebos.com/paddlenlp/models/transformers/roberta_base/vocab.txt100%|████████████████████████████████████████| 107k/107k [00:00<00:00, 2.07MB/s][2024-04-28 14:25:35,607] [    INFO] - Downloading https://paddlenlp.bj.bcebos.com/models/transformers/roberta_base/roberta_chn_base.pdparams and saved to /home/aistudio/.paddlenlp/models/roberta-wwm-ext[2024-04-28 14:25:35,607] [    INFO] - Downloading roberta_chn_base.pdparams from https://paddlenlp.bj.bcebos.com/models/transformers/roberta_base/roberta_chn_base.pdparams100%|████████████████████████████████████████| 390M/390M [00:35<00:00, 11.4MB/s]100it [00:17,  5.82it/s]
登录后复制

证据抽取

得到重要度分数后,我们就可以根据每个token的分数做证据抽取了。 首先我们去到证据抽取模块rationale_extraction目录。

In [7]
cd ../../rationale_extraction/
登录后复制
/home/aistudio/PaddleNLP-develop/examples/model_interpretation/rationale_extraction
登录后复制

修改generate.sh和run_2_pred_senti_per.sh中必要参数,并运行。

In [30]
!chmod +x ./generate.sh!./generate.sh
登录后复制
roberta_base_attention_chnum: 100+++ python3 ./sentiment_pred.py --base_model roberta_base --data_dir ./rationale/senti/roberta_base_attention_ch/rationale_text/dev --output_dir ./prediction/senti/roberta_base_attention_ch/rationale_text/dev --vocab_path test --from_pretrained roberta-wwm-ext --batch_size 1 --init_checkpoint ../task/senti/pretrained_models/saved_model_ch/roberta_base/model_900/model_state.pdparams --inter_mode attention --n-samples 200 --language ch/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/setuptools/depends.py:2: DeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses  import imp/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddle/fluid/framework.py:312: UserWarning: You are using GPU version Paddle, but your CUDA device is not set properly. CPU device will be used by default.  "You are using GPU version Paddle, but your CUDA device is not set properly. CPU device will be used by default."/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddlenlp/transformers/funnel/modeling.py:30: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated, and in 3.8 it will stop working  from collections import Iterable[2024-04-28 13:01:39,498] [    INFO] - Already cached /home/aistudio/.paddlenlp/models/roberta-wwm-ext/vocab.txt[2024-04-28 13:01:39,516] [    INFO] - Already cached /home/aistudio/.paddlenlp/models/roberta-wwm-ext/roberta_chn_base.pdparamsload data 100load model from ../task/senti/pretrained_models/saved_model_ch/roberta_base/model_900/model_state.pdparams100it [00:12,  8.05it/s]+++ for RATIONAL_TYPE in '"rationale_text"' '"rationale_exclusive_text"'+++ [[ ch == \e\n ]]+++ [[ ch == \c\h ]]+++ [[ roberta_base == \r\o\b\e\r\t\a\_\b\a\s\e ]]+++ FROM_PRETRAIN=roberta-wwm-ext+++ CKPT=../task/senti/pretrained_models/saved_model_ch/roberta_base/model_900/model_state.pdparams+++ OUTPUT=./prediction/senti/roberta_base_attention_ch/rationale_exclusive_text/dev+++ '[' -d ./prediction/senti/roberta_base_attention_ch/rationale_exclusive_text/dev ']'+++ set -x+++ python3 ./sentiment_pred.py --base_model roberta_base --data_dir ./rationale/senti/roberta_base_attention_ch/rationale_exclusive_text/dev --output_dir ./prediction/senti/roberta_base_attention_ch/rationale_exclusive_text/dev --vocab_path test --from_pretrained roberta-wwm-ext --batch_size 1 --init_checkpoint ../task/senti/pretrained_models/saved_model_ch/roberta_base/model_900/model_state.pdparams --inter_mode attention --n-samples 200 --language ch/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/setuptools/depends.py:2: DeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses  import imp/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddle/fluid/framework.py:312: UserWarning: You are using GPU version Paddle, but your CUDA device is not set properly. CPU device will be used by default.  "You are using GPU version Paddle, but your CUDA device is not set properly. CPU device will be used by default."/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddlenlp/transformers/funnel/modeling.py:30: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated, and in 3.8 it will stop working  from collections import Iterable[2024-04-28 13:02:11,937] [    INFO] - Already cached /home/aistudio/.paddlenlp/models/roberta-wwm-ext/vocab.txt[2024-04-28 13:02:11,954] [    INFO] - Already cached /home/aistudio/.paddlenlp/models/roberta-wwm-ext/roberta_chn_base.pdparamsload data 100load model from ../task/senti/pretrained_models/saved_model_ch/roberta_base/model_900/model_state.pdparams100it [00:12,  7.70it/s]roberta_base_attention_ch_finished
登录后复制

评估

最后我们使用evaluation目录下的评估模块,评估一下结果

In [8]
cd ../evaluation/
登录后复制
/home/aistudio/PaddleNLP-develop/examples/model_interpretation/evaluation
登录后复制

以合理性评估为例,进入plausibility目录,修改run_f1.sh中必要的参数,运行run_f1.sh

In [9]
cd ./plausibility/
登录后复制
/home/aistudio/PaddleNLP-develop/examples/model_interpretation/evaluation/plausibility
登录后复制In [10]
!chmod +x ./run_f1.sh!./run_f1.sh
登录后复制
roberta_base_attention_chnum4.00macor_f1: 46.2
登录后复制

评估报告

中文情感分析评估报告样例:

来源:https://www.php.cn/faq/1410239.html
免责声明: 游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。

相关攻略

37年历史落幕!Linux取消支持Intel 486 CPU
电脑教程
37年历史落幕!Linux取消支持Intel 486 CPU

4月6日消息,诞生37年的Intel486处理器,即将彻底告别现代Linux系统。据科技媒体Phoronix报道,Linux内核开发者已启动对486处理器支持的移除工作,相关补丁确认将合入Linux

热心网友
04.07
Win11 → WSL2 → Ubuntu → OpenClaw大龙虾安装
AI
Win11 → WSL2 → Ubuntu → OpenClaw大龙虾安装

Win11 → WSL2 → Ubuntu → OpenClaw 的直接流程 想在 Windows 上顺畅地用上 OpenClaw?其实核心就一条:先在 WSL2 里搭好 Ubuntu 这个“标准环境”。下面这个流程,你按顺序一步步执行就行,能避开不少弯路。 第一步:安装 WSL2 与 Ubuntu

热心网友
04.07
wsl安装OpenClaw
AI
wsl安装OpenClaw

参考指南与学习资料 若您希望在本地快速搭建并部署一个个人智能助手,OpenClaw 框架是一个理想的入门选择。为了帮助开发者更高效地上手,社区中已有丰富的学习资源与讨论可供参考,主要包括:OpenClaw 新手入门教程、核心命令行工具使用指南(openclaw -h 查看帮助)、配置文件的参数详解,

热心网友
04.02
openclaw 究极离谱的坑
AI
openclaw 究极离谱的坑

1 openclaw 工具权限报错解决方案:无法使用 exec read write webfetch 等工具的修复方法 当您在配置 openclaw 时遇到工具权限报错,提示缺少 exec、read、write、webfetch 等关键工具的使用权限,通常无需深入排查复杂的系统环境。此问题在多数

热心网友
04.02
OpenClaw 安装教程(Linux)
AI
OpenClaw 安装教程(Linux)

本次部署指南的核心目标非常明确:在 Linux 环境中,无论是云服务器还是本地物理机,我们都需要完整地完成 OpenClaw 智能体框架的安装与部署,并通过基础的健康检查与功能验证,确保整个系统能够成功启动并稳定运行。 一、环境要求 在开始动手安装之前,我们首先需要确认系统满足所有的基础运行环境要求

热心网友
04.02

最新APP

宝宝过生日
宝宝过生日
应用辅助 04-07
台球世界
台球世界
体育竞技 04-07
解绳子
解绳子
休闲益智 04-07
骑兵冲突
骑兵冲突
棋牌策略 04-07
三国真龙传
三国真龙传
角色扮演 04-07

热门推荐

比特币重探7万美元,市场已全面消化美伊战争风险?
web3.0
比特币重探7万美元,市场已全面消化美伊战争风险?

清明节假期期间,A 股和港股休市,但比特币行情永不停歇。 4月6日,当多数市场还在假期中沉睡时,比特币已经悄然启动。价格从亚洲早盘的低点67400美元出发,一路向上试探,盘中最高涨破70300美元,不仅刷新了3月26日以来的高位,较日内低点的涨幅也超过了4%。以太坊的表现同样不俗,从2050美元附近

热心网友
04.07
魏思琪换上新机!REDMI K90至尊版来了 小米首款风冷旗舰
网络安全
魏思琪换上新机!REDMI K90至尊版来了 小米首款风冷旗舰

4月5日消息,日前,REDMI K90至尊版通过3C认证,预计将于本月发布。今日,小米中国区市场部总经理魏思琪用小米新机发布微博,不出意外,这正是即将登场的REDMI K90至尊版,这将是小米首款配

热心网友
04.07
WPS动态交互图表制作指南:让数据变化直观呈现
电脑教程
WPS动态交互图表制作指南:让数据变化直观呈现

WPS演示中图表不随数据更新时,可通过四种方法实现自动同步:一、用OFFSET+COUNTA定义动态名称绑定图表;二、用组合框控件联动VLOOKUP提取数据;三、用数据透视图配合切

热心网友
04.07
“链接未来·智汇静安”区块链创新应用优秀场景分享(四)| 信医基于区块链与隐私计算的真实世界研究数据产品
科技数码
“链接未来·智汇静安”区块链创新应用优秀场景分享(四)| 信医基于区块链与隐私计算的真实世界研究数据产品

聚焦数字技术,释放创新动能。为集中展示静安区区块链技术从“实验室”走向“应用场”的丰硕成果,挖掘一批可复制、可推广的行业解决方案,加速构建区块链产业生态闭环,静安区数据局特推出“静安区区块链创新应用

热心网友
04.07
天上的马桶与地上的火药桶,都在让美国出糗
科技数码
天上的马桶与地上的火药桶,都在让美国出糗

太空中的马桶堵了,边飞边修还能勉强用。但中东被点燃的火药桶,美国怎么来扑灭?靠一再延期的“最后通牒”?还是靠无底线的轰炸?2300万美元的马桶美国航空航天局4名宇航员1日搭乘“猎户座”飞船升空,执行

热心网友
04.07