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 등 플러그인식 저장 옵션을 제공합니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트