Metadata-Version: 2.4
Name: zenlp
Version: 0.1.0
Summary: 一个为Python设计的极简、优雅的自然语言处理（NLP）工具包。
Author: Hellohistory
Project-URL: Homepage, https://github.com/Hellohistory/zenlp
Project-URL: Bug Tracker, https://github.com/Hellohistory/zenlp/issues
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Text Processing :: General
Requires-Python: >=3.8
Description-Content-Type: text/markdown
Requires-Dist: tqdm
Provides-Extra: test
Requires-Dist: pytest; extra == "test"

# ZenLP - NLP工具包

![PyPI](https://img.shields.io/pypi/v/zenlp?label=PyPI&logo=pypi&color=blue)
![Python Versions](https://img.shields.io/pypi/pyversions/zenlp?logo=python&label=Python)
![Build Status](https://img.shields.io/github/actions/workflow/status/Hellohistory/zenlp/publish.yml)
![License](https://img.shields.io/github/license/Hellohistory/zenlp)

**大道至简，返璞归真。**

`ZenLP` 是一个为Python设计的极简、优雅的自然语言处理（NLP）工具包。

在大语言模型（LLM）席卷业界的今天，我们常常被其复杂的结构和高昂的资源需求所困扰。
`ZenLP` 回归初心，专注于那些历久弥新、效果稳健且具有高度可解释性的经典NLP算法。
我们相信，优雅的工程实现能让这些经典算法在现代NLP工作流中焕发新的光彩。

本项目旨在为每个算法提供：
* 清晰、完备的文档和注释。
* 符合直觉、易于使用的API。
* 生产就绪的性能和稳定性。

欢迎来到ZenNLP的世界，在这里，我们用最少的代码，解决最核心的问题。

## ✨ 特性

* **极简设计**: 摒弃繁杂的依赖和配置，每个模块都力求小而美，专注做好一件事。
* **无监督与自适应**: 核心算法多为无监督实现，能自动从原始文本中学习，轻松适应不同领域。
* **生产就绪**: 所有代码均经过严格测试，并提供类型提示，确保在生产环境中的稳定性和可维护性。
* **教育友好**: 不仅是工具，更是学习经典NLP算法的优秀参考资料。每一行代码、每一篇文档都在传递算法的精髓。

## 🚀 快速开始

### 1. 安装

通过 pip 可以轻松安装 `ZenLP`：
```bash
pip install zenlp
```

### 2. 使用示例：发现新词
只需几行代码，即可从您的语料中发现新词。

```python
from zenlp import discover
from pprint import pprint

corpus = [
    "大语言模型正在引领新一轮的技术革命。",
    "生成式AI的快速发展对内容创作产生了深远影响。",
    "遥遥领先的技术优势使得这家公司备受瞩目。",
    "赛博朋克风格的艺术作品充满了对未来的想象。",
    "这家公司的遥遥领先，得益于其强大的自研芯片。",
    "许多人对生成式AI的未来既期待又担忧。",
    "赛博朋克不仅仅是一种美学，更是一种文化现象。",
]

# 调用 discover 函数
# min_freq: 词语出现的最小频率
# min_pmi: 最小凝聚度 (内部关联性)
# min_entropy: 最小自由度 (外部多样性)
new_words = discover(
    corpus_source=corpus,
    min_freq=2,
    min_pmi=1.0, 
    min_entropy=0.5
)

pprint(new_words)

```

## 📖 功能模块

`ZenLP` 将会逐步涵盖NLP中的多个核心领域，每个模块都遵循“禅”的设计哲学。

* ✅ **`zenlp.discovery` - 新词发现**
    * **功能**: 基于 `PMI + 左右熵` 的无监督新词发现。
    * **状态**: 已完成。


## 🤝 贡献 (Contributing)

我们热烈欢迎任何形式的贡献！无论您是想修复一个Bug、增加一个新功能，还是改进文档，都请不要犹豫。

请在提交前确保您的代码通过了测试，并遵循了项目的编码风格。

## 📜 许可证 (License)

本项目采用 [MIT License](https://github.com/Hellohistory/zenlp/License) 授权。

---
Made with ❤️ and Zenlp.
