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 分數的支持。
  • 並行安全: 所有核心分析工具在並行使用時都是安全的。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案