访问量: 40 次浏览
最近完成了一项工作,对常用的中文分词项目jieba分词进行了修改。
这些年做的工作很多都涉及到中文分词,jieba分词几乎是每个项目必须安装的模块,一直工作非常稳定。 但是由于其代码库长期不再维护,一直是使用中的一个隐患,使用中做过简单的代码修改以去除一些警告。 两年前就有想对其源码进行修改更新的想法,但是由于对自然语言处理并不算了解,没法实际动手。 这次借助于AI工具,得以快速地对项目的各个模块进行了了解,发现项目结构还是比较简单的。 于是就实际动手对其修改,合并了原来的一点工作,中间也大量使用了AI工具。 整体工作量不算大,完成后使用了没有大的问题。目前最新版本已经发布于 pypi 。
源码地址(二者同步): https://github.com/bukun/jieba-py 或 https://gitee.com/bukun/jieba-py
pypi 地址: https://pypi.org/project/jieba-py
安装方式: pip install jieba-py
这个版本是纯Python语言的继续维护,还是有一些意义的。 jieba分词其实被很多语言重新。其中不乏一些项目是可以在Python中直接使用的。
jieba 是中文自然语言处理领域最受欢迎的 Python 分词组件之一。 它支持常用的三种分词模式(精确模式、全模式、搜索引擎模式),以及基本废弃的 Paddle 模式,并拥有强大的词性标注和自定义词典功能。 凭借其简单易用、分词快速、效果优秀的特点,成为了无数中文 NLP 项目的首选基石。
尽管 jieba 依然被广泛使用,但其官方仓库近年来面临着明显的维护停滞,遗留了大量陈旧特性:
paddlepaddle-tiny 或 paddlepaddle 1.8.5 深度学习分词模式已由于版本断代而无法在现代环境正常运行。旧的代码库中其实大部分文件都是这部分内容。pathlib、importlib.resources)的充分利用。借助 AI 的理解与生成能力,对 jieba 进行了全方位的“外科手术”。在这个过程中采用较为保守的策略,主要以代码清理为主。不然AI能做的会更多。
jieba/utils.py , 优化了 Tokenizer 类的初始化流程,使其更加符合现代工程实践。经过 AI 深度改造后的 jieba-py 展现出了显著的优势:
pip 安装包中,其体积约为 19.2 MB;通过剔除废弃内容和无效二进制数据,新版本体积精简至 5.3 MB,缩减幅度高达 72%。在源代码中也移除了生成数据,这些生成的数据比较大,而且实验过程这些数据会不断变化,不再放在代码库中管理。SyntaxWarning 和各种过时告警。在开源软件的生命周期中,许多优秀的项目常因技术栈演进和维护停滞而逐渐沉淀为“技术债”。本项目实践了使用 AI 改造陈旧 Python 项目,效果确实不错。AI 不仅能辅助开发者快速理清复杂的业务逻辑,还能执行枯燥的批量重构任务。利用 AI 工具进行“现代化重启”,可以使优秀的经典算法在新的技术生态中焕发第二次生命。