csharp-catalyst

Procesamiento de lenguaje natural en C# con Catalyst

Catalyst es una biblioteca de código abierto para C# diseñada para facilitar el procesamiento de lenguaje natural (NLP) en aplicaciones .NET.

Proporciona herramientas avanzadas para análisis de texto, tokenización, y modelado de lenguaje, permitiendo a los desarrolladores integrar capacidades NLP en sus aplicaciones de manera eficiente pero sencilla.

La gran fortaleza de Catalyst radica en su enfoque en la velocidad. Está diseñada para ofrecer un procesamiento rápido y eficiente de textos, lo que la hace ideal para aplicaciones que requieren un PLN ágil.

Características de Catalyst,

  • Tokenización y análisis morfológico: Descompone el texto en palabras y analiza su estructura.
  • Etiquetado de partes del discurso (POS tagging): Identifica y etiqueta las partes del discurso en el texto.
  • Reconocimiento de entidades nombradas (NER): Detecta y clasifica entidades nombradas como personas, lugares y organizaciones.
  • Modelo de lenguaje: Facilita la creación y uso de modelos de lenguaje para diversas tareas NLP.
  • Soporte para múltiples idiomas: Compatible con una amplia gama de idiomas.
  • Extensible y modular: Permite la integración con otros componentes y la extensión de funcionalidades.

Catalyst es Open Source y todo su código y documentación están disponibles en el repositorio del proyecto en GitHub - curiosity-ai/catalyst.

Instalación de Catalyst

Para comenzar a utilizar Catalyst en tu proyecto de .NET, primero debes instalar la biblioteca a través de NuGet. Puedes hacerlo mediante el Administrador de paquetes NuGet en Visual Studio o utilizando la consola de NuGet.

Install-Package Catalyst

Cómo usar Catalyst

Tokenización de texto

Este ejemplo muestra cómo utilizar Catalyst para tokenizar un texto en palabras individuales.

Catalyst.Models.Spanish.Register(); //You need to pre-register each language (and install the respective NuGet Packages)


var sentence = "El veloz zorro Luis marrón salta sobre el perro perezoso";
Storage.Current = new DiskStorage("catalyst-models");
var nlp = await Pipeline.ForAsync(Language.Spanish);
var doc = new Document(sentence, Language.Spanish);
nlp.ProcessSingle(doc);
Console.WriteLine(doc.ToJson());