? Онлайн -демо -демоверсии: http://tworld.io/ss3/ ???
Text Classifier SS3 - это новая и простая модель машинного обучения, которая для классификации текста, которая интерпретируется, то есть он обладает способностью естественным образом (самостоятельно) объяснять свое обоснование . Первоначально он был введен в разделе 3 статьи «Структура классификации текста для простого и эффективного обнаружения ранней депрессии по потокам социальных сетей» (Arxiv Preprint). Эта простая модель получила лучшие и 2-е лучшие результаты, последовательно, в последних трех выпусках лаборатории Clef Erisk среди всех участвующих моделей [Burdisso et al. 2019; Loyola et al. 2021]. Учитывая его природу белого ящика, он позволяет исследователям и практикующим врачам развертываться интерпретируемым (т.е. самостоятельно) и, следовательно, более надежные модели для классификации текста (которые могут быть особенно полезны для тех, кто работает с проблемами классификации, с помощью которых могут каким-то образом повлиять жизнь людей).
Примечание. Этот пакет также включает в себя различные вариации исходной модели, например, представленную в «T-SS3: текстовый классификатор с динамическими N-граммами для раннего обнаружения риска по потокам текста» (ARXIV Preprint), который позволяет SS3 распознавать важные слова n-grams с важной длиной, «на лету».
PYSS3 - это пакет Python, который позволяет вам работать с SS3 очень простым, интерактивным и визуальным способом. В дополнение к реализации классификатора SS3, PYSS3 поставляется с набором инструментов, которые помогут вам разрабатывать модели машинного обучения более четким и быстрее. Эти инструменты позволяют вам анализировать, отслеживать и понимать ваши модели, позволяя вам увидеть, что они на самом деле узнали и почему. Чтобы достичь этого, PYSS3 предоставляет вам 3 основных компонента: класс SS3 , класс Live_Test и класс Evaluation , как указано ниже.
SS3который реализует классификатор, используя четкий API. Например, давайте сначала загрузите один из наборов данных учебника:
from pyss3 . util import Dataset
url = "https://github.com/sergioburdisso/pyss3/raw/master/examples/datasets/movie_review.zip"
x_train , y_train = Dataset . load_from_url ( url , "train" )
x_test , y_test = Dataset . load_from_url ( url , "test" ) Теперь давайте тренируем нашу первую модель SS3! Обратите внимание, что API очень похож на модели sklearn :
from pyss3 import SS3
clf = SS3 ()
clf . fit ( x_train , y_train )
y_pred = clf . predict ( x_test ) Кроме того, этот класс предоставляет несколько других полезных методов, таких как, например, extract_insight() чтобы извлечь фрагменты текста, участвующие в решении о классификации (позволяя вам лучше понять обоснование прогнозов модели) или classify_multilabel() для обеспечения поддержки классификации многополучительной классификации:
doc = "Liverpool CEO Peter Moore on Building a Global Fanbase"
# standard "single-label" classification
label = clf . classify_label ( doc ) # 'business'
# multi-label classification
labels = clf . classify_multilabel ( doc ) # ['business', 'sports']Live_TestЧто позволяет вам интерактивно проверять свою модель и визуально увидеть причины, связанные с решениями классификации, только с одной строкой кода :
from pyss3 . server import Live_Test
clf = SS3 ()
clf . fit ( x_train , y_train )
Live_Test . run ( clf , x_test , y_test ) # <- this one! cool uh? :) Как показано на изображении ниже, это откроется локально, интерактивный инструмент в вашем браузере, который вы можете использовать для (живого) проверки ваших моделей с помощью документов, приведенных в x_test (или набрать сами!). Это позволит вам визуализировать и понимать, что на самом деле учится ваша модель.
Например, мы загрузили два из этих живых тестов в Интернете, чтобы вы попробовали: «Обзор фильмов (анализ настроений)» и «Категоризация темы», оба были получены после учебников.
Evaluation Это, вероятно, один из самых полезных компонентов Pyss3. Как следует из названия, этот класс предоставляет пользователю простые в использовании методы для оценки модели и оптимизации гиперпараметрических данных, например, test , kfold_cross_validation , grid_search и plot для выполнения тестов, стратифицированные валидации K-сбалты, поиск сетки для оптимизации гиперпараметрий и визуализирующие результаты оценки с использованием интернативного 3D-участка соответственно. Вероятно, одной из наиболее важных функций является возможность автоматически (и навсегда) записывать историю оценки, которые вы выполнили. Это сэкономит вам много времени и позволит вам интерактивно визуализировать и анализировать производительность классификатора с точки зрения различных значений гиперпараметров (и выберите лучшую модель в соответствии с вашими потребностями). Например, давайте выполним поиск в сетке с 4-кратной перекрестной проверкой на трех гиперпараметрах, гладкостью ( s ), значимостью ( l ) и санкциями ( p ):
from pyss3 . util import Evaluation
best_s , best_l , best_p , _ = Evaluation . grid_search (
clf , x_train , y_train ,
s = [ 0.2 , 0.32 , 0.44 , 0.56 , 0.68 , 0.8 ],
l = [ 0.1 , 0.48 , 0.86 , 1.24 , 1.62 , 2 ],
p = [ 0.5 , 0.8 , 1.1 , 1.4 , 1.7 , 2 ],
k_fold = 4
) В этом иллюстративном примере s , l и p примут эти 6 различных значений каждый, и как только поиск закончится, эта функция вернет (по умолчанию) значения гиперпараметра, которые получили наилучшую точность. Теперь мы могли бы также использовать функцию plot для анализа результатов, полученных в нашем поиске сетки, используя интерактивный 3D -график оценки:
Evaluation . plot () На этом трехмерном графике каждая точка представляет эксперимент/оценку, выполняемую с использованием этой конкретной комбинации значений ( s , l и p ). Кроме того, эти точки окрашены пропорциональными тому, насколько хороша была производительность в соответствии с выбранной метрикой; График будет обновлять «на лету», когда пользователь выберет другую метрику оценки (точность, точность, отзыв, F1 и т. Д.). Кроме того, когда курсор перемещается по точке данных, показана полезная информация (включая «компактное» представление матрицы путаницы, полученной в этом эксперименте). Наконец, стоит упомянуть, что, прежде чем показывать 3D -графики, PYSS3 создает один и портативный HTML -файл в папке проекта, содержащий интерактивные графики. Это позволяет пользователям хранить, отправлять или загружать графики в другое место с помощью этого единого HTML -файла. Например, мы загрузили два из этих файлов, чтобы вы могли увидеть: «Анализ настроений (обзоры фильмов)» и «Категоризация темы», оба участка оценки также были получены после учебных пособий.
Просто перейдите на страницу начала работы: D
Просто используйте:
pip install pyss3 Спасибо за ваш интерес к проекту, вы !! Любая помощь очень приветствуется (код, отчеты об ошибках, контент, данные, документация, дизайн, примеры, идеи, обратная связь и т. Д.), Проблемы и/или запросы на привлечение приветствуются для любого уровня улучшения, от небольшой опечатки до новых функций, помогите нам сделать PYSS3 лучше?
Помните, что вы можете использовать кнопку «Редактировать» («Карандаш»), чтобы редактировать любой файл этого репо непосредственно на GitHub.
Наконец, если вы планируете создать новый запрос на привлечение , чтобы принять участие в этом репо, мы следуем «Семь правилам отличного сообщения GIT Commit» из «Как написать сообщение GIT Commit», поэтому убедитесь, что ваши коммиты также следуют за ними.
(Если вам нужна дополнительная информация, пожалуйста, не стесняйтесь обращаться ко мне - [email protected])
Спасибо этим замечательным людям (ключ смайликов):
Флориан Ангермейр ? ? | Муниб Вайяни ? ? | Саураб Бора ? | Хьюберт Баницкий ? |
Этот проект следует за спецификацией всех контролей. Взносы любого вида приветствуются!
Полная документация
Документация API
Бумажный препринт