? 온라인 라이브 데모 : http://tworld.io/ss3/ ???
SS3 텍스트 분류기는 해석 가능한 텍스트 분류를위한 참신하고 간단한 감독 기계 학습 모델입니다. 즉, 자연스럽게 (자체) 근거를 설명 할 수 있습니다. 원래이 논문의 3 장에서 "소셜 미디어 스트림에 대한 간단하고 효과적인 조기 우울증 탐지를위한 텍스트 분류 프레임 워크" (ARXIV Preprint)에서 소개되었습니다. 이 간단한 모델은 모든 참여 모델 중 CLEF의 Erisk 실험실의 마지막 3 판에서 연속적으로 최고 및 두 번째로 좋은 결과를 얻었습니다 [Burdisso et al. 2019; Loyola et al. 2021]. 화이트 박스 특성을 고려할 때 연구원과 실무자는 해석 가능한 (즉, 자체 설명 가능)를 배치 할 수 있으므로보다 신뢰할 수있는 텍스트 분류 모델 (사람들의 삶에 영향을 줄 수있는 분류 문제로 일하는 사람들에게 특히 유용 할 수 있음).
참고 : 이 패키지는 또한 "T-SS3 : 텍스트 스트림에 대한 초기 위험 감지를위한 동적 N- 그램이있는 텍스트 분류기" (ARXIV Preprint)에 소개 된 것과 같은 원래 모델의 다양한 변형을 통합하여 SS3은 중요한 가변 길이의 N- 그램을 "즉석에서"인식 할 수있게합니다.
PYSS3는 매우 간단하고 대화식 및 시각적 방식으로 SS3에서 작업 할 수있는 파이썬 패키지입니다. SS3 분류기의 구현 외에도 PYSS3에는 기계 학습 모델을 더 명확하고 빠르게 개발하는 데 도움이되는 일련의 도구가 제공됩니다. 이 도구를 사용하면 실제로 배운 내용과 이유를 확인하여 모델을 분석, 모니터링 및 이해할 수 있습니다. 이를 달성하기 위해 PYSS3은 아래에 지적 된대로 SS3 클래스, Live_Test 클래스 및 Evaluation 클래스의 3 가지 주요 구성 요소를 제공합니다.
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 ) 또한이 클래스는 예를 들어 분류 결정과 관련된 텍스트 조각 (모델 예측의 이론적 근거를 더 잘 이해할 수 있도록 함) 또는 classify_multilabel() 과 같은 소수의 다른 유용한 방법을 제공하여 다중 레이블 extract_insight() 지원을 제공합니다.
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 및 tests를위한 plot 방법, 계층화 된 K- 폴드 교차 검증, 과다 파라미터 최적화를위한 GRID 검색, 각각의 중간적 3D 플로트를 사용한 GRID 검색과 같은 모델 평가 및 하이퍼 파라미터 최적화를위한 사용하기 쉬운 방법을 제공합니다. 아마도 가장 중요한 기능 중 하나는 수행 한 평가 기록을 자동으로 (그리고 영구적으로) 기록하는 능력 일 것입니다. 이렇게하면 많은 시간을 절약 할 수 있으며 다양한 하이퍼 파라미터 값 측면에서 분류기 성능을 대화식으로 시각화하고 분석 할 수 있습니다 (필요에 따라 최상의 모델을 선택하십시오). 예를 들어, 3 개의 하이퍼 파라미터, s , 중요성 ( l ) 및 제재 ( p )에 4 배 교차 검증으로 그리드 검색을 수행하겠습니다.
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 () 이 3D 플롯에서, 각 지점은 해당 값 ( s , l 및 p )의 특정 조합을 사용하여 수행 된 실험/평가를 나타냅니다. 또한,이 지점은 선택된 메트릭에 따라 성능이 얼마나 좋은지에 비례하여 페인트됩니다. 플롯은 사용자가 다른 평가 메트릭 (정확도, 정밀, 리콜, F1 등)을 선택하면 "즉시"업데이트됩니다. 또한 커서가 데이터 포인트를 통해 이동할 때 유용한 정보가 표시됩니다 (해당 실험에서 얻은 혼란 매트릭스의 "소형"표현 포함). 마지막으로, 3D 플롯을 표시하기 전에 PYSS3은 대화식 플롯이 포함 된 프로젝트 폴더에 단일 및 휴대용 HTML 파일을 만듭니다. 이를 통해 사용자는이 단일 HTML 파일을 사용하여 플롯을 다른 장소에 저장, 전송 또는 업로드 할 수 있습니다. 예를 들어, 우리는이 파일 중 두 파일을 업로드하여 "감정 분석 (영화 리뷰)"및 "주제 분류"를 확인했습니다. 두 평가 플롯은 튜토리얼에 따라 모두 얻었습니다.
시작 페이지로 이동 페이지 : d
간단히 사용 :
pip install pyss3 프로젝트에 관심을 가져 주셔서 감사합니다. 모든 도움이 환영합니다 (코드, 버그 보고서, 콘텐츠, 데이터, 문서, 디자인, 예제, 아이디어, 피드백 등), 작은 오타에서 새로운 기능에 이르기까지 모든 개선에 대한 문제 및/또는 풀 요청은 PYSS3을 더 좋게 만드는 데 도움이됩니까?
"편집"버튼 ( 'Pencil'아이콘)을 상단 위로 사용하여 Github 에서이 리베르의 모든 파일을 편집 할 수 있습니다.
마지막으로,이 REPO에 커밋하기 위해 새로운 풀 요청을 작성하려는 경우 "Git Commit 메시지 작성 방법"에서 "Git Git Commit Message의 7 가지 규칙"을 따릅니다.
(추가 정보가 필요하면 주저하지 말고 저에게 연락하십시오 [email protected])
이 멋진 사람들에게 감사합니다 (이모티콘 키) :
플로리 안 분노 ? ? | Muneeb Vaiyani ? ? | 사우 라브 보라 ? | 허버트 바니 에키 ? |
이 프로젝트는 All-Contritors 사양을 따릅니다. 모든 종류의 공헌을 환영합니다!
전체 문서
API 문서
종이 사전 인쇄