Этот репозиторий содержит первоначальный прототип интерактивного приложения, написанного на Flask, который объясняет результаты детальной классификации настроений, подробно описанной в этой средней серии.
Реализован ряд классификаторов, а их результаты объяснены с помощью объяснителя LIME. Классификаторы были обучены на наборе данных Stanford Sentiment Treebank (SST-5). Метками классов являются любые из [1, 2, 3, 4, 5]
, где 1
— очень отрицательное, а 5
— очень положительное.
Сначала настройте виртуальную среду и установите ее из requirements.txt
:
python3 -m venv venv
source venv/bin/activate
pip3 install -r requirements.txt
Для дальнейшего развития просто активируйте существующую виртуальную среду.
source venv/bin/activate
Запустите файл app.py
, затем введите предложение, выберите тип классификатора и нажмите кнопку Explain results!
. Затем мы можем наблюдать признаки (т. е. слова или токены), которые способствовали тому, что классификатор предсказал конкретную метку класса.
Интерфейсное приложение берет образец текста и выводит объяснения LIME для различных методов. Приложение развертывается с помощью Heroku по следующему адресу: https://sst5-explainer.herokuapp.com/.
Поиграйте со своими собственными текстовыми примерами, как показано ниже, и посмотрите детальное объяснение результатов тональности!
ПРИМЕЧАНИЕ. Поскольку модели на основе PyTorch (Flair и причинный преобразователь) довольно дороги для выполнения вывода (для них требуется графический процессор), эти методы не развертываются.