jdkato/prose

:book: A Golang library for text processing, including tokenization, part-of-speech tagging, and named-entity extraction.

解决的问题

它为 Go 编程语言提供了一套全面的自然语言处理 (NLP) 工具,允许开发人员在不依赖外部服务或基于 C 的依赖 (cgo) 的情况下分析英文文本。

工作原理

该库实现了一个 NLP 任务流水线。它使用 Punkt 算法进行句子分割,使用 Penn Treebank 标签集进行词性标注。它包含用于标注和命名实体识别 (NER) 的预训练模型,这些模型在每个进程中仅加载到内存中一次。为了保持较小的二进制文件大小,这些模型被分离到各自的包中,允许 Go 链接器排除未使用的组件。

适用对象

需要在独立的、纯 Go 环境中执行分词、实体提取和可读性评分等基本 NLP 任务的 Go 开发人员。

亮点

  • 纯 Go: 不需要 cgo 或外部 API 调用。
  • 字节级偏移量: 每个分词、句子和实体都保持与原始源文本精确的字节偏移量。
  • 模块化设计: 诸如标注器和实体识别器之类的组件可以独立导入,以减少二进制文件开销。
  • 可读性指标: 内置对 Flesch–Kincaid、Gunning fog、SMOG 和 Coleman–Liau 分数的支持。
  • 并发安全: 所有核心分析工具在并发使用时都是安全的。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目