cardmagic/classifier
A general classifier module to allow Bayesian and LSI classifications.
해결하는 문제
이 도구는 Ruby에서 텍스트 분류 및 용어 중요도 점수를 위한 도구 세트를 제공하여, 개발자가 복잡한 머신러닝 파이프라인을 처음부터 구축하지 않고도 텍스트를 분류(예: 스팸 탐지 또는 감성 분석)하거나 핵심 용어를 추출할 수 있도록 합니다.
작동 방식
이 라이브러리는 다양한 분류 요구 사항을 처리하기 위해 다섯 가지 다른 알고리즘을 구현합니다:
- 베이지안: 일반적인 분류를 위한 빠르고 단일 패스 학습.
- 로지스틱 회귀: 각 카테고리에 대한 보정된 확률을 제공.
- LSI(잠재 의미 인덱싱): 유사성과 검색에 중점을 두며, 고성능을 위한 네이티브 C 확장과 전체 인덱스 재구성 없이 증분 업데이트가 가능한 브랜드 알고리즘을 사용.
- k-최근접 이웃(KNN): 가장 유사한 학습 예제를 기반으로 분류.
- TF-IDF: 카테고리 할당이 아니라 코퍼스 전체에 비해 용어의 중요도를 스코어링.
사전 학습된 모델을 사용하여 즉시 분류할 수 있는 명령줄 인터페이스(CLI)와 모델을 파일, Redis, S3, 또는 SQL 데이터베이스에 저장할 수 있는 플러그인식 영속성 시스템이 포함되어 있습니다.
대상 사용자
- 애플리케이션에 텍스트 분류 기능을 통합하고자 하는 Ruby 개발자.
- 코드를 작성하지 않고도 텍스트 분석이나 키워드 추출을 원하는 사용자.
- 대규모 데이터셋을 다루며 메모리 과부하를 피하기 위해 스트리밍 학습을 필요로 하는 개발자.
주요 특징
- 다양한 알고리즘: 베이즈, 로지스틱 회귀, LSI, KNN, TF-IDF를 지원.
- 고성능: 네이티브 C 확장으로 인해 LSI 연산이 순수 Ruby보다 5~50배 빠릅니다.
- 증분 LSI: 전체 인덱스를 재구성하지 않고도 새로운 문서를 LSI 인덱스에 추가할 수 있습니다.
- 스트리밍 지원: 메모리에 전체 데이터를 로드하지 않고도 수기가바이트 규모의 데이터셋을 스트리밍으로 학습할 수 있습니다.
- 유연한 영속성: S3, Redis, SQL 등 플러그인식 저장 옵션을 제공합니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트