curiosity-ai/catalyst

🚀 Catalyst is a C# Natural Language Processing library built for speed. Inspired by spaCy's design, it brings pre-trained models, out-of-the box support for training word and document embeddings, and flexible entity recognition models.

해결하는 문제

Catalyst는 C# 및 .NET을 위한 고성능 자연어 처리(NLP) 라이브러리로, spaCy와 같은 라이브러리에서 제공하는 산업 수준의 NLP 기능을 .NET 생태계 내에서 제공하도록 설계되었습니다. 외부 Python 기반 서비스에 의존하지 않고 C# 애플리케이션에 직접 통합할 수 있는 빠르고 크로스플랫폼 텍스트 처리 도구의 필요성을 해결합니다.

작동 방식

이 라이브러리는 문서를 처리하기 위한 파이프라인 기반 접근 방식을 사용합니다. 1초당 100만 개 이상의 토큰을 처리할 수 있는 비파괴적 토크나이저를 제공합니다. Universal Dependencies 프로젝트 기반의 사전 학습된 모델을 활용하며, 가제테어, 규칙 기반 패턴, 퍼셉트론 기반 모델 등 다양한 엔티티 인식 방법을 지원합니다. 임베딩은 FastText 및 StarSpace를 사용한 학습을 기본적으로 지원합니다.

대상 사용자

C# 환경을 벗어나지 않고도 토크나이제이션, 품사 태깅, 어간 추출, 명명된 엔티티 인식과 같은 고급 NLP 작업을 소프트웨어에 통합하고자 하는 .NET 개발자.

주요 특징

  • 고성능: RegEx를 거의 사용하지 않는 순수 C# 구현으로 속도를 극대화합니다.
  • 크로스플랫폼: .NET Standard 2.0 및 .NET Core를 지원하며 Windows, Linux, macOS, ARM에서 실행 가능합니다.
  • 포괄적인 도구 세트: 품사 태깅, 어간 추출, 언어 감지(FastText 또는 cld3 사용)를 포함합니다.
  • 확장 가능한 모델 관리: MessagePack을 사용한 바이너리 직렬화를 통해 모델을 저장하고 로드하거나, 온라인 리포지토리에서 지연 로드할 수 있습니다.
  • 임베딩 지원: FastText 및 StarSpace를 사용한 단어 및 문서 임베딩 학습을 네이티브로 지원합니다.

관련

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