apache/opennlp
Apache OpenNLP
해결하는 문제
Apache OpenNLP는 자연어 텍스트를 처리하기 위한 포괄적인 기계 학습 기반 도구 세트를 제공합니다. 복잡한 모델을 처음부터 구축해야 하는 일반적인 NLP 작업을 위한 성숙한 툴킷을 제공하여 고급 텍스트 처리 서비스 생성을 간소화합니다.
작동 방식
전적으로 Java로 작성된 이 라이브러리는 텍스트를 분석하기 위해 최대 엔트로피, 퍼셉트론, 나이브 베이즈, 서포트 벡터 머신(SVM)을 포함한 다양한 기계 학습 분류기를 구현합니다. Java API를 통해 프로그래밍 방식으로 사용하거나 명령줄 인터페이스(CLI)를 통해 사용할 수 있습니다. 현대 딥 러닝 요구 사항을 위해 선택적 GPU 가속이 포함된 ONNX 모델용 어댑터가 포함되어 있습니다. 이 툴킷은 모듈식으로, 애플리케이션 공간을 작게 유지하기 위해 필요한 특정 구성 요소(예: 토큰화 또는 명명된 엔터티 추출)만 가져올 수 있습니다.
대상 사용자
텍스트 처리 애플리케이션을 구축하는 Java 개발자와 Apache Flink, Apache NiFi 또는 Apache Spark와 같은 분산 스트리밍 데이터 파이프라인에 NLP 기능을 통합하는 데이터 엔지니어를 위해 설계되었습니다.
주요 기능
- 광범위한 작업 지원: 토큰화, 문장 분리, 품사 태깅, 명명된 엔터티 추출, 청킹, 구문 분석, 공지시 해결, 언어 감지를 처리합니다.
- 다국어 지원: 11개 언어에 대한 불용어 필터링을 포함하고 다양한 언어에 대한 사전 구축 모델을 제공합니다.
- 유연한 배포: API 및 CLI 사용을 모두 지원하며 딥 러닝 모델을 위해 ONNX와 통합됩니다.
- 엔터프라이즈 준비: 안정성과 확장성을 위해 구축되었으며 버전 3.0.0+에서 스레드 안전 핵심 클래스를 제공합니다.
관련
- 프로젝트
JohnSnowLabs/spark-nlpSpark NLP는 Apache Spark 네이티브 라이브러리로, 200개 이상의 언어에 대해 방대한 사전 학습된 NLP 및 LLM 모델(BERT, Llama-2, Whisper, Vision Transformers 등)을 제공합니다. CPU, GPU, Apple-silicon 및 AArch64 빌드를 지원하며, TensorFlow/ONNX/OpenVINO에서 모델을 가져올 수 있고, 모든 Spark 클러스터(Databricks, EMR, GCP Dataproc 등)에서 실행 가능합니다. pip 또는 Maven을 통해 설치하고 `sparknlp.start()`로 Spark 세션을 시작하여 사전 학습된 파이프라인을 로드하면 엔티티, 품사 태그, 임베딩, 번역 또는 생성된 텍스트와 같은 토큰 수준의 주석을 얻을 수 있습니다. Apache 2.0 라이선스로 제공됩니다.
- 프로젝트
ahmetaa/zemberek-nlpZemberek-NLP는 터키어 전용 NLP 도구(토큰화, 형태소 분석, 맞춤법 검사, 언어 식별, fastText 기반 분류 등)를 제공하는 Java 라이브러리입니다. Maven 모듈 또는 단일 JAR로 배포되며, 콘솔 앱과 gRPC 서버를 포함하고 있습니다. 라이선스는 Apache 2.0입니다. 프로젝트는 현재 저빈도 유지보수 모드이며, 최신 버전은 0.17.1 (2019)입니다.
- 프로젝트
- 프로젝트
stanfordnlp/CoreNLPJava 기반의 자연어 처리 프레임워크로, 품사 태깅, 개체명 인식, 구문 분석을 포함하여 원시 텍스트를 분석하기 위한 도구 모음을 제공합니다.
- 프로젝트
hankcs/HanLPHanLP는 130개 언어에 걸쳐 토큰화, 품사 태깅, 파싱, SRL, AMR 등을 위한 사전 훈련된 모델을 제공하는 다국어 NLP 라이브러리(Python/Java)입니다. 네이티브 Python API와 소형 RESTful 클라이언트를 모두 제공하여 통합을 용이하게 하며, 재현성을 강조하고 Apache 2.0(코드) 및 CC BY-NC-SA 4.0(모델)로 배포됩니다.