拓冰建站拓冰建站
首页 / 资讯中心 / 正文

3步学会汉字拆解:用这个免费Python库让每个汉字的结构一目了然

3步学会汉字拆解用这个免费Python库让每个汉字的结构一目了然【免费下载链接】hanzi_chaizi汉字拆字库可以将汉字拆解成偏旁部首在机器学习中作为汉字的字形特征 | Hanzi Decomposition Library allows Chinese characters to be broken down into radicals and components, which can be used as character shape features in machine learning.项目地址: https://gitcode.com/gh_mirrors/ha/hanzi_chaizi面对满屏密密麻麻的汉字你是否也曾想弄明白赢为什么长这样、谢为什么由三个部分拼成对汉语学习者来说拆解字形是记忆的捷径对做自然语言处理的开发者而言汉字的偏旁部首拆解则是模型重要的字形特征。hanzi_chaizi 正是这样一款开源汉字拆解库——它基于权威的漢語拆字字典数据把任意汉字拆成基础部件一条pip install命令即可上手。当传统做法遇到瓶颈小林是一名小学语文老师她想给孩子们讲清楚明为什么由日和月组成。传统做法是什么翻字典、做幻灯片、手画拆解图。一个字还好办可每周要准备几十个字的课件工作量立刻失控。她想找现成的拆字工具网上的在线网站要么收费、要么一次只能查一个字还经常断网根本没法批量备课。而在另一头读研的阿哲也遇到了麻烦。他正在训练一个中文文本分类模型听说把汉字的字形信息喂给模型能显著提升效果但字形特征这四个字说起来容易——要把几千个常用字挨个拆成部件再整理成结构化数据光这一步就够他加一整周班。两个人的困境看似不同痛点却指向同一个方向有没有一种方式能让汉字拆解变成一件随取随用的小事三步完成一次华丽转身小林和阿哲最终都找到了同一个答案hanzi_chaizi。这个用 Python 实现的汉字拆解库把查询一个字的偏旁部首简化到了三步。第一步安装。项目零第三方依赖纯标准库实现一行命令即可pip install hanzi_chaizi第二步创建拆字器并查询。导入HanziChaizi实例化后调用query方法传入任意汉字from hanzi_chaizi import HanziChaizi hc HanziChaizi() print(hc.query(明)) # 输出: [日, 月] print(hc.query(名)) # 输出: [夕, 口]第三步处理查不到的情况。汉字库里总有拆不动的字比如一凹凸这类基础部件。此时query会返回None你可以传入default参数自定义兜底值print(hc.query(xyz, default[])) # 输出: []三个方法一个循环就能写清楚剩下的交给库本身。小林在课间十分钟就装好了环境阿哲把它接进了自己的特征提取流水线——原来要加一周班的活现在一个下午就完成了。跟访一次完整的课堂走查为了验证它到底好不好用我跟着小林完整走了一遍备课流程。小林这周的课件是赢字。她先单独查询print(hc.query(赢)) # 输出: [亡, 口, 月, 贝, 凡]五个部件一目了然——亡口月贝凡正是那个经典的记忆口诀。接着她把本周要讲的二十多个生字放进一个列表用几行代码批量拆解chars [赢, 谢, 懂, 解, 想] for char in chars: print(char, →, hc.query(char))结果整齐地列出来她直接把这些数据贴进课件配上简单的连线动画一节看字形、记结构的课就这么成型了。最让她意外的是反馈孩子们不再死记硬背而是主动问她这个字的左边是什么、右边是什么因为她把拆解过程变成了课堂互动的一部分。阿哲那边同样顺利。他把query(char, default[char])封装进自己的特征提取函数对训练语料里每一个汉字取部件序列再把序列拼接成向量特征。模型跑出来的准确率比只用字向量时高了一截——这正是项目设计之初想要的效果字形相似的字拆解结果也相似天然适合作为深度学习的字形特征。关于数据来源你可能想问的三个问题在试用过程中阿哲问了几个问题我把答案一并整理在这里。Q1数据从哪来拆得准吗A库的数据来自漢語拆字字典CC BY 3.0 许可覆盖两万多个汉字并且同时包含简体与繁体两套数据。原始文本就放在仓库的raw_data/目录下可以自行核对。Q2为什么有些拆解结果里会出现奇怪的字符A像农表衣囊这类字拆解结果里可能出现一个私有区字符\uf7ee。它代表衣的下半部分撇捺结构这部分在标准 Unicode 里没有独立编码只能用私有区字符占位。看到它别慌那是数据的正常表达。Q3万一遇到拆不开的字怎么办A确实有一批字无法再拆比如一马骨凹凸。项目专门维护了一份non_decomposable.txt把所有拆不动的字列了出来。你可以读取这份清单做特殊处理或者干脆让query返回原字符作为降级方案。为什么说它是一把顺手的钥匙回看小林和阿哲的经历hanzi_chaizi 的价值不在于功能多炫而在于它把拆字这件事的门槛降到了最低。论准确性它背靠权威拆字字典论速度数据在实例化时一次性预加载查询在毫秒级完成论集成核心就是一个类、一个方法任意 Python 3.10 环境都能跑。更难得的是整个项目完全开源从raw_data/parse.py的数据生成脚本到make dev、make test、make format、make dist一整套现代开发流程想要扩展数据库或定制规则照着 develop.md 就能动手。你甚至可以用下面的命令从原始数据重新生成数据文件uv run python raw_data/parse.py当然它也有边界——目前提供的是单层拆解遇到赢会直接给出五个部件而不会继续拆亡口这些字本身。但作为教学辅助、字形特征提取和汉字结构研究的基础设施它已经足够好用。现在轮到你的第一个字了回到开头那个问题为什么明由日和月组成答案其实一直藏在汉字本身里只是过去我们缺少一把把结构剖开的钥匙。如今钥匙就在手边——装好库、跑起query从你最熟悉的那个字开始拆起。pip install hanzi_chaizi也许你会用它做一节生动的语文课也许你会把它接进某个 NLP 模型的字形特征模块又或者你只是想看看自己的名字由哪些部件拼成。无论哪种动手的那一刻你就已经踏进了汉字结构的奇妙世界。【免费下载链接】hanzi_chaizi汉字拆字库可以将汉字拆解成偏旁部首在机器学习中作为汉字的字形特征 | Hanzi Decomposition Library allows Chinese characters to be broken down into radicals and components, which can be used as character shape features in machine learning.项目地址: https://gitcode.com/gh_mirrors/ha/hanzi_chaizi创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门